— Practice / Cloudflare

Edge-native software, built on the platform end-to-end.

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

A small, opinionated set of patterns.

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.

AI APIs and agents on the edge

Anthropic / OpenAI / Workers AI calls from inside Workers. Cached embeddings in Vectorize. Durable Objects for conversation state.

MCP servers on Workers

Model Context Protocol servers that run anywhere, scale to zero, and integrate with Claude Desktop, Cursor, and other MCP clients.

Real-time multiplayer with Durable Objects

A single-actor model for chat rooms, collaborative tools, and live agents. WebSockets first-class. No external Redis cluster to operate.

Workflows for long-running pipelines

Cloudflare Workflows for retry-safe, durable execution of multi-step processes — RAG ingestion, billing reconciliation, batch AI calls.

Migrations from AWS / Vercel

Pages → Workers, Lambda → Workers, Cognito → custom auth, RDS → D1 or Hyperdrive. Done with rollback, not faith.

Stack — opinionated

Smaller toolkit, more depth.

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

Choose one platform. Know it deeply.

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?

Cloudflare isn’t the right call for everything.

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

What would your workload cost on Workers?

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).

01M10M50M200M1B
15153050

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

Templates we ship and maintain.

Working production patterns, MIT-licensed. Both deploy to your own Cloudflare account in under five minutes. Companion blog posts explain the architecture in full.

See all open work

Running an existing system on Cloudflare, or migrating to one?

Tell us the shape of the workload, the constraints, and the timeline. We’ll respond in writing within a business day.