Most developer portfolios list technologies and link to GitHub repos. That tells a visitor nothing about what you can do for them. Your portfolio should answer one question: "can this person solve my problem?"
"Built a Next.js app with PostgreSQL" means nothing to a potential client. "Built an automation system that reduced a 4-hour daily process to 12 minutes", that's a story they care about.
Every case study should have:
Clients hiring a freelancer need confidence that you can handle production workloads. A portfolio full of tutorial projects signals the opposite.
If your professional work is under NDA, describe the system architecture without naming the client. "Enterprise monitoring dashboard serving 50+ locations with realtime telemetry" is compelling even without a company name.
Every blog post is a long-tail SEO page that can bring a potential client to your site. Write about the problems you solve:
A contact form should be 3 fields: name, email, message. No company size dropdown. No budget range selector. No "how did you hear about us" survey. Reduce friction to zero.
Use whatever you're fastest with. I use Next.js, Tailwind, and shadcn/ui because I can ship a polished portfolio site in a weekend. The design, copy, and content matter infinitely more than whether you used Astro or Remix.
You're reading this on my portfolio. It's built with Next.js, has case studies with real metrics, blog posts demonstrating expertise, and a simple contact form. It took a weekend to build and has generated every freelance inquiry I've received.
If you need a portfolio site that converts, or any web application built fast and right, let's talk.