RSSAmplifier

Blog

Flavio Copes

Learn to build software products, put them on the internet, find customers, and create an independent business that can make a great living.

flaviocopes.comRSS feed ↗30 posts

Latest posts

Add a local LLM without making your app depend on it

Add optional Ollama-generated summaries to a Swift app while preserving deterministic fallback data, short health checks, failure backoff, caching, and testability.

AbortController: how to cancel a fetch request in JavaScript

Learn how to cancel fetch requests in JavaScript with AbortController, handle AbortError, set timeouts, and abort on unmount or superseded requests.

The Intersection Observer API

An in-depth tutorial on the Intersection Observer API: entries, thresholds, rootMargin, lazy loading, infinite scroll, scrollspy, visibility tracking, and the pitfalls to avoid.

Cloudflare AI Gateway: put a proxy in front of your LLM calls

Learn how Cloudflare AI Gateway sits between your application and AI models, then route and inspect a real request through a Worker.

Cloudflare Workers AI: run LLMs without API keys

Learn what Cloudflare Workers AI is, connect its AI binding to a Worker, and build a small text summarization API step by step.

HTTP/2 and HTTP/3: what changed and why it matters

Learn how HTTP/2 and HTTP/3 changed connections, multiplexing, compression, QUIC, deployment, and the web performance decisions you make today.

WebAssembly tutorial

Learn WebAssembly step by step by compiling a small module, loading it from JavaScript, and working with exports, imports, and memory.

A deep dive into cmux

Learn how cmux combines terminals, browsers, notifications, SSH, session restore, and automation into one native workspace for coding agents.

What your photos leak: EXIF metadata and GPS

Many photos embed EXIF metadata such as GPS coordinates, timestamps, and device information. Learn what it stores, who strips it, and how to check.

A deep dive into HTMX

Learn how HTMX turns HTML attributes into requests and DOM swaps, with forms, partials, events, history, security, debugging, and real Astro projects.

A deep dive into open-weight AI models

Learn what AI model weights are, what open-weight releases let you do, how local inference works, and why open weights are not always open source.

A deep dive into Hono

Follow one request through Hono to see how routing, middleware, context, Web Standards, and runtime adapters work together.

Herdr vs cmux: which one should you use?

Compare Herdr and cmux for coding agents: persistence, agent state, macOS UX, browser automation, SSH, and multi-agent workflows.

A deep dive into Kysely

Build a small PostgreSQL-backed store with Kysely, from the first typed query to joins, transactions, migrations, debugging, and tests.

A deep dive into Cloudflare Computer

How Cloudflare Computer combines a Durable Object filesystem, Dynamic Worker runtimes, a container backend, FUSE mount, and sync protocol.

A deep dive into Herdr

Herdr keeps coding agents in persistent terminal workspaces, shows which ones need attention, and exposes the whole system through a CLI and API.

Glob patterns explained (and why .gitignore behaves that way)

How glob patterns work: star vs double star, question marks, character classes, brace expansion, and the gitignore rules that trip everyone up.

Deploying Hono on Cloudflare Workers

Deploy a Hono API on Cloudflare Workers with wrangler dev, typed D1 bindings, and a tiny REST endpoint. The final post in the Bun and Hono series.

Prototyped is now free

I moved Prototyped to flaviocopes.com/software and made every product free to download when you subscribe to my newsletter.

How workerd, the Cloudflare Workers runtime, is built

I read the workerd source to explain its server, service graph, V8 isolates, JavaScript APIs, request contexts, and self-hosting model.

Hono: middleware, cookies, headers, redirects

Hono middleware, cookies, headers, and redirects for everyday web apps. Built-in logger, basic auth, and CORS, plus custom middleware and signed cookies.

Use fetch, queue, and scheduled handlers in one Cloudflare Worker

Run an Astro app, background queue consumer, and retention cron from one Cloudflare Worker by keeping each handler small and explicit.

How Astro is built

I wanted to know what Astro does when we run astro build. Let's follow one page from its .astro file to the final HTML in dist.

Kitesurf: Cloudflare's browser built for AI agents

Kitesurf is a browser built for AI agents. Learn how it runs on Cloudflare Workers, how it compares to Chromium, and how to use it.

How bb, the programmable IDE for coding agents, is built

I read the bb source to follow one coding-agent task through its server, SQLite database, host daemon, provider runtime, event stream, and app.

Hono: a modern web framework for JavaScript

Hono is a lightweight JavaScript web framework built on Web Standards. Create an app with Bun, handle routing, read request bodies, and send responses.

SPF, DKIM, and DMARC explained for developers

Why email from your domain lands in spam, what SPF, DKIM and DMARC each verify, example DNS records dissected, and the rollout order.

celld: self-hosted, distributed Durable Objects

celld runs Workers and Durable Objects on your own machines, with one SQLite database per cell and S3-compatible storage.

Vercel Observability tutorial: debug a slow or failing Function

Debug a slow or failing Vercel Function with structured runtime logs, route metrics, CLI filters, request traces, and a verified fix.

I launched HostingPicker

I launched HostingPicker, a free hosting advisor with hand-checked prices, honest tradeoffs, and recommendations based on your project.