Trending

Most read articles this week.

Fix "lcp" not working in production
Technology
7 min read·2026-06-01

Fix "lcp" not working in production

When LCP data never appears in your analytics, a missing reportWebVitals export is usually to blame. Follow these steps to fix it.

Read more
How to implement LCP end to end
Technology
7 min read·2026-06-01

How to implement LCP end to end

Learn how to instrument Largest Contentful Paint (LCP) in a Next.js project, send the metric to your analytics provider, and verify that the data is accurate.

Read more
Magic Link Production Checklist
Technology
6 min read·2026-06-01

Magic Link Production Checklist

Run this checklist before you ship magic‑link auth to production. It covers configuration, RLS, monitoring, performance, and cost safeguards.

Read more

Latest Stories

Disable Turbopack for Next.js Production Build
Technology
10 min read·2026-05-30

Disable Turbopack for Next.js Production Build

Disable Turbopack for Next.js 16 production builds to resolve issues with Webpack.

Read more
TypeError cookies() crash in Next.js route handler
Technology
7 min read·2026-05-27

TypeError cookies() crash in Next.js route handler

A production‑grade fix for the `TypeError: cookies() is not a function` crash that appears in Next.js route handlers after a deploy.

Read more
Fix "cookies() should be awaited" Error in Next.js 15 App Router (Complete Migration Fix 2026)
Technology
7 min read·2026-05-19

Fix "cookies() should be awaited" Error in Next.js 15 App Router (Complete Migration Fix 2026)

Next.js 15 broke synchronous `cookies().get()`. Every server-side call must now `await cookies()` first. Here's the precise migration — App Router pages, route handlers, Server Actions, and Supabase SSR — plus the codemod that fixes 90% of call sites automatically.

Read more
Fix Next.js 16 Turbopack Production Build Failures (Disable, Workarounds & Stable Config 2026)
Technology
8 min read·2026-05-19

Fix Next.js 16 Turbopack Production Build Failures (Disable, Workarounds & Stable Config 2026)

Next.js 16 makes Turbopack the default builder. If `next start` crashes or pages 500 after a Turbopack production build, here's the exact way to opt out per-build, per-environment, or per-project — and the symptoms that mean you should.

Read more
Fix Next.js `revalidatePath` Not Working in Server Actions (6 Production Causes + Cheat Sheet 2026)
Technology
8 min read·2026-05-19

Fix Next.js `revalidatePath` Not Working in Server Actions (6 Production Causes + Cheat Sheet 2026)

Your Server Action mutates data but the page shows stale values until you hard-refresh. `revalidatePath` is one of those APIs that "succeeds" while doing nothing. Here are the six reasons it no-ops, with the exact fix for each — including the one nobody tells you about: `dynamic = 'force-static'`.

Read more
Stripe Webhook Signature Verification Failed in Next.js (Production Fix + Retry Strategy 2026)
Technology
8 min read·2026-05-19

Stripe Webhook Signature Verification Failed in Next.js (Production Fix + Retry Strategy 2026)

If Stripe webhooks return `Webhook signature verification failed`, your Next.js route is parsing the JSON before Stripe sees it. Here's the exact raw-body pattern for App Router, Pages Router, and Vercel Edge — plus the three secret-mismatch traps that cause the same error.

Read more
Supabase Auth Error Codes Explained: same_password, weak_password, invalid_credentials (Fix Guide + TypeScript Cheat Sheet 2026)
Technology
9 min read·2026-05-19

Supabase Auth Error Codes Explained: same_password, weak_password, invalid_credentials (Fix Guide + TypeScript Cheat Sheet 2026)

Supabase Auth returns precise error codes — `invalid_credentials`, `weak_password`, `same_password`, `email_not_confirmed` — but most apps collapse them all into "Something went wrong." Here's the full TypeScript enum, a typed handler, and the UX pattern that doubles signup completion.

Read more
Fix Supabase RLS Infinite Recursion Error (Postgres Policy Loop Explained — Production Fix 2026)
Technology
9 min read·2026-05-19

Fix Supabase RLS Infinite Recursion Error (Postgres Policy Loop Explained — Production Fix 2026)

If your Supabase query returns `infinite recursion detected in policy for relation "X"`, your RLS policy is querying the same table it protects. Here's exactly why it loops, and three production-grade fixes that don't leak data.

Read more
Next.js Authentication Comparison 2026: Clerk vs Better Auth vs Supabase vs Auth.js
Technology
22 min read·2026-05-14

Next.js Authentication Comparison 2026: Clerk vs Better Auth vs Supabase vs Auth.js

We tested all four major auth solutions across 50+ real-world scenarios in production. Here is the honest comparison nobody else gives you — including the middleware vulnerability that changed everything, migration costs, and which one actually scales.

Read more
Newsletter

One email a month. No fluff.

Mostly RLS gotchas, Next.js cache debugging notes, and the one Supabase setting that bit me last month. Written like a friend would tell you, not like a marketing team.

  • Real production lessons, not tutorials
  • New post highlights with key takeaways
  • Unsubscribe in one click. No tracking.

Free forever. Your email stays with me.