← All posts

Day zero: the spine

The first commit. A backend framework, a tool-scoped brain, and the one decision everything else follows from: the AI never gets to invent a fact.

Today's the first commit. Not a prototype, not a proof of concept — the spine. Everything that gets built on top of Neeos over the next year has to sit on this, so it got more thought than a first commit usually earns.

The idea is simple to say and hard to build honestly: one private AI that actually knows your life, instead of a folder of disconnected apps that each know one slice of it. Your training affects your budget. Your calendar affects your recovery. Nothing today connects those two facts, and Neeos exists to be the thing that does.

The decision underneath every other decision

The AI does not compute facts. It reads them. Every number, every record, every "here's what's true" comes from a canonical Postgres database — the model's job is to interpret that data and talk to me about it, never to do the arithmetic itself and hope it's right. That's not a performance optimization, it's a trust one. The day an assistant starts quietly making up a number is the day I stop trusting anything it tells me, and a personal OS that isn't trusted is just a chatbot with better branding.

Concretely, that meant deciding the storage shape before writing a single feature. The early plan was to reuse Atlas's — my other project, the finance engine already running at neeos.ai — encrypted single-JSON-blob vault. It's the right shape for small, bounded financial state. It's the wrong shape for an ever-growing, multi-source dataset that needs to answer questions like "show me every run in the last six weeks where sleep was under six hours." That needs to be relational, queryable, and joinable across domains. So: Postgres, with pgvector for semantic search and S3 for files, and I keep Atlas's good patterns — envelope encryption for the sensitive fields, the auth stack, the operation registry — without inheriting its storage.

What actually landed

None of this is visible yet. There's no screen to show you. But the constraint that everything downstream has to respect — deterministic core, AI only interprets — is real code today, not a sentence in a README.

Newer: A sky that's actually the sky →