Skip to the content

Capsid menu

Inside Foxhound

Its 12 parts, what each runs on, and the lines between them: the containers of the C4 model, inside the system's boundary, and the 2 it works with outside it.

The drawing

Inside Foxhound
The same map as a list

Runs everything

  • Capsid The store, the queue, and the credentials every other project runs through. mcp.dustinedwards.info Its page Capsid

Shared parts

  • d1-dump shared Backs up each table of a D1 database, keeps the backups on a schedule, and drills the restore. Its page d1-dump
  • devkit shared Shared CI workflows, Renovate rules, and test helpers. Its page devkit
  • site-runtime shared Security headers, the rate limiter, and the health format that every site imports. Its page site-runtime
  • Prelum shared Turns finished writing into pages, feeds, and sitemaps. Its page Prelum
  • Capsomer shared The tokens, the shell, and the shared controls every app is drawn with, in plain CSS. capsomer.dustinedwards.info Its page Capsomer
  • site-api shared The contract Carrel uses to publish. Its page site-api

Websites

  • Dustin Edwards Admin admin Runs dustinedwards.info from a chat, covering health, mentions, media, registries, citations, and lab procedures. Writing stays in Carrel. Its page Dustin Edwards Admin
  • Germomics site A podcast and writing site about microbiology and history, with interactive virus and bacteria data pages and browser games. germomics.com Its page Germomics
  • dustinedwards.info site Dustin's personal site. dustinedwards.info Its page dustinedwards.info
  • TXASM site Runs the Texas Branch ASM meetings: registration, abstract submission and review, the program, and the abstract book PDF. txasm.org Its page TXASM
  • julieedwards.info site Julie Edwards's campaign site for the Bluff Dale ISD school board. Its copy lives in D1 and is edited through Carrel. julieedwards.info Its page julieedwards.info

Apps

  • Foxing app A reading app and web platform, Letterboxd for books: a web app, an Expo phone reader and a Discord Activity for reading clubs. foxing.app Its page Foxing
  • Foxhound Admin admin Runs Foxhound from a chat. It holds no Stripe key and no database: every action is a call to the foxhound Worker's admin API. admin-mcp.foxhoundapp.com Its page Foxhound Admin
  • Foxhound app Recovers failed Stripe payments, handles disputes and reports subscription health for merchants, and is paid only on money it recovers. foxhoundapp.com Its page Foxhound
  • Foxing Admin admin Runs Foxing from a chat: stats, users, badges, journal posts and catalog health, all through the foxing Worker. Built, not yet deployed. Its page Foxing Admin

Writing

  • Carrel writing The writing desk, where drafts are written, checked, and published. carrel.dustinedwards.info Its page Carrel
  • Enarratio writing An npm package of charts, with a gallery. enarratio.dustinedwards.info Its page Enarratio
  • Writing private Dustin's books: scenes, outlines and story bibles, which Carrel reads and commits through its own GitHub App. Its page Writing

Tools

  • Skills tool The instructions AI sessions follow. Its page Skills
  • Private skills private Dustin's own session setup, which every AI session loads beside the public skills. Its page Private skills
  • capsid-bench tool The study harness that compares Claude Code with and without Capsid on the same tasks, scored on hidden tests. Its page capsid-bench
  • Capsid backups private Mirrors Capsid's daily database dumps off Cloudflare every day, so losing the account does not lose the store. Its page Capsid backups
The parts of Foxhound
PartKindRuns onWhat it does
App WorkerworkerReact Router 8 on a Cloudflare WorkerServes foxhoundapp.com: marketing, sign-in, the merchant app, Stripe webhooks and the admin API.
foxhounddatabaseD1Accounts, merchants, payments, recoveries, disputes and billing.
foxhound-backupsbucketR2The nightly D1 dumps.
MoneyWriterdatabaseDurable ObjectSerialises every write that moves money.
CronLockdatabaseDurable ObjectKeeps each scheduled job to one run at a time.
RateLimiterdatabaseDurable ObjectRate limits for the API.
Auth rate limiterdatabaseDurable ObjectRate limits for sign-in.
foxhound-auditqueueCloudflare QueuesFree revenue audits, run one at a time off the request.
foxhound-emailqueueCloudflare QueuesOutgoing recovery and account mail.
foxhound-email-dlqqueueCloudflare QueuesMail that failed every retry.
foxhound-email-eventsqueueCloudflare QueuesDelivery events for sent mail.
Scheduled jobscronWorkers cron triggersRecovery every five minutes, daily sweeps and backup, weekly digests, and monthly billing and audits.

Outside it

How they connect