/ build-guides / How to Build a Portfolio as a Solo Developer
build-guides 6 min read

How to Build a Portfolio as a Solo Developer

Step-by-step guide to building a portfolio site by yourself. Tech stack, timeline, costs, and practical advice.

What You're Building

A personal portfolio site that showcases your work, projects, and skills. This is the one project every developer should build, and ironically, most developers overthink it massively. Your portfolio is your calling card. It's what potential clients, employers, or collaborators see when they Google your name. And yet I've seen developers spend months perfecting animations on their portfolio while having zero actual projects to show.

Let me tell you about my first portfolio. It was overengineered garbage. I used a full React app with a CMS, animations on every element, and a custom blog. It took me three weeks. Nobody cared about the animations. They cared about the projects section and whether my work was any good. I've since rebuilt it twice, each time simpler than the last.

Difficulty & Timeline

Aspect Detail
Difficulty Easy
Time to MVP 3-7 days
Ongoing Maintenance Low
Monetization Indirect (leads to jobs, clients, opportunities)

Astro. That's it. Astro is purpose-built for content-driven static sites, and a portfolio is exactly that. It ships zero JavaScript by default, loads incredibly fast, and lets you use components from React, Svelte, or Vue if you need interactivity for specific elements.

If you don't want to learn a new framework, a simple Next.js site works fine too. But honestly, a portfolio doesn't need a full React runtime. The performance difference matters because Google PageSpeed scores affect your ranking, and your portfolio should rank when people search your name.

For hosting, use Vercel or Cloudflare Pages. Both are free and deploy on every git push. Don't pay for hosting a portfolio site. It's static content.

Step-by-Step Plan

Phase 1: Content First (Day 1-2)

Before you write any code, gather your content. This is the step everyone skips, and it's the most important one.

Write a short bio (3-4 sentences about who you are and what you do). Collect screenshots or demo links for your best 3-5 projects. Write a one-paragraph case study for each project explaining the problem, your approach, and the result.

I've seen portfolios with beautiful designs and absolutely nothing to say. The content is the product. The design is just the packaging. Get the content right and the design becomes almost secondary.

Phase 2: Build It (Day 3-5)

Scaffold your Astro project, pick a clean template or start from scratch with Tailwind CSS. Your portfolio needs exactly these pages: a homepage with your intro and featured projects, an individual project page for each case study, and a contact section.

That's it. You don't need a blog (unless you already write). You don't need a testimonials carousel. You don't need a skills section with animated progress bars (please, for the love of everything, don't do progress bars).

Keep the design minimal and let your work speak. Use a simple color scheme, readable typography, and plenty of whitespace. If you want inspiration, look at portfolios from designers, not developers. Developers tend to over-complicate their portfolio designs while designers keep things clean.

One thing I'll strongly recommend is adding an OG image for social sharing. When someone shares your portfolio link on Twitter or LinkedIn, a well-designed preview card makes a huge difference. Use a tool like og-image or just create one in Figma.

Phase 3: Polish & Launch (Day 5-7)

Add your contact form (Formspree or just a mailto link, don't overthink this), set up your custom domain, and deploy. Test it on mobile. I've seen portfolios where the project images are broken on phones because the developer only tested on desktop. Embarrassing for a developer portfolio.

Run a Lighthouse audit and fix anything in the red. Your portfolio should score 95+ on all metrics. It's a static site with a handful of images. There's no excuse for poor performance.

Add structured data (JSON-LD) for your Person schema. It helps Google understand that this is a personal site and can improve how you appear in search results for your name.

Monetization Strategy

Your portfolio doesn't make money directly. It makes money indirectly by getting you jobs, freelance clients, and business opportunities. Think of it as a marketing asset.

The best portfolio monetization hack is this: add a "hire me" or "available for work" badge when you're looking for opportunities, and remove it when you're not. Simple but effective. I've gotten three freelance gigs directly from my portfolio, and every single client mentioned that the project case studies convinced them to reach out.

If you want to add a revenue stream, include affiliate links to the tools you use. "Built with Vercel, styled with Tailwind, designed in Figma." Small links to your actual tools can generate passive income if your portfolio gets decent traffic. But this is a nice-to-have, not the goal.

Common Mistakes to Avoid

Spending more time on the portfolio than on actual projects. Your portfolio is a showcase. If you have nothing to showcase, the portfolio is useless. Build real things first, then show them off.

Using a template without customizing it. Hiring managers can spot a default template instantly. At minimum, change the colors, fonts, and add your actual content. A slightly customized template is fine. An untouched one screams "I don't care."

Including every project you've ever built. Curate ruthlessly. Show 3-5 of your best projects, not 15 mediocre ones. Quality over quantity, always. I removed half my projects in my last portfolio update and got better responses from clients.

Hiding your personality. Your portfolio should feel like you. If you're funny, be funny. If you're serious and technical, lean into that. The worst portfolios are the generic ones that could belong to literally any developer. Give people a reason to remember you.

Forgetting to update it. A portfolio with projects from three years ago tells people you've stopped growing. Set a quarterly reminder to update your portfolio with recent work.

Is This Worth Building?

One hundred percent yes. Every developer needs a portfolio. But here's the key insight that took me years to learn: your portfolio should take days to build, not weeks. If you're spending more than a week on it, you're procrastinating on actual work by hiding behind "perfecting" your portfolio.

The best portfolio is one that exists, shows real work, and loads fast. Build it in a weekend, deploy it, and then go build something worth adding to it. You can always iterate on the design later. What you can't do is get back the weeks you spent tweaking hover animations instead of shipping real projects.

Honestly, if you're reading this and you don't have a portfolio yet, block out next Saturday and just ship one. It doesn't have to be perfect. It has to exist.