← Latimer Woods

Stack

What we build with, and what we refuse to ship with.

Edge-first by default. Every product runs on Cloudflare Workers, talks to Neon Postgres through Hyperdrive, and pulls language work from a three-tier LLM cascade. Everything below is in production right now across the brand surfaces — not a roadmap, not a wishlist.

Architecture diagram

Brand surfaces · public selfprime.net capricast.com cypherofhealing.com apunlimited.com Edge runtime · cloudflare Workers + Hono router JWT auth via Web Crypto · TypeScript strict · ESM only · tsup build Cloudflare Pages Static + SPA surfaces Data · stateful Hyperdrive → Neon Postgres R2 (objects) KV (config) Durable Objects (WS) Stream (video) Language · llm cascade Cloudflare AI Gateway Anthropic (tier 1) Grok (tier 2) Groq (tier 3) Integrations · external Telnyx + Deepgram + ElevenLabs Resend (email) Stripe (payments) GitHub Actions · GCP Secret Manager (WIF) Observability · always-on Sentry (errors) PostHog (product) factory_events (first-party) Synthetic mon.

Why this stack

Eight decisions, each opinionated, each load-bearing.

Edge over region

Cloudflare Workers everywhere

Every API runs on Workers, not on a single-region container or serverless function. We get sub-100ms TTFB to every user on Earth without managing capacity, and cold starts vanish because there are no cold starts. The cost: no fs, no process.env, no Node built-ins. Worth it.

Router

Hono, not Express or Next

Hono is the only router we found that treats Workers as a first-class runtime and not a polyfill target. The whole framework is smaller than Express's middleware loader. Type-safety on routes and middleware is real, not vibes.

Database

Neon Postgres via Hyperdrive

Postgres because it's still the most reliable thing we can run a business on. Neon because branching gives every PR a real database. Hyperdrive because connection-pooling from the edge is otherwise a load-bearing footgun — we get a sane env.DB binding and no connection storms.

Auth

JWT via Web Crypto, not a library

We sign and verify JWTs ourselves with the Web Crypto API. No jsonwebtoken, no framework auth helpers. The verification path is ~40 lines, every line is auditable, and we never get bitten by a transitive CVE in a parsing library we never used.

LLM

Three-tier cascade: Anthropic → Grok → Groq

Tier 1 is Anthropic for anything where output quality is product-defining. Tier 2 is Grok for high-volume work that tolerates more variance. Tier 3 is Groq when latency dominates correctness. All three go through Cloudflare AI Gateway so we get one rate-limit ceiling, one cache, one set of logs, and an instant failover path if any provider goes dark.

Frontend

Static-first, hydrate only what moves

Pages serve static HTML from the edge. JavaScript loads only where it earns its weight — pulse hydration, contact form, video playback. This page you're reading is under 5KB of JS. Most landing-page React bundles are 30× that for less.

Secrets

GCP Secret Manager via Workload Identity Federation

No secrets in GitHub Actions repo settings, no secrets in wrangler.jsonc vars, no secrets in source. CI authenticates to GCP via WIF (no service-account JSON), fetches what it needs at job start, exports to step env, and the secrets are gone when the job ends. Rotation is one place, not seventeen.

Public surface

Same-origin curated JSON, no public APIs

The pulse data on the landing page is a build-time JSON file, same origin, no auth — because there's nothing to auth. Operator endpoints stay behind authenticated Admin Studio routes. The public surface advertises proof, never plumbing.

← Back to Latimer Woods