A working inventory of what's actually under the hood across these projects, grouped by role. The through-line: almost all of it is free-tier or near-zero cost — which is the whole point.
Static hosting with clean URLs; redeploys automatically on every GitHub commit — and runs Berkley's one Pages Function alongside the static files.
Serverless compute — the Bookshelf build bridge, the Poker app, and the Daily Brief engine all run as Workers.
Berkley's single deliberate exception to a static site — the /api/stock endpoint that reads, writes, and password-checks the stock map server-side.
The real-time WebSocket layer behind Poker's live chat, DMs, and notifications.
Shared key-value state — caches Poker's access-list off Airtable, and holds Berkley's per-sauce stock map so every visitor sees the same badges.
Holds Poker's ephemeral data — sessions, comments, DMs, notifications — never reservations.
Domain registrar for berkleypepperco.com, with nameservers pointed at Cloudflare so DNS, routing, and deploys all live in one place.
The editing surface: Bookshelf's library + enrichment + private notes, and the Daily Brief's task data + config-as-data settings table.
Poker's reservation system of record — players, games, RSVPs, capacity, and waitlist order.
System of record for deployed artifacts and assets — Bookshelf's books.json and cover images, the Berkley repo, and source for the apps.
Transactional / branded email — Poker's magic links and notifications, the Daily Brief's report delivery, and Berkley's branded send from its own domain.
Email handoff for the Business of Accounting email gate, Berkley's “Get a bottle” lead capture, and this site's contact form.
Berkley's newsletter list for the footer signup — kept separate from the transactional sender so bulk blasts don't burn its quota.
Routes inbound mail at berkleypepperco.com straight to a personal inbox — no mail server to run.
Poker's app framework, adapted to run on Cloudflare Workers via the OpenNext adapter.
The scheduling heartbeat — drives the Daily Brief hourly, and does a minor cache refresh on Poker.
Utility-class styling pulled from a CDN, with no build step.
The Business of Accounting ships as one self-contained file — content, logic, and state in a single document.
Plain client-side JavaScript for interactivity — no framework where one isn't earned.
The pair behind all of it — schema design, code, content, and the build itself. The wink, made literal.
One small toolbox. Five real products. About $0 a month to keep them all running.