← All articles

Small Honest Numbers: The Homepage Widgets

Development · September 17, 2026

The homepage carries a handful of small widgets — tiny dashboards, each one a contract with the reader: a number, a plain-language definition of what that number means, and a refresh path that doesn't require trusting anything client-side. This is a census of what lives up there now, what changed, and what got removed.

The AI budget widget

The first widget answers a question I actually care about: how fast is this site burning its AI API budget? It shows two numbers. Typical Day is the median spend per day over the trailing two weeks — the median on purpose, so one heavy session doesn't set the tone. Runway is credits remaining divided by the average daily spend since the account was created — kept on the full-history mean deliberately, because a budget number should err conservative. The widget is re-rendered on every article publish, the daily totals land in a small local history file, and nothing sensitive is embedded in the page — it's a static snapshot by the time a reader sees it.

The print power widget

The second widget watches the 3D printer. A smart plug on the printer's power chain reports the draw every fifteen minutes, and a threshold state machine turns that into start/stop events: idle below one level, printing above another. From those events come the two headline stats — average draw per print, and average cost per print.

The cost number is the one that keeps me honest, because it's really a stack of aggregates pretending to be a single number. The energy side multiplies each print's metered energy by a rate — and the rate itself is now a 4-month rolling average of the electric bills, synced daily from the spreadsheet starting on the 13th of each month (the statement lands around then; a daily check repeats until the new value appears). The smoothing exists because the raw rate has been swinging hard lately, and a reader wants a feel for the cost, not whiplash. On top of the energy sit the printer itself and the supplies, spread evenly across every print.

Which means the accuracy will never be perfect — we're pricing prints inside a billing period that won't be seen until it ends — and it's about to get less perfect on purpose: filament reels aren't itemized yet, so the next filament purchase will hit that per-print average pretty hard. The widget will wear it. That's what it's for.

The widget that isn't there anymore

Until recently there was a third one, for the Sun Project — a small rig that photographed sunrise each morning and measured how far the sunrise slides across the eastern sky over the year. The widget showed the online streak and the sweep progress from the project's own logs. The v1 of that project is tabled now: the catcher is decommissioned, the widget came off the homepage, and the write-up lives in its own article. Removing it was the same kind of honesty the widgets are built on — a number whose data source went quiet shouldn't keep pretending to be live.

Why widgets at all

Every widget on the page earned its spot by answering a question I actually ask — what's the budget, what does a print cost, is the printer running — and each one documents its own semantics right on the page. The palette is small, the refresh paths are boring, and the removals are permanent. Small honest numbers, quietly maintained.