Blog Archive
The Cost of JavaScript: Bundle Size Optimization
Why a kilobyte of JavaScript costs more than a kilobyte of anything else, and how tree shaking, code splitting, dependency audits, and CI budgets keep bundles lean.
HTMX and the Return of Server-Rendered HTML
How htmx brings partial-page updates to hypermedia apps — no client-side state, no bundle, no build step. Core attributes, server patterns, and when it beats an SPA.
Building Search UIs with Typesense
How to add instant, typo-tolerant search to your app with Typesense — schema-first indexing, debounced search-as-you-type, highlighting, and faceted filters in minutes.
Serverless Databases: Neon, Turso, and PlanetScale
Neon (serverless Postgres), Turso (edge SQLite), and PlanetScale (MySQL on Vitess): how each works under the hood, when branching and scale-to-zero matter, and how to choose.
Web Accessibility: WCAG 2.2 for Developers
WCAG 2.2 is the accessibility standard your product will be measured against. Practical success criteria, testable checks, and fixes you can ship this sprint.
Building a Design System with Tailwind CSS v4
Tailwind v4 moved configuration into CSS. Learn the CSS-first theme system: design tokens, @theme, variants, and a component layer that scales across products.
Offline-First PWA Patterns That Users Love
Cache-first, network-first, stale-while-revalidate — the service worker strategies that make PWAs work without a network, plus app shell, background sync, and offline UX.
ORMs in 2026: Prisma, Drizzle, and Raw SQL
Type-safe queries, migrations, and the cases where raw SQL still wins. A practical comparison of Prisma, Drizzle, and writing SQL by hand.
Building an AI Chatbot UI with Streaming Responses
Why streaming beats spinners in AI chat UIs, how Server-Sent Events work, and how to build a React chat interface that renders tokens as they arrive without layout thrash.
Type-Safe End-to-End Development with tRPC and Zod
A shared TypeScript API where the client and server can never disagree. How tRPC infers types across the wire and Zod validates at the boundary.
Astro Islands: The Future of Content Sites
Zero JavaScript by default, hydrated islands on demand. How Astro's islands architecture ships fast content sites without sacrificing interactivity.
Core Web Vitals: Diagnosing Performance in 2026
LCP, INP, and CLS in 2026: the thresholds that matter, how to read field data from CrUX and Search Console, and the diagnostic workflow that finds the real bottleneck.