You do not need a third-party screenshot SaaS to get branded social preview cards. Here is how to generate dynamic Open Graph images natively in Next.js.
Choosing between SQLite, managed Postgres, and Supabase is not a benchmark battle. Here is how to pick the right database for a solo micro SaaS based on operational sanity.
Most Next.js tutorials make Server Components look like an all-or-nothing rewrite. Here is the exact mental model I use to decide where 'use client' belongs.
I build custom sites for a living and I still send some people to Squarespace. Here's how I decide between a website builder, WordPress, and custom code — including the part where my own bias shows.
My site runs an accessibility scan on every single push — axe checks plus heading-structure rules, across every public page and the signed-in admin, wired into the same browser tests that already run in CI. Here's the exact setup, what it has actually caught, and an honest list of what it can't catch.
No security team, no budget line, one person — and the site still takes payments, fetches URLs server-side, and delivers paid files. Here's the real threat model I built against and the concrete defenses in production right now: database-backed rate limiting, an SSRF-hardened importer, a CSP allowlist, and HMAC-gated downloads.
This site's mobile Total Blocking Time was 670ms, and the biggest single cause was the JavaScript animation library powering some fade-ins. I removed it, rebuilt every effect with CSS and a 20-line scroll observer, and TBT dropped to 170ms — with the animations looking identical. Here's the exact technique, copyable, plus the two tests that make sure the win never quietly reverses.
A plain look at the AI coding tools I pay for while building sites like this one: Claude (mainly Claude Code), ChatGPT, and Grok. What each does well, where they fall short, pricing notes, and who should pick what.
Next.js 16.3 ships first-party agent Skills, including next-dev-loop. Here is what it is, how I set it up, and how it changes building with a coding agent.
The React Compiler is stable and built into Next.js 16, but it is still opt-in. Here is what it does, when I would turn it on as a solo dev, and where I still write useMemo by hand.
I upgraded this site to Next.js 16 — Turbopack builds, Promise-shaped params, and a partial-rendering behavior change that quietly turned one of my security assumptions false. Here's the real upgrade: what broke, what was a non-event, which headline features I deliberately didn't adopt, and the habit that caught the subtle stuff.