Everything a HouseAccount page is made of
One stylesheet, one script, the marks every app is known by, and the pages shown when an
app is not. Each is at a stable path here; an app on the houseaccount gem
serves the same paths itself, and everything else links them from this origin.
Logos
One drawing per app under /logo, as SVG and as a 512-pixel PNG.

Favicons
What a tab, a phone and a manifest each ask for, per app under /favicon. The pink one is a local machine's.
Palettes
Nine stylesheets under /theme that repaint Bootstrap's ramps; the toggle rotates through them and flips the mode, the way the sidebar's does.
Components
Bootstrap 6 as the house draws it. Every rule that differs from upstream is in css/houseaccount.css.
Buttons and badges
Breadcrumb
Tooltip and relative time
Hover the icon and the time: ·
Phone
The server hands over ten digits and data-controller='phone'; the browser decides the shape, in a cell and in a field.
A cell: 4155550000
A masked value
Toast
Chat
What the chat helper draws: turns in on the left and out on the right, who said each and when, a delivery mark, what a turn cost, an answer being typed, and a field whose suggestion cycles.
Data loaded! What can I help with?
you ✓How much did I bill last month?
Claude · $0.0123$12,400Across 31 jobs, up from $9,800 the month before.
you ✕And the month before?
Wall
The signup flow's background: a cyanotype of the trades a homeowner books, drifting up in columns with the family's marks among them. One attribute draws it, data-controller='wall' on the shell, and the sheet in front is .welcome-card. Blueprint blues in light, inverted in dark.
Welcome to HouseAccount
Enter the phone number of your business and we’ll text a verification code
Tables
A recourse table: sortable headings with an icon, a kept row, the row a write just landed on, and cells that stack under 576 pixels.
Pages
What a HouseAccount app answers when it cannot answer, under /page. The houseaccount engine serves them for every status.
And what each app shows while it is down, under /down: its own mark in the middle, the house's at the foot. The engine answers /down.html with the host's own once Houseaccount.app names it, and Heroku's maintenance page points here.