Hi, I'm Dan · freelance · UK & remote
Cloudflare developer in the UK: Workers, Pages, D1 & R2
Need someone who already knows Cloudflare's developer platform? I build, fix and extend apps on Workers and Pages, using D1, KV, R2, Durable Objects, Cron Triggers and Turnstile, and I handle the DNS, caching and security that go around them. You deal with me directly and get a fixed-price quote before any work starts.
- ✓ Production apps on Workers & Pages
- ✓ Head of IT Services by day
- ✓ Reply within 24 hours
What I can do on Cloudflare
Workers & APIs
REST APIs, webhooks, form handlers and authentication (JWT, TOTP) on Workers, in TypeScript. Rate limiting, Cron Triggers for scheduled jobs and transactional email from the Worker.
D1, KV, R2 & Durable Objects
Relational data in D1 with proper schemas and migrations, fast lookups and caching in KV, document and asset storage in R2, and real-time multi-user state with Durable Objects.
Pages & static sites
Fast static sites on Cloudflare Pages or Workers static assets, with Pages Functions for forms and APIs, custom headers, clean URLs and Git-based CI/CD deploys.
Migrations to Cloudflare
Move a site or app from shared hosting, WordPress, Netlify or Vercel to Cloudflare. DNS cut-over, 301 redirects to protect your rankings, SSL and email records, with no downtime surprises.
Security & spam protection
Turnstile on forms with server-side verification, Content Security Policy and security headers, WAF and rate-limit rules, and bot settings that block abuse without blocking customers.
Fixes, reviews & speed
A broken deploy, a Worker throwing 500s, a slow site or a confusing DNS zone. I'll find the cause, fix it and explain what happened in plain English.
Things I've built on Cloudflare
Real-time collaborative design editor
A browser-based design tool where several people edit the same document at once. Served from Cloudflare Pages with Pages Functions for the API, Durable Objects for live collaboration sessions, D1 for app data, KV for saved designs and R2 for uploaded assets. Admin access is protected with JWT sessions and TOTP two-factor authentication.
Secure document-signing web app
An installable web app (PWA) for sending and signing documents. A TypeScript Worker serves the app and API across several custom domains, including a separate admin domain. Documents live in R2 and records in D1. Notification emails are sent from the Worker, Cron Triggers run scheduled housekeeping, and rate-limiting bindings protect the login and API routes.
Business proposal microsite
A client-facing proposal site on Cloudflare Pages, with a Pages Function that sends enquiries through Mailgun's EU region so data stays in Europe.
Internal tools & static sites on Workers
Internal business apps and public sites deployed as Workers with static assets and custom domains, replacing traditional hosting with zero servers to patch.
Client and internal projects are described without names. Happy to walk through the architecture on a call.
Not everything belongs on Workers. I also run apps on Linux servers (Nginx, Docker), Microsoft Azure and DigitalOcean, and I can put Cloudflare in front of existing servers for DNS, caching, SSL and WAF protection. You get the right platform for the job, not the one I happen to prefer.
Case study: how this site runs on Cloudflare
> Hosting. Hand-coded HTML, CSS and JavaScript served by Cloudflare Workers static assets and deployed from GitHub. Every push to the main branch goes live automatically. No server, no database, nothing to patch.
> Contact form. The form posts to a Worker on api.stackedbydan.dev. Turnstile protects it from bots, and its script only loads when a visitor scrolls near the form, so it doesn't slow down the first page view.
> Security. A _headers file sets a Content Security Policy, HSTS, frame and MIME protections and a locked-down Permissions-Policy on every response.
> Speed. Brotli compression, year-long immutable caching for versioned CSS and JS, non-blocking fonts and no page-builder overhead. Demo sites run on their own subdomains of the same zone.
How we'd work together
Tell me the problem
Send a short brief: what you're running on Cloudflare (or want to), what's broken or missing, and any deadlines.
Fixed-price quote
Within 24 hours you get a fixed price, a timeline and exactly what's included. Bigger builds are split into stages.
Build in your account
I work in your repository and Cloudflare account with scoped access, so everything stays yours and nothing is locked to me.
Handover
You get working code and a written summary of what changed and why. Ongoing help is available as an optional extra.
Cloudflare questions
Yes. I can pick up an existing Worker or Pages project, find and fix bugs, add features, migrate from Pages to Workers static assets, or add D1, KV, R2 or Durable Objects. I'll read the codebase and wrangler config first and tell you honestly what I find.
Usually yes, with the least access needed. The safest set-up is to add me as a member of your Cloudflare account with a scoped role, or to work in a repository that deploys through your own CI. Everything stays in your account, and you can remove access at any time.
Every job gets a fixed-price quote after a short call or written brief, so you know the cost before work starts. Small fixes such as DNS, redirects, a broken Worker or Turnstile setup are quick jobs. Larger builds are scoped and quoted in stages.
Yes. I rebuild WordPress and page-builder sites as fast, hand-coded static sites on Cloudflare Pages, with 301 redirects from old URLs so you keep your Google rankings, plus DNS, SSL and email records handled for you. See the website packages for fixed prices.