Web Development
53 episodes
#6183: Private Podcast Feeds: Tokens, Buckets, and Basic Auth
How do you keep a podcast feed for four people away from everyone else? Tokens, buckets, and the auth podcast apps barely support.
#5942: Service Workers: The Proxy That Never Sleeps
A JavaScript file with no tab, no DOM, and the power to intercept every request your site makes — and why refreshing never updates it.
#5939: Android Notifications: PWA vs Native, What You Actually Get
Push, channels, haptics, and the scheduling gap — what a PWA can and can't do that a native Android build can.
#5869: Scraping AliExpress Specs: Selectors, Agents, or Neither?
Daniel wants to snapshot AliExpress spec sheets into his inventory system. The selector approach is already dead — here's what actually works.
#5425: Preview Branches Without the Branch Dance
Daniel dreads the branch-switching dance. Turns out Vercel's promote-to-production makes most of those steps not exist.
#5233: One Tap Beats Eight Links: Designing a Digital Business Card
Most digital cards fail in ten seconds. Here's the design that actually starts a conversation.
#5017: Reverse-Engineering a Backend from the Frontend
Building a backend when only the frontend exists—database first, then ORM, API, and the hidden traps.
#4826: Schema Design Is an Art Form
Why AI-generated schemas skip the thinking that makes databases survive contact with reality.
#4750: Reverse-Engineering Hidden Web APIs
How to find undocumented APIs in your browser's network tab and hand them to AI agents.
#4662: TypeScript Server Anatomy: Layers & Request Flow
Dissecting a TypeScript backend from runtime to repository — how middleware, services, and data access fit together.
#4641: Mozilla's Hidden Projects: Beyond the Browser
Mozilla is more than just Firefox. Discover Common Voice, Monitor, Thunderbird, and Rust — the public infrastructure projects shaping the open web.
#4475: Where GeoJSON Breaks and KMZ Still Wins
Why your browser freezes on a 1.5GB GeoJSON and when KMZ is actually the better choice.
#4339: How Text Survives a Tunnel: Offline Queueing Deep Dive
What happens when you tap send in a tunnel? The browser, service worker, and backend dance that makes tiny payloads survive offline.
#4179: Why Your Phone Number Link Is Costing You Customers
That non-clickable phone number on your site is quietly bleeding leads. Here’s the five-minute fix.
#4080: How Resumable Uploads Actually Work
What happens when your file transfer fails at 92% — and the app just picks up where it left off.
#4071: Four Tools for a Human Review Layer on AI Tags
Adding human review to AI-generated tags without building an admin panel from scratch.
#3801: Your Apartment in 3D: The Open-Source Stack That Works
Blueprint to VR walkthrough using free tools. No CAD degree required.
#3667: When Your Podcast Outgrows Its Feed
3,700 episodes. 68 days of audio. One RSS feed designed for 10 blog posts. Can podcast infrastructure handle this?
#2961: Podcast Analytics Without Selling Your Soul
Three paths to listener data that respect privacy and actually work with object storage.
#2829: The Missing CRUD Framework for Real Code
What actually gives you a real starting point for internal tools — not a platform, not a service, but code you own and deploy.
#2823: Video on Static Sites: When to Use a Platform
Mux, Cloudflare Stream, or Bunny Stream? When to stop serving MP4s and start using a purpose-built video platform.
#2799: Where Should Your Images Actually Live?
WordPress to static sites: where do images & videos go? Repo, object storage, or CDN — and when to move up the chain.
#2798: Why AI Tooling Finally Makes Static Frameworks Practical
From thumbnails to SVGs — how Astro changes the media game compared to WordPress.
#2776: Where Does Your Vercel Site Actually Live?
Your Vercel site lives everywhere and nowhere. Here's what's actually happening under the hood.