Writing
16 posts- Apr 27, 2026 5 min readFrom 8 Minutes to 90 Seconds: Optimizing a Docker Build Pipeline on GitHub Actions
- Apr 20, 2026 7 min readWhat Actually Happened When We Migrated to Auth.js v5 -- Blueprint vs Reality
- Apr 10, 2026 9 min readA Playbook for Retrofitting Test Automation into a Legacy Next.js Codebase
- Apr 9, 2026 9 min readBuilding a Two-Layer Logging Pipeline for Next.js on Kubernetes
- Apr 8, 2026 22 min readMigrating from keycloak-js to Auth.js v5 — A Hybrid SSR Auth Blueprint for Next.js
- Apr 6, 2026 8 min readWhy Pino Logs Disappeared in Kubernetes — and the Three PRs It Took to Get Them Back
- Apr 1, 2026 7 min readSprint Planning for a Team of One: Building a Solo Engineering Workflow with AI Agents
- Mar 30, 2026 5 min readHow I Built a Full CI/CD Safety Net for a Financial Platform — Solo, in 3 Weeks
- Aug 1, 2025 10 min readMy Grand Adventure: Taming PKCE and Keycloak in Next.js
- Aug 1, 2025 6 min readNext.js 15 & React 19 Upgrade: A Complete Migration Guide
- Jul 23, 2025 3 min readReact Query Caching Struggles with Server-Side Pagination
- Jul 13, 2025 3 min readFrontend Keycloak Adoption: A Journey from JWT to SSO
- Apr 21, 2025 1 min readWhy MUI and shadcn/ui Shouldn't Coexist
- Apr 1, 2025 2 min readNext.js State Management: Preserving URL Parameters Between Client and Server Components
- Mar 1, 2025 1 min readThe Mystery of the 404: Debugging Nginx and Next.js Routing Conflicts