← All posts

A sky that's actually the sky, and signing in with Apple

Real moon and sun positions behind the home screen, Sign in with Apple, and the first three modules move in: Citadel, Odyssey, and Kin.

Three days in, and Neeos has a face for the first time. Not a dashboard — a sky. The home screen's background is a living gradient that tracks the actual sun and moon, so opening the app at 6:40am looks different than opening it at 7:10am, and neither state is one I chose by hand. It's the first thing about this app that feels like it belongs to me specifically, and not to a component library.

It's also the first real test of the rule from day zero: things that can be computed should be computed, not stored and hoped to stay in sync. The sky doesn't have a "mood" column in the database. It's a pure function of where the sun is, right now, wherever you are. That's the same discipline that'll show up again and again over the next few weeks, in places that have nothing to do with weather.

Getting in the door

Sign in with Apple landed today too, alongside a paywall model I'm still not fully happy with — an all-apps-visible catalog where subscribing unlocks everything at once, rather than module-by-module. It's simple, which matters more right now than being clever. I'd rather ship the boring version and learn what's actually wrong with it from use than theorize about pricing before there's a single real user.

Underneath the paywall is something less visible but more load-bearing: a flag-gated, reversible row-level-security bootstrap. Neeos is single-tenant today — it's just me — but I built the isolation boundary now, behind a flag, rather than retrofitting it later once there's real data to migrate. Turning a single-tenant app into a multi-tenant one after the fact is one of those jobs that's much cheaper to avoid than to do.

The first modules that aren't Atlas

And then, in the same stretch: Citadel (documents), Odyssey (travel), and Kin (the people who matter) all get their first dashboards, backend ops, and tenant-isolated tables. This is the moment "personal operating system" stops being a pitch and starts being a thing you can actually open three different screens of. Each one is still thin — a shell more than a feature — but they all go through the same operation registry, the same auth, the same database discipline that Atlas already proved out. That reuse is the entire point of building the spine first.

← Newer: Atlas learns to budget Older: Day zero: the spine →