A private, single-user app, with Today, Life, Money, Creator and Work behind one quick-capture box, rebuilt in September 2026 to replace its first version and Bridge. It keeps money, journal and health records online, so the database enforces ownership on every table, sign-in needs an authenticator code, and AI runs only on my own Mac.
Status: Live since 30 Sep 2026 as a private, single-user app. The September rebuild runs on Vercel with a Supabase Postgres database; it has one account, sign-ups are switched off and sign-in needs an authenticator code. A worker on my Mac runs the AI jobs, the Instagram sync and nightly backups. It replaced its first version, on Vercel since 1 Aug 2026, which was retired at the cutover with its tables moved aside rather than deleted, and my local tracker Bridge, retired the same day. Checked on 9 Oct 2026: the sign-in page answers and the worker is running.
Why an explainer: explained rather than replayed, because the security boundary is a Row Level Security policy in Postgres, and faking a database policy to demonstrate a database policy would argue the opposite of the point — so that one widget is refused, and the recurrence engine and validation schema beside it are real code ported from the app's first version.
What it does: Daily planning was split across two tools that each did half the job: a first version of DENAVUM with three spaces, and Bridge, a laptop-only tracker that had grown an Instagram dashboard and a content studio. The rebuild is one installable app with five spaces behind a single capture box. Today is a daily deck drawn from the other spaces. Life holds tasks, habits, check-ins, a journal, goals, people, documents and reading. Money is a rupiah-first ledger with accounts, budgets, bills, clients, currency rates and CSV import. Creator carries over Bridge's Instagram dashboard, studio, trend research and profile. Work keeps Bridge's three rules: every project has a next action; blocked needs a reason and waiting needs a person; nothing is marked shipped until five handover items are filled in. These rules are enforced in validation, in the domain logic and as database constraints. The capture box reads a typed line, in English or Indonesian, as a spend, income, task, idea, follow-up, date or note, and shows how it will be filed before anything saves; on a phone it also captures offline and sends reminders. The hard part is that one person's money, journal, health and people records live online, so no single check is trusted. There is no way to sign up, and every sign-in needs an authenticator code. Requests pass a host guard and a per-request content security policy. Row-level security is forced on every table: the site's own database role can read nothing until a request's verified identity is set inside its transaction, and a test fails if any table is left unprotected. AI never runs on the server. The site queues jobs in Postgres, and a worker on my Mac claims them and runs them through the Claude Code command line, with schema-checked output, under a database role that cannot reach the money, journal, people or health tables at all. Going live was handled as the migration of a running system: production was backed up, the migration was rehearsed on a copy built from that backup, and the first version's tables were moved into their own schema with a written rollback rather than dropped.