Build Packs
    Claude Code
    Intermediate

    The One-Person Company OS

    forty jobs, one loop, on a VPS you own

    Cover art for the The One-Person Company OS Build Pack
    About three hours for Phase 0, then one evening per prompt
    A $5-15 a month VPS plus the Claude Code subscription you already pay for
    11 prompts
    v1.1.0
    postgres
    n8n
    claude-code
    telegram
    docker
    laya

    A one-person service business that runs on a small VPS: Postgres, n8n, git, Telegram and Claude Code. Eleven prompts build intake, booking, quotes, an approval queue you answer from your phone, and, new in 1.1.0, a classifier that decides before Claude writes plus the weekly marketing loop.

    What you build

    PartWhat it isWhat it does
    EyesA Telegram botMorning brief, approvals, warnings, kill switch
    BrainClaude Code, run on a scheduleReads the rules and the database, writes the brief, drafts what needs a human
    MemoryPostgres plus a folder of markdown (company-os/)Postgres remembers what happened; the folder says how the business works
    Nervous systemn8nEvery inbound thing goes through one event-router; nothing acts on its own
    Handsn8n workflows, one per jobReply, book, quote, invoice, chase, post
    Decides (new in 1.1.0)Laya, a small classifier on the VPSTags any text in about a second for no tokens; code counts and routes; Claude only writes

    Where this comes from

    The map is a published diagram by Structure Webworks, "The One-Person Company AI Operating System": forty jobs in seven departments, one closed loop from marketing to finance and back. Their stack is SaaS (HubSpot, ServiceTitan, QuickBooks, Zapier). This pack keeps the map and puts it on a box you own: Postgres, n8n, git, Telegram and Claude Code on a small VPS.

    Version 1.1.0 adds the marketing half, and it follows two newsletters by re-structure.ai: split the jobs, connect them through one hub every tool reads and writes, keep a human gate on anything public or paid; and, from their Jev article, a small model that only decides, code that counts, a language model that only writes, a human who approves. The deciding part here is Laya, an open classifier (Apache-2.0) that runs on a CPU.

    What you build

    When it is running, a message from a prospect becomes a lead row, a drafted reply and a Telegram ping in under a minute. Quotes price themselves when the job is standard and ask you when it is not. On Monday, one file names the hook your competitors are not using, Claude drafts five posts from your rules files, a gate reads them, and you approve from your phone. Spam never reaches Claude.

    The one thing it deliberately does not do: publish, spend, or send anything a human did not approve. Every send node sits after the approval check, and a kill switch in Postgres stops the whole thing with one row.

    Do you need this? Be honest first

    For a one-person service business that already has customers and loses hours to intake, booking, quoting and chasing. For someone who wants to own the system, read the rules it follows, and change them in a text file.

    Not for a business that does not exist yet, and not for anyone who wants it built for them. If a notebook and a calendar are working, keep them. Prompts 7 to 10 only pay off once prompts 3 to 5 are answering real messages.

    What you need

    • A VPS: 2 vCPU and 4 GB for prompts 0 to 6; 8 GB if you want the classifier up all the time. Any provider with Debian or Ubuntu.
    • Claude Code, logged in, on your laptop and later on the VPS.
    • A Telegram account. The bot takes two minutes.
    • For the receptionist, one channel you bring yourself: WhatsApp through a self-hosted Evolution API, or SMS through Twilio.
    • About three hours for Phase 0, then one evening per prompt.

    What is in the zip

    one-person-company-os/
      README.md                 setup from zero, the eleven prompts, what was run and what was not
      COSTS.md                  every cost, with the date it was read
      TROUBLESHOOTING.md        the errors hit so far, with fixes
      CREDITS.md                where it comes from, what was verified, terms
      prompts/00-06             interview, stack check, morning brief, receptionist, booking, owner queue, quotes
      prompts/07-10             decision desk, weekly research, posts through the gate, triage first (1.1.0)
      starter/                  docker-compose, schema, n8n event-router and Telegram alert, setup scripts
      starter/company-os/       thirty rules files: the folder that is the business
      starter/desk/             desk.py, four recipes, sample data (1.1.0)
      starter/laya/             the classifier's Dockerfile (1.1.0)
      assets/brain-map.png      the forty jobs on this stack
      one-person-company-os-guide.pdf   the same documents as one PDF
    

    What was verified and what was not

    Verified on a real Debian 13 box with Docker 29 and Compose v5: the compose stack, the schema, setup.sh, the event-router on n8n 2.36.8, the kill switch, and the Telegram alert. For 1.1.0, on a Debian box of mine on CPU: Laya 0.4.14 as a service with one checkpoint and a 3 GB cap, desk.py's self-test, and the four recipes on the sample data. The speed and accuracy numbers in the prompts come from those runs.

    Not verified: the prompts as a sequence (0 to 6 and 7 to 10), the morning brief under cron, and Laya inside Docker from the shipped Dockerfile. My box runs the same settings as a plain service. The first people through will find the gaps; their fixes go in TROUBLESHOOTING.md.

    Read the prompt before you run it

    Hand each prompt to Claude first and ask what it plans to build. Compare that to the BUILD section. A prompt costs a minute to fix. A wrong build costs an afternoon.

    More packs