SpareThought design system

SpareThought is a handwritten journal, ToDo list and calendar for Android, built for two devices that share one theme and one set of components: an e-ink tablet (the main device, BOOX-class, 702 × 936 dp portrait) and a colour phone companion (411 × 869 dp, down to 360 dp). Everything here is implemented in Jetpack Compose. The colours are fixed; what this system governs is layout, hierarchy, spacing and behaviour.

Principles

Content fundamentals

Write in plain, human English, in sentence case, addressing the user as "you" only when necessary. No emoji.

Visual foundations

Colour

Type

Spacing, shape and lines

Sizes and touch

Motion

Containers: which one to use

Need Phone Tablet
A task with a decision (edit, create, confirm) Bottom sheet, footer with Cancel + primary Centred dialog, dialog-standard (editors dialog-editor)
Pick one value (date, time, colour, preset) Bottom sheet or small centred dialog Centred dialog, dialog-narrow (400 dp)
Confirm something destructive Small centred dialog Small centred dialog
A list to browse (Topics, Saved meeting notes, Settings) Bottom sheet Centred dialog, 800 dp tall, search and count in the heading
Actions on one item Menu hanging from that item's ⋮; the row shows as active Same
A value tied to a control (journal date, meeting details, pen presets) Sheet Popover anchored under the control
More editing tools » tray: icon strip above the bottom tool bar (two rows) » tray: one icon row under the app bar

Iconography

Stroke icons on a 24 viewBox, 1.75 stroke, round caps and joins, currentColor. In code, use the closest Material Symbols Outlined glyph: notebook (saved meeting notes), calendar_month, search, cloud with a status mark (sync), settings (standard cog), check_box (ToDos), sell (topics), edit, ink_eraser, lasso_select, undo/redo, chevrons, more_vert, delete, lock / lock_open, zoom_in. Icons sit in 48 dp targets; icon-only buttons always carry a content description ("Page 2 of 3", "More actions for kubernetes").

Accessibility