
Repository pattern in frontend
How the Repository Pattern applies to Next.js 15 App Router projects — server repos, client repos, React Query hooks, and thin route handlers that keep every layer honest.

How the Repository Pattern applies to Next.js 15 App Router projects — server repos, client repos, React Query hooks, and thin route handlers that keep every layer honest.

A complete, copy-paste guide to building carousels with only HTML and CSS. Covers scroll snap, scroll markers, scroll buttons, browser support, and progressive enhancement.

How to implement self-healing URLs in Astro deployed on Vercel — what works, what silently fails, and the correct architecture after hitting every gotcha along the way.

How to remove unsafe-inline from your Content Security Policy in an Astro site deployed to Vercel, using SHA-256 hashes generated automatically at build time — and every pitfall we hit along the way.

How to implement Web Push Notifications in an Astro site deployed to Vercel — VAPID keys, service workers, subscription management, and everything that can go wrong.

A technical analysis on why US integration and the development of Puerto Ordaz represent the most important system deployment in our history.

A full account of the issues I hit upgrading a production Astro site: Svelte TypeScript preprocessing failures, transitive dependency conflicts in better-auth, and Vercel build cache pitfalls.

Chrome ships a native Summarizer API powered by on-device AI. No API keys, no server costs, no privacy concerns — the model runs entirely in your browser.

If bun run test fails with 'vitest: command not found', the fix is one word: bunx. Here's why Bun doesn't always put node_modules/.bin on PATH, and when it matters.

Unit testing Astro content collection helpers isn't obvious. Here's the exact pattern to mock getCollection and control import.meta.env.DEV so your tests actually reflect production filtering behavior.

vi.stubEnv('DEV', 'false') sets a string. Vite's DEV is a boolean. The string 'false' is truthy. Your tests lie to you silently. Here's the fix.

How I built a zsh oh-my-zsh plugin that shows Claude API latency directly in my Powerlevel10k prompt — using a background launchd job and a rolling baseline so you always know if it's slow right now or just your network.