Ankita Kulkarni

@kulkarniankita.com

Tech Educator | Prev Senior Eng Leader Create videos on web dev: YouTube.com/@kulkarniankita Building https://proofybubble.com/ Educator: nextjscourse.dev Newsletter: frontendsnacks.dev Free Next.js Course: https://bit.ly/nextjshottips

🎉 Registration is now open for my latest course, Whimsical Animations! This course will teach you everything you need to know to design and build stunning, creative animations and interactions. It’s time to make the web less generic and boring! 😄

Whimsical Animations

Learn how to create charming interactions and delightful touches using the magic of CSS, JavaScript, SVG, and Canvas. I’m sharing all my tricks in this one!

whimsy.joshwcomeau.com

My upcoming animations course has a few open-ended exercises where the goal is to experiment with the APIs we’ve learned about. Some of the things people are coming up with are legitimately beautiful, like this delightful example from @miksevigny.com 💯

Ever had an Agent start a New Dev Server when it’s already running? Next.js 16.2 stops this with one quick change 🧠 The Fix → create a .next/dev/lock file Aka never ever try to start a new dev server when one is already running

A code editor displays a new lock file indicating that port 3000 is in use, preventing multiple server instances.

Is Next.js Really Dead? Think again Next.js powers 55% of YC W26 company websites i.e. 111 out of 200 The next closest? Vite/React at 37 sooo, If you're learning Next.js, you're in good company 😉 🎁 Want to dive deeper? Grab a FREE Next.js Cheatsheet on 29 Common Mistakes dub.sh/nextjs-mist...

A bar chart shows website-building tools used by YC W26 companies, with Next.js leading at 111, followed by Vite/React at 37.

Stop trusting AI to use the right Next.js patterns Your AI writes code for Next 13 instead of 16 Next.js 16.2 fixes this with one file 🔥 → create-next-app now generates agents.md → Tells AI to read version-matched Next.js docs locally → The docs live in node_modules/next/dist/docs as markdown

A terminal window shows a command for creating an `AGENTS.md` file to guide AI in using Next.js correctly.

Stop calling `redirect()` inside a try/catch in Next.js `redirect()` intentionally throws an internal error to trigger the redirect. Put it in a try block and your catch will swallow it, no redirect Fix: move `redirect()` outside the try/catch FREE cheatsheet: 29 mistakes dub.sh/nextjs-mist...

Code snippets demonstrate the proper placement of `redirect()` in Next.js to ensure correct functionality and avoid error interception.

You're debugging a Next.js error at midnight and AI keeps hallucinating 😖 Stuck on Lesson 16? sure you can ask AI but there is no better feeling than to review the comments & see if others hit the exact same bug in the exact same project Well, I just shipped comments! → dub.sh/nextjscours...

Stop using window or document inside your Next.js server components 💡What happens Server components don't have access to window, document, or events 🧠 The Fix So extract that logic into a separate client component and keep the rest server-rendered 🎁 FREE Cheatsheet here dub.sh/nextjs-mist...

Code snippets show a transition from using the `window` API in a client component to extracting it into a separate client component for better server integration.

Last week's Snack: Stop putting Auth in Middleware ⚡🍿 🚀 Tanstack Start SSR throughput jumps 5x after profiling hot paths 🧠 How not to overuse useEffect, what to use instead ⚡ OpenAI drops GPT-5.4 mini & nano → 2x faster, built for subagents and more dub.sh/lVxxmtV

Stop wrapping ThemeProvider directly in your Next.js Layout What happens ✔️ Entire component tree becomes client-rendered ✔️ Server components stop working ✔️ You lose App Router performance benefit ✅ Fix Use the "children" pattern 🎁 FREE Cheatsheet here dub.sh/nextjs-mist...

Code snippets illustrate changes in a Next.js layout. The updated approach enhances rendering efficiency by using a "children" pattern.

Stop placing your Suspense boundary in the wrong spot in Next.js Suspense only shows a fallback after render. If you `await` in the same component, it blocks first ✅ Put async work in a child, then wrap that child with Suspense one level up 🎁 Download a FREE Cheatsheet here dub.sh/nextjs-mist...

Two code snippets illustrate a React component optimization. The right version correctly positions the Suspense component for fallback handling.

Every Server Action in Next.js is a public API endpoint That means anyone can find the URL in DevTools and call it directly. Treat them like API routes and secure them by: → Authentication → Input validation → Authorization 🎁 Want more? Download the FREE Cheatsheet dub.sh/nextjs-mist...

Bild

Stop wrapping your entire Next.js page in "use client" Just because ONE component in the page needs interactivity You'll turn the entire page into client components Solution: ✔️ Extract only the interactive piece into its own client 🎁 Want more? Download the FREE Cheatsheet dub.sh/nextjs-mist...

Bild

Your AI agent keeps making the same React mistakes over and over You need to use Skills Skills are the NPM for AI Agents You install best practices like you would a npm package → One command and your agent follows 10+ years of patterns instead of guessing 🍿 Full breakdown: dub.sh/npm-for-ai-...

Bild

This ONE concept is killing your app's performance Every component is a Server Component by default in Next.js You're shipping Client side JS when you don't need to 🎁 Here's a FREE lesson covering, ✔️ Server Components basics ✔️ Their purpose ✔️ When to opt out → dub.sh/server-comp...

Running multiple AI agents on the same project? The moment one switches branch, the other breaks Thats because Git only allows one branch checkout at a time The fix? → 𝗚𝗶𝘁 𝗪𝗼𝗿𝗸𝘁𝗿𝗲𝗲𝘀 ⚡ Each agent gets its own folder, its own branch, same repo 🍿 Full breakdown: dub.sh/git-worktree

Terminal-style code showing "git worktree add ../app-hotfix -b hotfix/login" with a note about running multiple agents in parallel using Git worktrees and an author credit.

I've had an execeptionally tough year. I have no income or health insurance, and could really use your help finding my next paid project. 💜 semanticfish.com/2025-year-in... Open to front-end, full-stack, design system, & accessibility projects. 10+ years experience. Many more details in post!

2025: Year in Review | Semantic Fish Creative Group

This post gets personal about my experiences this year with grief, loss, health emergencies, and being disabled & working in accessibility in the US.

semanticfish.com

a mistake I see constantly: leaders go quiet when something went wrong in the absence of the real story, people will try to piece the story together from incomplete information a story always gets told. rumors are usually worse than the truth. be vulnerable: own it so you have a chance to recover