Asterie

Brand kit

A cozy pixel-art night diary. Colour, type, components, illustration, motion and words, as the app draws them.

Asterie app icon

Asterie 1.0 · November 2026 · drawn from the code on main

01

Brand

One small page a night, written in a warm little room under the stars.

Asterie is a night diary. You write a few lines before sleep, and each night becomes a star in your sky. The room around you is pixel art: a lamp, a bed, a window full of night, and a character who lives there with you. Everything is small, warm and a little alive.

Voice

WarmIt talks to you, like a friend at bedtime.
BriefOne idea per line. Fewer words than you expect.
UsefulEvery line says what you can do next, or belongs to the cozy world.
QuietNo pop-ups, no system talk, no reassurance.
03

Colour

A warm night, lit by a lamp. Plum darks, paper creams and one honey for the thing to do next. Every colour is a token in AsterieColor or ChromeColor.

#271826
nightThe sky behind every place. Most of the app is this colour.
#3A2338
wallThe room's wall; rows, notes and dark cards.
#2E1C2A
inkWords on paper.
#6B4436
cocoaSecond words on paper, links, pencil lines.
#FCEFD6
paperTonight's page and the letters.
#F7E2BC
parchmentPaper cards, sheets and price tags.
#F3E4D4
creamWords on the night.
#C7A89C
mutedCaptions, values and quiet labels on the night.
#F0B860
amberHoney: the one action on a screen, the chosen tab, the toggle's on.
#F7D27A
starStarlight, Stardust and Plus.
#E8A6A8
pillowSoft rose for small warm details.
#E2725B
warnSomething can't be done or undone. Never system red.

How much of each

Mostly night. Paper where you read and write. Honey is rare on purpose: when it appears, it is the action.

03

Every colour token

Read from AsterieTheme.swift and PixelChrome.swift each time the kit is built.

Night

  • night#271826
  • wall#3A2338
  • margin#38212B
  • ink#2E1C2A
  • roomVoid#030C23The room pack's quiet exterior while its first frame loads.

Paper

  • paper#FCEFD6
  • parchment#F7E2BC
  • cream#F3E4D4
  • muted#C7A89C
  • limitFill#F1D3A2
  • pencilShade#D8C3A5Pencil on paper: the unlit side of a moon drawn on a notebook page.
  • cocoa#6B4436
  • wood#7A4F45

Light

  • amber#F0B860
  • amberDeep#D4953A
  • star#F7D27A
  • starCore#FFEFC6
  • headerStar#F9D98CThe header star sprite's pale gold and its white core (`sheets/sky-sprites.png`).
  • headerStarCore#FFF7E1
  • moonLit#F6E6C6
  • moonDark#2A2650

Accents

  • pillow#E8A6A8
  • rose#E8B4B0A soft rose for second sparkles and puffs on the night, with its pale core.
  • roseCore#FFF6DA
  • lilac#B59AA6A dusty lilac between muted and the wall: small section marks on the night.
  • warn#E2725BSomething can't go there: an invalid placement outline. Warm, not system red.
  • warnDeep#C25844Warn pressed in, and the base a warn button sits on.
  • warnBase#8E3D31

Chrome

  • Chrome.deep#1C1019
  • Chrome.tabBar#2A1824
  • Chrome.tabBorder#5A362F
  • Chrome.tile#4A2E3E
  • Chrome.honeyEdge#D4953A
  • Chrome.outline#4A2A1CThe room's dark wood (`#4A2A1C`): the 2 pt outline round every paper card and button.
  • Chrome.honeyBase#8A562AThe pressed-down base under a honey button.
  • Chrome.sealRose#7E2E36The Plus badge's rose, from the wax seal's shadow.
04

Type

Two faces. Pixelify Sans for names and the one hero action; Poppins for everything you read.

AaPixelify Sans SemiBoldTitles, name tags, the one hero call to action on a screen (arrival, Plus).
AaPoppins Regular · MediumProse, rows, numbers and every other button label.
AsterieTypepixelfont / mediumFor
.display34 ptGoodnight, Thursday.Goodnight, Thursday.Arrival and celebration heroes
.title28 ptYour skyYour skyA place's name in its header
.heading20 ptSeven stars in your sky.Seven stars in your sky.Section and card headings
.body16 ptTell the stars about today.Tell the stars about today.Prose, rows, buttons, written words
.caption13 ptThursday, October 1, waxing moonThursday, October 1, waxing moonNotes, labels, footers

One style per row. Sizes follow Dynamic Type up to the app's cap, so the scale holds at every text size. scripts/check-font-sizes fails on any size named outside the theme.

05

Icons

Icons are drawn, not borrowed: small glyphs on the pixel grid, one or two palette colours, a highlight where light would catch.

  • On the grid. Each glyph is rows of cells (PixelGlyph); a cell is 1, 2 or 3 pt, never a fraction.
  • Palette only. Cream or ink for direction, honey and star for value, lilac and rose for marks.
  • A little light. Stars, sparkles and Stardust carry a pale core; section marks glint one at a time.
  • Turns, not spins. The loading mark is a star that steps through four frames (PixelSpinner).
  • Still to redraw. A few SF Symbols remain (close ✕, search, the Home gear and brush); they are listed as debt.
Pixel icons
Pixel icons
Plus benefit icons
Plus benefit icons
06

Components

Each is drawn from the real code in the DEBUG gallery (-AsterieGallery <page>). Code names in honey.

Buttons
Buttons
Links and sign-in
Links and sign-in
PixelButtonStyle · SteppedButton

.honey · .ghost · .paper · .warn; fullWidth, compact, short; pressed sinks 4 pt; disabled at half opacity

Honey is the one action on a screen (SteppedButton: full width, at the foot). Ghost beside it on the night, paper on paper, warn only for what can't be undone.

Loading

disabled honey with a doing-word label (“Saving…”), or PixelSpinner in place of a price

When an action is under way. Never a system spinner.

PixelLinkStyle

.night · .paper · .star; underlined in its own colour, 44 pt tall

The one text link, for a quiet second way on.

PixelBackButton

.ghost · .paper; chevron and the parent's name

Back, always top left, inside PlaceHeader.

StardustPriceTagStyle · StoreBuyForLabel

parchment tag; honey “Buy for ✦ 400”

A price that can't be bought yet reads as a tag, not a dead button.

SignInButton

Apple black, Google white, on the pixel shape

Sign-in only, in their own fonts and colours.

06

Components, continued

Place header
Place header
Cards and frames
Cards and frames
PlaceHeader(title) { trailing }

back · back + one action · Save · balance

Every place. Back on the left, at most one action on the right, the name in title under them, then the 4 pt wood rail.

pixelCard / SteppedCard

stepped 4 pt corners (1 or 2 steps), 2 pt dark-wood outline, 3 pt hard drop

Every card, sheet, toast and popup. Paper fill on the night for reading; wall fill for notes.

SettingsCard

wall fill, 2 steps

Groups of rows in Settings and Reminder.

JournalWindowFrame · JournalNotebookFrame

wooden window with sill trinkets; notebook with stitched spine

The Journal's calendar and its notebook only.

NotebookPaper

ruled lines and fibre specks

Under letters and the writer's page.

06

Components, continued

Toggles, tabs, chips
Toggles, tabs, chips
Settings rows
Settings rows
PixelToggleStyle (.pixel)

off: crescent on deep; on: full moon on honey with a star; disabled faded; a sparkle burst and a haptic on change

Every on/off setting.

SteppedTabs

chosen: honey with ink; others: tile with cream

Switching shelves of one place (Store, Decorate, You).

SteppedChip

with an action (ghost), info only, compact

A small icon and a value: the balance, the week.

StoreBalanceBar

balance chip + honey “+” when packs can be sold

Top right of Store and Get Stardust.

SettingsSection · SettingsRowLabel

chevron · value · sublabel with provider mark · busy spinner · bell · destructive (pillow) · See Plus sparkles

One row per choice, 52 pt tall; the chevron hops forward when pressed.

06

Components, continued

Sheets and drawers
Sheets and drawers
Alert
Alert
SteppedSheet

a parchment card that rises 24 pt into place

Home and Store sheets: balance, buy moments.

PixelSheetBackground

wall with stepped top and wood edge

Full-height sheets on the night (Sign in again).

WoodDrawer

honey rail, pinned tabs, contents fade under them

Under a room you are changing: Decorate and You.

paperAlert / saveFailedAlert

the system alert, buttons in amber on the night and cocoa on paper

Only to confirm something that can't be undone, or when saving failed. Offers arrive as letters, never pop-ups.

06

Components, continued

Home cards
Home cards
Writer
Writer
DioramaWriteCard

before writing (“Write tonight's page”) · after (“Tonight's page”)

Tonight's book at the room's edge, always in thumb reach.

LetterCard

a memory with its words and moon line · a missed night with its moon · a quiet note

Anything Asterie wants to tell you arrives as a letter in the room, with one action and a close.

PageLimit

counter from 80% (172 / 200) · full on Free with See Plus · full on Plus

Under the words in the writer: the ink pot says the page is full.

06

Components, continued

Plus benefit tiles and plan cards
Plus benefit tiles and plan cards
PlusBenefitIcon
PlusBenefitIcon
Benefit tile

wall card, icon with a twinkle, title in body medium, line in caption

What Plus adds, two to a row. Drawn inside PlusPaywallView.

Plan card

chosen: parchment with an amber outline and ink words; other: wall; trial chip in star

Choosing yearly or monthly. Drawn inside PlusPaywallView.

PlusBenefitIcon(index:)

14 × 14 cells at 3 pt

One per benefit, on Plus and in letters about Plus.

07

Illustration

The room is the app. A tiny isometric bedroom at night, drawn on a strict pixel grid and lit from inside.

  • Whole pixels. Art is drawn at 1 art px and shown at a whole-number scale, never smoothed.
  • Light in steps. Lamps and moons glow in hard bands with a checker between them, never a gradient.
  • Warm inside, cool outside. Honey lamplight against plum and indigo night.
  • Small and lived-in. A mug, a plant, a cat-sized rug. Pieces you can buy follow you from room to room.
  • Nothing clips. Furniture, glows and art stay inside their room and their frame.
The room up close
The room at full resolution, 2× up: every edge on the grid.
Home: the room
Home: the room
07

Character and landscape

You: the character, dressed from the drawer
You: the character, dressed from the drawer
Welcome: the cottage landscape behind every arrival
Welcome: the cottage landscape behind every arrival
A night's page: paper, moon and the words
A night's page: paper, moon and the words
Character up close
Characters are layered parts on the same grid as the room.
Landscape up close
The landscape is one cached image; only its sky moves.
08

Motion

Pixel art moves like pixel art: in steps, twelve times a second. Interface eases; the world ticks.

smooth (UI)stepped, 12 Hz (art)
ArtCozyMotion.tick = 1/12 s. Halos breathe in 4–6 steps; sparkles twinkle off most of the time, then flash; the spinner turns through four frames.
InterfaceCozyMotion.spring (0.42 s, 0.68) for sheets, cards, toasts; .pop for small things landing; .swing for hanging tags. Buttons sink 4 pt in 0.05 s and three honey pixels hop off on release.
Reduce MotionLoops are left out or hold one frame (the spinner's first, the landscape's first, glows lit mid-breath). Places cross-fade instead of zooming. Sheets fade instead of rising.
What pausesThe room stops when you leave Home, open the writer or a sheet, lock the app, or leave it. The arrival landscape holds while a sign-in is under way. The Plus night holds during a purchase and off screen.
Plus: its night moves in steps
Plus: its night moves in steps
09

Copy voice

Asterie talks to the person holding the phone, in the room's own words.

BeforeAfterWhy
Stardust is resting for now. Your balance and everything you own are safe.→Stardust is resting for now. Keep writing to fill your jar.Says what to do next, not that things are safe.
Kept. Goodnight, Thursday.→Goodnight, Thursday.The moment shows it is saved; “kept” is our word, not yours.
Seven nights kept.→Seven stars in your sky.The milestone belongs to the world.
Your changes are still here.→Check your connection and try again.An action instead of reassurance.
The price or catalog changed. Review the current price before buying.→The price changed. Check it, then buy again.Plain words; no “catalog”.
It’s yours / to keep→Place it / in your roomThe next step, not a promise.
Replace saved words→Save my versionThe verb is Save.
Open Asterie to share your room→Tap to bring your room here.An action, and the app never types its own name.
10

Layout

Measured from the code, in points.

‹ Room Save You 44 pt bar8title 28 · 10 below 4 pt wood rail16 pt margins

PlaceHeader: back left, one action right, the name below, then the rail.

Cards

Corners step in 4 pt (one step for chips, rows and buttons, two for cards and sheets). Outline 2 pt dark wood #4A2A1C. Hard drop 3 pt in deep at 55%.

Buttons

At least 44 pt tall (38 drawn when short, tap area still 44). Face 8 pt × 16 pt padding (10 when compact). Base 4 pt below.

Rows

52 pt minimum, 16 pt sides, 10 pt top and bottom. Dividers 1 pt inset 16 pt. Section caption 6 pt above its card, 14 pt between sections.

Spacing

Pages use 16 pt sides (Plus 20). Steps used: 4 · 6 · 8 · 10 · 12 · 14 · 16 · 20 · 24.

Settings
Settings
Store
Store
Asterie

Built from design-site/build.py. Screens come from ComponentGalleryWalk; colours from the Swift theme. Rebuild after a visual change so the kit and the app stay the same thing.