--- id: travisjneuman/.claude/edge-computing version: "cd7476f2" license: MIT install: manual updated: 2026-07-17 --- # edge-computing — Edge Computing covers deployment patterns and best practices for running compute at the edge using platforms like Cloudflare Workers, Deno Deploy, and Vercel Edge Functions. Learn edge-side rendering, smart routing, caching strategies, and how to integrate edge databases like D1, Turso, and DynamoDB Global Tables for sub-50ms response times worldwide. Publisher: travisjneuman · Stars: 85 · Updated: 2026-07-17 Install (manual): `git clone https://github.com/travisjneuman/.claude` ## SKILL.md # Edge Computing ## Platforms | Platform | Runtime | Cold Start | Limits | |----------|---------|------------|--------| | **Cloudflare Workers** | V8 isolates | ~0ms | 128MB, 30s CPU | | **Deno Deploy** | V8 isolates | ~0ms | 512MB, 50ms CPU | | **Vercel Edge Functions** | V8 isolates | ~0ms | 128MB, 25s | | **AWS Lambda@Edge** | Node.js | ~100ms | 128MB, 5s (viewer) | | **Bun** | JavaScriptCore | N/A (server) | No hard limits | ## Cloudflare Workers ```typescript export default { async fetch(request: Request, env: Env): Promise { const url = new URL(request.url); // KV storage const cached = await env.KV.get(url.pathname); if (cached) return new Response(cached, { headers: { 'Cache-Control': 'max-age=60' } }); // D1 database const { results } = await env.DB.prepare('SELECT * FROM users WHERE id = ?') .bind(url.searchParams.get('id')) .all(); // Durable Objects for state const id = env.COUNTER.idFromName('global'); const obj = env.COUNTER.get(id); const count = await obj.fetch(request); return new Response(JSON.stringify(results)); } }; ``` ## Edge Databases | Database | Type | Best For | |----------|------|----------| | **Cloudflare D1** | SQLite | Workers-native, SQL at edge | | **Turso** | libSQL (SQLite) | Multi-region replicas, embedded | | **Cloudflare KV** | Key-value | Simple caching, config | | **Durable Objects** | Stateful | Real-time, coordination, counters | | **Upstash Redis** | Redis | Rate limiting, sessions at edge | ## Deno Deploy ```typescript Deno.serve(async (req: Request) => { const kv = await Deno.openKv(); const url = new URL(req.url); if (req.method === "POST") { const body = await req.json(); await kv.set(["items", crypto.randomUUID()], body); return new Response("Created", { status: 201 }); } const entries = kv.list({ prefix: ["items"] }); const items = []; for await (const entry of entries) items.push(entry.value); return Response.json(items); }); ``` ## Patterns - **Edge-side rendering:** SSR at the edge for <50ms TTFB globally - **Smart routing:** Geo-aware request routing based on `request.cf.country` - **Edge caching:** Cache API for fine-grained control, stale-while-revalidate - **Rate limiting:** Sliding window counters with Durable Objects or Upstash - **A/B testing:** Edge-side feature flags without origin round-trips - **Image optimization:** On-the-fly transforms at edge (Cloudflare Images, Imgproxy) ## Constraints & Gotchas - No Node.js APIs (fs, net, etc.) in V8 isolate runtimes - No native modules or binaries (use WASM for compute-heavy work) - Limited CPU time per request — offload heavy work to queues - Cold starts are near-zero for isolates but real for Lambda@Edge - Database connections: use HTTP-based clients, not TCP connection pools [View on SkillFed](https://skillfed.io/travisjneuman/.claude/edge-computing) · [View on GitHub](https://github.com/travisjneuman/.claude)