Workers-rendered marketing & content sites
Astro on Workers. Edge-cached HTML. Sub-50 ms TTFB anywhere on the planet. This site itself is the example.
— Practice / Cloudflare
We don’t use Cloudflare as a CDN bolted onto an AWS app. We build on the platform — Workers as the runtime, D1 / R2 / Vectorize as the data layer, Durable Objects for state, Workers AI for inference. The result is software that’s globally fast, cheap to run, and small in surface area.
What we ship
Astro on Workers. Edge-cached HTML. Sub-50 ms TTFB anywhere on the planet. This site itself is the example.
Anthropic / OpenAI / Workers AI calls from inside Workers. Cached embeddings in Vectorize. Durable Objects for conversation state.
Model Context Protocol servers that run anywhere, scale to zero, and integrate with Claude Desktop, Cursor, and other MCP clients.
A single-actor model for chat rooms, collaborative tools, and live agents. WebSockets first-class. No external Redis cluster to operate.
Cloudflare Workflows for retry-safe, durable execution of multi-step processes — RAG ingestion, billing reconciliation, batch AI calls.
Pages → Workers, Lambda → Workers, Cognito → custom auth, RDS → D1 or Hyperdrive. Done with rollback, not faith.
Stack — opinionated
Runtime
Cloudflare Workers (TypeScript)
Hosting / pages
Workers · Pages (legacy)
Databases
D1 (SQLite) · Hyperdrive (Postgres) · Durable Objects
Object storage
R2
Vectors
Vectorize
AI inference
Workers AI · Anthropic · OpenAI
Async / queues
Queues · Workflows · Cron Triggers
Auth
Cloudflare Access · custom JWT on Workers
Observability
Workers Logs · Tail · Logpush
Build & deploy
Wrangler · Workers Builds · GitHub Actions
Why specialise
A team that builds across AWS, Vercel, and Cloudflare every quarter knows the menu. A team that builds on one platform every day knows where the sharp edges are. We chose Cloudflare because it’s the right architecture for almost every product we want to ship — globally distributed, edge-first, AI-aware, and cheap to operate.
Why not?
If your app needs an enormous monolithic Postgres with hundreds of GB of working set, or a long-running stateful background process measured in hours, the platform fights you. We’ll tell you that — and we’ll point you somewhere else if it’s the right call. Honesty is part of the engagement.
— Cost calculator
Drag the inputs. Cost updates live. The Lambda figure is at minimum-128MB allocation in us-east-1, including the API Gateway it needs to serve HTTP — your real-world AWS bill is usually higher (more memory, egress, logging).
For most marketing sites: 1–5ms. For SSR pages with template-heavy rendering: 5–15ms. For AI inference with calls to Anthropic / OpenAI: the CPU-ms cost is mostly waiting on the upstream — billed as wall time, typically 50–200ms. Hit /contact for that scenario; it's a different cost model.
— From the GitHub
Working production patterns, MIT-licensed. Both deploy to your own Cloudflare account in under five minutes. Companion blog posts explain the architecture in full.
Production RAG pipeline on Cloudflare Workers
Production MCP server on Cloudflare Workers
Tell us the shape of the workload, the constraints, and the timeline. We’ll respond in writing within a business day.