~/devreads

Flavio Copes

https://flaviocopes.com/ · 280 posts · history since 2018 · active

Today

Yesterday

1 min read

Build an Astro integration from scratch using hooks, configuration updates, injected routes and scripts, package metadata, and local testing.

26 Jul

1 min read

A practical mini-course on running real apps on Cloudflare with Workers, Pages, D1, KV, R2, Queues, Durable Objects, AI, and more.

25 Jul

1 min read

Record a product demo video with Playwright instead of screen recording. Script clicks, ffmpeg crop and encode, autoplay video for mobile fallbacks.

24 Jul

1 min read

Learn how Notion as Code defines teamspaces, pages, databases, views, entries, and custom agents in TypeScript, then deploys them with the Notion CLI.

1 min read

Learn load testing with k6 by testing a web API under smoke, average, and spike traffic, adding checks, thresholds, scenarios, and CI.

1 min read

Swap LLM providers with a small adapter pattern. One complete() interface, fetch-based OpenAI calls on Workers, env var switching, graceful degradation.

23 Jul

1 min read

Two more weeks of building: new products, hundreds of pages, new courses, more than 20 tutorials, and a lot that I am not ready to reveal yet.

1 min read

Build a reliable Node.js background job queue with BullMQ and Redis, including workers, retries, backoff, progress, concurrency, and idempotency.

1 min read

Detect a project's tech stack from a public GitHub repo without cloning. GitHub API branch lookup, parallel raw manifest fetches, and signal mapping.

22 Jul

1 min read

Animate SVG connection lines that draw themselves on scroll, with staggered edges, IntersectionObserver, and prefers-reduced-motion fallbacks.

21 Jul

20 Jul

1 min read

Keep pricing and numbers deterministic in AI products. Let the LLM write prose only. A hybrid architecture from a real deployment advisor.

19 Jul

1 min read

Build product analytics with a SQLite events table in D1 instead of Google Analytics: whitelisted events, server tracking, beacons, funnel SQL.

18 Jul

1 min read

Generate sitemap.xml and robots.txt dynamically in Astro SSR without @astrojs/sitemap. API routes, typed registries, and testable pure functions.

1 min read

Generate sitemap.xml and robots.txt dynamically in Astro SSR without @astrojs/sitemap. API routes, typed registries, and testable pure functions.

17 Jul

1 min read

Polar payments in Astro for one-time purchases and subscriptions: server-side checkout routes, lazy customer creation, and entitlement checks in D1.

16 Jul

1 min read

Better Auth setup for Astro SSR on Cloudflare Workers: D1 Drizzle adapter, catch-all auth route, session in middleware, no Node dependencies.

1 min read

Better Auth setup for Astro SSR on Cloudflare Workers: D1 Drizzle adapter, catch-all auth route, session in middleware, no Node dependencies.

15 Jul

14 Jul

1 min read

fstack is my free collection of 13 simple agent skills for Cursor, Claude Code, Codex, and any agent that supports skills.

1 min read

fstack is my free collection of 13 simple agent skills for Cursor, Claude Code, Codex, and any agent that supports skills.

1 min read

A developer's guide to AI: how I use AI agents and coding tools in my daily work, with links to my posts on agent frameworks and workflows.

1 min read

Alpine.js guide: what Alpine is, why it's great for adding interactivity to server-rendered sites, and how it fits the AHA Stack.

1 min read

Learn Astro with this guide: components, props, layouts, data fetching, SSR patterns and real-world tips from running my own sites on Astro.

1 min read

Learn C programming from scratch: variables, pointers, arrays, strings, structures, and the preprocessor. A guided path through the C tutorials on this site.

1 min read

Learn the command line: shells, essential Unix commands, file management, processes and Bash scripting, with a clear path through my tutorials.

1 min read

Learn the Cloudflare developer platform: Workers, KV, D1, R2, Queues, Durable Objects and more, through my hands-on tutorial series.

1 min read

Learn Go programming: a guided path through Go basics, slices, maps, structs, interfaces, plus hands-on projects like CLI tools and a REST API.

1 min read

HTML is the foundation of every web page. Learn tags, forms, images, media and accessibility with this curated guide to the best HTML tutorials.

1 min read

htmx guide: what htmx is, why hypermedia-driven apps beat SPA complexity for most projects, and how htmx fits the AHA Stack.

1 min read

Learn Laravel: a guided path through routing, Blade templates, migrations, Eloquent, authentication, forms, and deployment with Laravel Forge.

1 min read

Learn PHP from scratch: setup, first programs, handling HTTP requests, forms, cookies, sessions, errors, Composer, and deploying PHP applications.

1 min read

Learn Python from scratch: a guided path through variables, data types, functions, classes, modules, files, and the tooling around the language.

1 min read

Learn SQL and databases: database theory, SQL fundamentals like SELECT and joins, plus practical guides to PostgreSQL, SQLite and MySQL.

1 min read

Learn Swift and iOS development: a guided path through Swift fundamentals, optionals, structs, protocols, and building interfaces with SwiftUI.

1 min read

A developer's guide to AI: how I use AI agents and coding tools in my daily work, with links to my posts on agent frameworks and workflows.

1 min read

Alpine.js guide: what Alpine is, why it's great for adding interactivity to server-rendered sites, and how it fits the AHA Stack.

1 min read

Learn Astro with this guide: components, props, layouts, data fetching, SSR patterns and real-world tips from running my own sites on Astro.

1 min read

Learn C programming from scratch: variables, pointers, arrays, strings, structures, and the preprocessor. A guided path through the C tutorials on this site.

1 min read

Learn the command line: shells, essential Unix commands, file management, processes and Bash scripting, with a clear path through my tutorials.

1 min read

Learn the Cloudflare developer platform: Workers, KV, D1, R2, Queues, Durable Objects and more, through my hands-on tutorial series.

1 min read

Learn Go programming: a guided path through Go basics, slices, maps, structs, interfaces, plus hands-on projects like CLI tools and a REST API.

1 min read

HTML is the foundation of every web page. Learn tags, forms, images, media and accessibility with this curated guide to the best HTML tutorials.

1 min read

htmx guide: what htmx is, why hypermedia-driven apps beat SPA complexity for most projects, and how htmx fits the AHA Stack.

1 min read

Learn Laravel: a guided path through routing, Blade templates, migrations, Eloquent, authentication, forms, and deployment with Laravel Forge.

1 min read

Learn PHP from scratch: setup, first programs, handling HTTP requests, forms, cookies, sessions, errors, Composer, and deploying PHP applications.

1 min read

Learn Python from scratch: a guided path through variables, data types, functions, classes, modules, files, and the tooling around the language.

1 min read

Learn SQL and databases: database theory, SQL fundamentals like SELECT and joins, plus practical guides to PostgreSQL, SQLite and MySQL.

1 min read

Learn Swift and iOS development: a guided path through Swift fundamentals, optionals, structs, protocols, and building interfaces with SwiftUI.

13 Jul

1 min read

I built my own agent skill collection: 13 skills, plain names, one job each. Here's why it exists and how it works.

1 min read

I built my own agent skill collection: 13 skills, plain names, one job each. Here's why it exists and how it works.

1 min read

Wire Cloudflare D1 into an Astro SSR app with Drizzle ORM. Bindings, schema, migrations, and local dev with Miniflare in one setup guide.

1 min read

Wire Cloudflare D1 into an Astro SSR app with Drizzle ORM. Bindings, schema, migrations, and local dev with Miniflare in one setup guide.

12 Jul

1 min read

Rate limit Cloudflare Workers API routes with KV fixed-window counters and expirationTtl cleanup. Soft limits that work with KV eventual consistency.

1 min read

Rate limit Cloudflare Workers API routes with KV fixed-window counters and expirationTtl cleanup. Soft limits that work with KV eventual consistency.

11 Jul

1 min read

Four days after my first Summer of Code update: 73 more tools, 12 quiz courses, fstack, a rebuilt Cook with AI, and a Git work log.

1 min read

Four days after my first Summer of Code update: 73 more tools, 12 quiz courses, fstack, a rebuilt Cook with AI, and a Git work log.

1 min read

Sign URLs with HMAC on Cloudflare Workers using the Web Crypto API. Grant time-limited access without sessions or cookies, no Node crypto needed.

1 min read

Why and how I made every post on this site available as clean Markdown. Append .md to any post URL and you get the Markdown source, served as a static file.

1 min read

Sign URLs with HMAC on Cloudflare Workers using the Web Crypto API. Grant time-limited access without sessions or cookies, no Node crypto needed.

1 min read

Why and how I made every post on this site available as clean Markdown. Append .md to any post URL and you get the Markdown source, served as a static file.

10 Jul

1 min read

What Better Auth is and how it works: the auth instance, the database schema, the catch-all route, and the client. Authentication for TypeScript apps, explained.

9 Jul

8 Jul

1 min read

How the Cloudflare Pages build cache speeds up deploys, which directories it restores for each framework, and how to keep your own caches between builds.

7 Jul

1 min read

July and August: no new courses, no launches, just building. A recap of the first week: StackPlan, 140+ free tools, Sitebase, the bootcamp platform, and a new 30 Days of Code course.

6 Jul

1 min read

I launched a new tools section on the site: 90 free calculators and utilities for developers, running entirely in your browser. No signup, no ads.

4 Jul

3 Jul

2 Jul

1 Jul

30 Jun

29 Jun

1 min read

The AI Workshop July 2026 cohort is open for enrollment through July 2nd, covering agents, Claude Code, Cursor, Codex, MCP, skills, and subagents.

28 Jun

27 Jun

26 Jun

25 Jun

24 Jun

23 Jun

22 Jun

21 Jun

20 Jun

19 Jun

1 min read

A comprehensive guide to Flue, the TypeScript framework for building AI agents and workflows, created by Astro co-founder Fred Schott. Agents, workflows, channels, sandboxes, durability, and more.

12 Jun

1 min read

A hands-on tutorial for Val Town, the platform where you write JavaScript and deploy it to a live URL instantly. APIs, cron jobs, email handlers, SQLite, blob storage, and more.

5 Jun

1 Jun

1 May

1 Apr

18 Feb

17 Feb

1 min read

Reference: the 2026 AI-first Web Engineering Bootcamp, a 10-week project-based cohort that started on February 24, 2026.

16 Feb

14 Feb

4 Feb

2 Jan

1 Dec 2025

12 Nov 2025

11 Nov 2025

1 min read

A recap of the React Masterclass launch and what students learn in the course.

22 Oct 2025

20 Oct 2025

19 Oct 2025

18 Oct 2025

1 min read

The Context API is a neat way to pass state across the app without having to use props

15 Oct 2025

14 Oct 2025

1 min read

Announcing the TypeScript Masterclass and what the course helps you understand.

29 Sept 2025

6 Sept 2025

12 Aug 2025

30 Apr 2025

26 Apr 2025

21 Apr 2025

20 Apr 2025

17 Apr 2025

20 Mar 2025

6 Feb 2025

1 Feb 2025

21 Jan 2025

20 Jan 2025

1 min read

A personal take on AI doomerism and why I prefer focusing on what we can build.

1 min read

A quick note about Supabase email rate limits when testing authentication emails.

1 Dec 2024

8 Nov 2024

7 Nov 2024

6 Nov 2024

7 Oct 2024

1 min read

An introduction to the AHA Stack: Astro, HTMX, Alpine.js, and Supabase.

16 May 2024

4 Apr 2024

15 Jan 2024

1 min read

A short reflection on simplicity and why I try to keep software and life less complex.

1 min read

Why I use Alpine.js to add small bits of interactivity without a big frontend framework.

1 min read

Why I use htmx for simple dynamic web interactions without heavy client-side code.

13 Dec 2023

1 min read

Why I like Astro for building fast content sites and flexible web projects.

17 Nov 2023

10 Nov 2023

29 Oct 2023

14 Feb 2023

1 Feb 2023

31 Jan 2023

23 Jan 2023

29 Sept 2022

28 Jul 2022

26 Jul 2022

21 Jul 2022

3 Jul 2022

1 Jun 2022

31 May 2022

28 May 2022

17 May 2022

12 May 2022

3 Feb 2022

12 Jan 2022

1 min read

A big beginner-friendly introduction to programming and the ideas behind writing code.

11 Jan 2022

10 Jan 2022

4 Jan 2022

3 Jan 2022

2 Jan 2022

1 Jan 2022

31 Dec 2021

12 Nov 2021

1 min read

What I learned moving from no-code tools to a small amount of custom code.

3 Nov 2021

1 Nov 2021

1 min read

How low data mode helps when using an iPhone hotspot or limited network connection.

16 Oct 2021

15 Oct 2021

7 Oct 2021

21 Sept 2021

7 Sept 2021

4 Sept 2021

3 Sept 2021

29 Aug 2021

1 min read

A short note about tsundoku, buying books, and why technical books pile up.

27 Aug 2021

26 Aug 2021

24 Aug 2021

16 Aug 2021

1 min read

A personal look at the hard parts of freelancing and what to know before choosing it.

6 Aug 2021

8 Jul 2021

4 Jul 2021

1 min read

How music helps me focus while programming and get into a better working flow.

3 Jul 2021

1 min read

A beginner-friendly glossary of common web development acronyms and what they mean.

2 May 2021

11 Apr 2021

9 Apr 2021

1 min read

A personal note about ideas, attention, and choosing what is worth building.

3 Apr 2021

4 Mar 2021

9 Feb 2021

12 Jan 2021

11 Jan 2021

1 min read

How to update Pi-hole on a Raspberry Pi used as a network-wide ad blocker.

20 Aug 2020

13 Jul 2020

4 Jun 2020

1 min read

A personal note about books, reading, and why I keep coming back to them.

3 Jun 2020

1 min read

Why knowing how to build software feels like a superpower in everyday life.

29 May 2020

23 May 2020

19 May 2020

17 May 2020

15 May 2020

23 Mar 2020

22 Mar 2020

18 Mar 2020

13 Mar 2020

10 Mar 2020

1 min read

Deciding between using an existing service or platform, and building your own

8 Mar 2020

7 Mar 2020

5 Mar 2020

4 Mar 2020

20 Jan 2020

1 min read

Coding is an art, a creative craft, a joyful thing

19 Jan 2020

11 Jan 2020

1 min read

A quick overview of the GPL License

8 Dec 2019

5 Dec 2019

2 Dec 2019

19 Sept 2019

17 Sept 2019

1 min read

What's this syndrome all about? Do you have it? How do you fix the imposter feeling?

7 Sept 2019

16 Aug 2019

12 Jul 2019

1 min read

A detailed description of how I do my videos. Mostly as a reference to myself.

10 Jul 2019

1 Jul 2019

3 Apr 2019

1 min read

Productivity tips and hacks for developers and writers

8 Feb 2019

1 min read

Just like everyone can learn the math basics. Or just like everyone can learn how to drive a car, or learn how to use a smartphone

6 Feb 2019

3 Feb 2019

28 Jan 2019

27 Jan 2019

1 min read

Notes and observations on how to learn things quicker and in a more effective way

10 Jan 2019

8 Jan 2019

29 Dec 2018

26 Nov 2018

1 min read

Find out what does JAMstack mean, and the advantages of this set of technologies

16 Nov 2018

29 Sept 2018

25 Sept 2018

20 Sept 2018

1 min read

Ideas are worthless. Execution plus idea is everything.

22 Jul 2018

7 Jun 2018

11 May 2018

1 min read

The Google Developers Console can be complicated to get right, and it's one of the reasons I sometimes have resistance to using one of the Google APIs. This article aims to make it simple to use

10 May 2018

6 May 2018

1 min read

Meteor is a web application platform. It's a tool for both beginners and experts, it makes it super easy to start, and provides a huge ecosystem of libraries you can leverage

4 May 2018

1 min read

Airtable is an amazing tool. Discover why it's great for any developer to know about it and its API

19 Feb 2018

1 min read

Every time I start a tutorial I find myself in a limbo wondering which app should I build. A to-do app? Not again!