SoloOS is a data-driven “one-person company” operating system for developers: capture work as entries, turn them into events along five business pillars, group them by project, and use review gates so reflection stays mandatory.
From the repository root (the folder that contains pnpm-workspace.yaml and the root package.json), install dependencies and start the API plus web UI:
git clone https://github.com/AtlanticF/SoloOS.git
cd SoloOS
corepack enable
pnpm install
pnpm devDo not run pnpm dev only inside apps/web — that script starts Vite alone and there will be no API on port 3000 (proxied /api calls will fail).
After pnpm dev from the root, your terminal should show two labeled streams, api and web. On first boot the API creates ~/.soloos/soloos.db (SQLite), applies migrations, and logs SoloOS server running at http://localhost:3000. If the API process exits with an error, the dev command stops the web process as well so you are not left with a half-working stack.
Then open http://localhost:5173 in your browser. The Vite dev server proxies /api and /webhooks to the backend on http://localhost:3000.
Optional sample data:
pnpm --filter server db:seedInteractive API reference: http://localhost:3000/docs (Swagger UI).
- Node.js 20 or newer (LTS recommended)
- pnpm 9 or newer (install;
corepack enablethencorepack prepare pnpm@latest --activateworks on many setups). pnpm 11 is supported.
better-sqlite3 is a native dependency; releases in this repo target better-sqlite3 12.x, which ships prebuilt binaries for current Node versions when available, and may compile from source otherwise.
ERR_PNPM_IGNORED_BUILDS/ install script blocked — pnpm 11 requires an explicit allow-list for dependency lifecycle scripts. This repo declaresallowBuildsinpnpm-workspace.yaml. If your checkout is missing it or pnpm adds new packages, runpnpm approve-builds, set the suggested entries totrue, then runpnpm installagain.better-sqlite3compile errors on Node 24 (for exampleC++20 or later required) — prefer staying on the lockedbetter-sqlite3@12.xso a prebuilt binary is used; or switch to Node 22 LTS and reinstall. Ensure Xcode Command Line Tools are installed (xcode-select --install).prebuild-installtimeout — retrypnpm install; the install will fall back to a local compile when no prebuild is downloaded.
git clone https://github.com/AtlanticF/SoloOS.git
cd SoloOS
corepack enable
pnpm install| Command | What it runs |
|---|---|
pnpm dev |
From repo root only: API (apps/server, 3000) + web (apps/web, 5173) in parallel (concurrently, prefixes api / web; if API fails to start, the web dev server is stopped too) |
pnpm --filter server dev |
API only |
pnpm --filter web dev |
Web only (use when you already have the API running elsewhere; Vite still expects 3000 for /api proxy) |
- Open the UI at
http://localhost:5173orhttp://127.0.0.1:5173— both are allowed by the API CORS settings in development. - Watch the server terminal for
[SoloOS API]logs; unhandled errors are printed there and returned as JSON{ "error": "…" }. - If the SQLite file was hand-edited or came from an incompatible build, stop the server, remove
~/.soloos/soloos.db, start again (migrations recreate tables). You can re-seed withpnpm --filter server db:seedif needed.
pnpm build # shared → server → web (TypeScript + Vite production build)
pnpm test # server Vitest suite- Database path:
~/.soloos/soloos.db(created automatically; not in the repo). - Stability: SoloOS is under active development; HTTP shapes and behavior may change. Treat this README as a living overview, not a frozen spec.
Distributed under the MIT License. See LICENSE.
This architecture is not imagined from scratch. It is a cross-disciplinary blend of classical systems engineering, modern personal knowledge management, and familiar software architecture. The line of thought decomposes into two lenses:
- The five subsystems: macro dynamics — how value moves at the “whole person / whole business” level.
- The two entity types: micro implementation — what you actually log and model in the product.
The sections below trace that theory of origin, then state the design spine in one formula.
The five dimensions form a complete value creation loop for a solo operator.
-
Input and Output — These map to Jay Forrester’s system dynamics and a simple cybernetic picture of the self as an information processor: input is the influx of information entropy; output is negentropy (order, shippable work). This aligns with Dan Koe–style language about the mind as a transformer: raw sense data in, meaning and artifacts out.
-
Audience — Framed in terms of network effects and connective value. For a one-person business, long-run leverage often tracks how many durable value relationships you maintain, not only how busy you are in private.
-
Financial — Here the emphasis is not balance-sheet asset hoarding but throughput and flow (as in throughput accounting): the speed of money through the system — runway, ROI, and the cadence of commercial feedback.
-
Energy — Draws on human bioenergetics and a Stoic care for the operator as finite hardware (the “CPU” of the system). You need visibility into friction and depletion (heat loss) and stability of rhythm (cooling, recovery); without that, the rest of the model is fiction.
The implementation spine is: almost everything you care about is an event; durable meaning aggregates under a project.
-
Events (software meaning) — The conceptual twin is event sourcing in software: the system of record is not a mutable “current state” you silently overwrite, but an append-only log of facts (immutable events). Implication: at Review time, you can replay, reframe, and re-attribute the stream. Calibration stays honest because you are not erasing history; you are interpreting it.
-
Project — The organizing idea is close to Tiago Forte’s P.A.R.A. model and August Bradley-style pipelines: separate enduring life areas (pillars / areas) from finite, outcome-driven efforts (projects). A pillar is a long-horizon theme; a project is a bounded bet with a target shape of “done.”
-
“Project” in GTD terms — A project in SoloOS is also aligned with GTD (Getting Things Done): a set of actions converging on a specific deliverable or outcome — a higher-level container for shipping, not a vague label.
If the core idea had a short mathematical cartoon, it might be:
-
Cybernetics — The review gate and periodic retrospectives are a deliberate negative feedback loop: you measure drift between intent and reality, then steer instead of only accumulating data.
-
First principles — Under the surface of dozens of SaaS tools, a solo business still runs on a minimal loop: signal in → processing → shippable value → return → enough energy to run again. SoloOS tries to make that loop inspectable and governable rather than buried in inboxes and dashboards.
DESIGN.md— visual system, colors, and UI principles.brainstorming.md— product and architecture notes (Chinese + English), aligned with the current codebase.