Two platforms, one design language, zero shared code

On Wednesday evening, the islet web UI got a navigation overhaul: hash routing, a floating action button, a Canvas 2D glucose chart, and dedicated pages for food and treatment input. Eighteen hours later, the iOS app got the same overhaul: TabView, a floating action button, a SwiftUI Charts glucose chart, and sheet modals for input. Same design. Same information architecture. Not a single line of shared code. Safety note: islet is a personal project and is not medical advice. It does not make dosing decisions. ...

February 28, 2026 · 6 min · Christopher Griffiths

One screen: redesigning the food logger

The islet iOS app shipped a day ago with four screens. It already felt like too many. The food logger had five stacked tag pickers, a chat interface hidden behind a button, and a meal history on a separate screen. Every meal entry meant navigating in, filling out a form that looked like a medical questionnaire, then navigating back. The data was right. The experience was wrong. Safety note: islet is a personal project and is not medical advice. It does not make dosing decisions. All carb estimates are informational only. ...

February 25, 2026 · 5 min · Christopher Griffiths

Warm Amber: an iOS companion for islet

For nine days, islet has lived in a terminal. The daemon runs on a Raspberry Pi, the analytics engine crunches numbers in the background, the API accepts uploads — all invisible unless you know the right curl command. Logging a meal meant SSH and a CLI. That works at a desk. It does not work holding a fork. Safety note: islet is a personal project and is not medical advice. It does not make dosing decisions. PCU values are informational only and must not be used as dosing advice. ...

February 24, 2026 · 4 min · Christopher Griffiths

Specification-first: how islet went from zero to a working system in one session

There's a strong temptation, when you know what you want to build, to just start building it. Open an editor, create a file, write the first function. You'll figure out the rest as you go. I’ve done that plenty of times. It works until it doesn’t. The problems tend to arrive around the third or fourth decision that depends on an earlier one you didn’t think through. By then you’re committed and the cost of changing direction is no longer zero. ...

February 22, 2026 · 4 min · Christopher Griffiths