I Thought I Was Just Deploying a Portfolio

I Thought I Was Just Deploying a Portfolio

Instead, I went to war with TypeScript errors, Vercel misconfigurations, and the cursed auto-generated .next/types folder.

I came out stronger.


The Stack

  • Next.js (App Router)
  • TypeScript
  • Tailwind CSS
  • MDX for blog posts
  • Vercel for deployment
  • Custom domain (eventually)

The Issues I Fought

  • params type mismatch in dynamic routes ([slug])
  • .next/types/**/*.ts sneaking into tsconfig.json and messing with type inference
  • Vercel not detecting the project as Next.js because of root folder structure
  • Confusing build errors even after a "successful" local dev run

What Finally Worked

  • Let Next.js keep its auto-added .next/types/**/*.ts, but avoided manually typing against it
  • Moved project files out of the nested my-portfolio-next/my-portfolio-next folder
  • Manually overrode Vercel’s root directory setting
  • Took breaks and didn’t throw my laptop out the window. Barely.

Now Live

The site’s live with a working blog, styled with Tailwind, and ready to evolve.

I’ll be adding more polish and features soon — dark mode, animations, and project filters are on the roadmap.


Final Thoughts

If you’re going through a similar mess, hang in there.

Deployment is pain the first time, but once you push through, it clicks.