Where things run
What each part of the fleet depends on to stay alive, and what happens when a piece goes away. Companion to the fleet map: that page covers what the apps do, this one covers where they run. Last verified 2026-08-09.
The short version
Three layers, and they fail independently.
- The rooms — every user-facing app is served from cloud hosting and a hosted database. No app is served from a machine we own.
- The workers — the background jobs that do work while nobody is
watching all run from cron on one server,
slwdev. - Identity — no automated job depends on a person being signed in anywhere. Every agent session runs on its own app API key.
The thing people get wrong: the trigger lives in the app, the muscle lives on slwdev. Queueing a research job in Quill is a row in Quill's database — that part is fully hosted. The runner that picks the row up and does the work is a cron job on the server.
What runs where
| Job | App | Cadence | Runs on | Credential |
|---|---|---|---|---|
| Research runner | Quill | Every 10 min, plus a daily full pass | slwdev | Quill's API key |
| Voice runner | Quill | Twice an hour | slwdev | Quill's API key |
| Ingest runner | Quill | Every 10 min | slwdev | Quill's API key |
| Intake drain | Ford | Every 10 min | slwdev | Ford's API key |
| Stale recompute | Slide Library | Nightly | slwdev | No agent — plain code |
| Portal sync · vault backup · watchdog | Platform | Hourly / nightly / 5 min | slwdev | No agent — plain code |
Terminal, LP Flow, Podcast and DealFlow have no background work on the server. They are entirely self-contained in their hosting.
Every runner is free when its queue is empty — it checks, finds nothing and exits, so a frequent cron costs nothing.
What breaks when something goes away
| If this goes away | What still works | What stops |
|---|---|---|
| Any person's laptop | Everything | Nothing |
| Any person's Claude account | Everything | Nothing |
slwdev |
Every room stays up and usable; nobody is logged out | Quill stops researching, distilling voice and ingesting; Ford stops draining intake; Slide Library stops recomputing |
| Cloud hosting or Supabase | Nothing | The affected room, and any worker that writes to it |
slwdev is the fleet's single point of failure for automation only, never
for availability. That is a deliberate trade — one box is cheap and simple
— but it is worth knowing rather than discovering.
The rule that keeps identity out of it
An app's automated work runs on the app's own API key, never on a person's login. Where a runner cannot find its key it stops, rather than quietly falling back to whoever is signed in on the box.
This is enforced in the runner scripts themselves. It matters because the alternative fails in an invisible way: the work keeps happening and looks healthy, while it is billed to a person and dies the moment they sign out, switch accounts or leave.
Open question
Moving the five slwdev workers into their apps' own hosting would remove the last machine dependency in the fleet. Not scoped — the current arrangement works, and the cost of the move is real.