Thoughts on building for the web

From Side Projects to Client Work: What Blogino Taught Me
Blogino started as a weekend markdown blog. It became my template for client work. 5 lessons on scoping, editing UX, and shipping that I now use on every project.

Making Next.js Portfolios Feel Instant on Slow Networks
Your portfolio is your first impression — and most visitors are on mobile. The exact performance checklist I used to make this site feel instant.

React Hook Form + Zod: Forms Users Actually Finish
Form abandonment is a UX problem, not a validation problem. How I design multi-step forms with React Hook Form and Zod that convert — from Resume Builder to checkout.

Next.js or Plain React? How I Choose for Client Projects
Not every project needs Next.js — and not every Vite app should stay client-only. My practical decision framework from shipping Movie App, Blogino, Nestify, and more.

How I Build Scalable React Dashboards That Handle Real Data
Dashboards fail when real data arrives. Here's the React, Zustand, and React Query architecture I use to keep ETL, crawler, and analytics dashboards fast and maintainable.