lifeos
One person's estate — two apps, one ledger, one deploy path.
lifeos is a personal software estate with exactly one user. That fact is not a limitation to be designed around; it is the design. There are no roles, no approvals, no entitlements, and the only authorisation question anywhere in the system is which app is this token for.
Two apps run today:
Finloop
Money. A double-entry ledger, envelopes, bills, projects and a month-end statement.
IAM
Identity. Issues the tokens Finloop validates, and nothing more than that.
Where to start
The estate in ten minutes
What exists, what talks to what, and why it is shaped this way.
Run it locally
One command brings up Postgres, both backends and both frontends.
How a deploy happens
The single gated path from a push to production, and the two switches that must stay off.
Decisions and why
Twenty-one ADRs. The handbook says what is true; the ADRs say why.
What this handbook is for
The repository already carries AGENTS.md, docs/architecture.md, docs/adr/ and a run log.
This site is the reading surface over them, not a replacement — the same rule applies here as
there: the spec outranks everything, and where this page and
docs/lifeos-finloop-spec.md disagree, the spec wins and this page is the bug.
Most of the traffic here is agents working in the repo, so there is a flat index at
/llms.txt rather than a page tree to crawl.