DEV Community

Cover image for I Can Build My Own Portfolio From Scratch. I Stopped Doing It.
Sébastien Doom
Sébastien Doom

Posted on

I Can Build My Own Portfolio From Scratch. I Stopped Doing It.

Every frontend dev has the same reflex. You need a portfolio, so you spin up a new repo. Maybe Next.js, maybe Astro, maybe something minimal with just HTML and a build script. You know how to do this. It should take a weekend.

I've had this exact thought at least four times in the past three years.

When building your own is actually the right call

I want to be fair about this, because sometimes hand-coding is the correct decision.

If you're a frontend developer and your portfolio IS the portfolio piece, build it yourself. A creative developer applying to a design-forward studio should absolutely ship something custom. The site itself is proof of what you do. The animations, the layout choices, the performance optimizations. That's the work.

Same if you actually enjoy the craft of maintaining a personal site as a long-running side project. Some people treat their portfolio like a garden. They prune it, replant things, try new CSS techniques. I respect that. If tinkering with your personal site is how you relax on a Saturday, you don't need anyone telling you to stop.

And if you want total creative control over every pixel, a SaaS tool will never give you that. Full stop.

The honest cost the rest of the time

For everyone else, and I'm including myself here, the math doesn't work out.

Last year I had a portfolio built with Next.js 13, Tailwind, deployed on Vercel. Clean setup. I was proud of it. It listed four projects with descriptions, had my GitHub contribution graph embedded via a third-party component, and linked to a few blog posts.

Six months later, my actual GitHub had 11 new repositories. Two of them had picked up far more stars than anything I'd shipped before. I'd moved from mostly React to more full-stack work and my language breakdown looked completely different. None of that was reflected on the site.

I knew it was stale. I opened the repo twice, made a commit to update one project description, and closed my laptop both times. The friction wasn't technical. I know how to edit a Next.js page. The friction was motivational. Updating portfolio copy is the developer equivalent of updating your LinkedIn summary. You know you should. You just don't.

The site stayed frozen at a version of me from half a year ago. And the worst part is that I didn't even notice when the GitHub embed broke because the third-party API changed its response format.

What Linktree and bio link tools miss

Some devs skip the portfolio entirely and just use Linktree or a similar bio link tool. I get the appeal. Zero maintenance, looks decent on mobile, done in five minutes.

But a list of links isn't a portfolio. It doesn't show what languages you write. It doesn't surface your commit activity or your most-starred repos. It doesn't give a recruiter or a potential collaborator any way to evaluate your work without clicking through four separate tabs and piecing together a picture themselves. You're offloading all the work to the person you're trying to impress.

For non-developers, Linktree makes sense. For someone whose work lives in code, it's a missed opportunity.

The middle ground I landed on

I should be transparent. I now build a tool in this space, getfolio.dev, so take what follows with that context.

But the reason I built it is because I wanted the thing that didn't exist for me: a portfolio that stays current without me touching it.

It's not a replacement for a hand-crafted portfolio if your portfolio IS the craft. But for the majority of devs whose portfolio is a means to an end, a way to show what you build so you can get back to building, the auto-sync approach removes the one thing that kills most portfolios. Not the initial build. The ongoing maintenance.

So which category are you in?

I think most developers fall into one of three buckets:

  1. Portfolio-as-art: the site itself demonstrates your skills, and you actively maintain it as a creative outlet
  2. Portfolio-as-chore: you need one for job searches or freelance, but updating it is never the priority
  3. Portfolio-as-ghost: you built one once, it's out there somewhere, and you try not to think about it

If you're in bucket one, keep building your own. Seriously. If you're in bucket two or three, the hand-coded approach is probably costing you more than you realize. Not in money, but in the slow erosion of accuracy. Every month your portfolio drifts further from what you actually do.

The best portfolio isn't the most beautiful one. It's the one that's still accurate six months from now.

The best portfolio isn't the most beautiful one. It's the one that's still accurate six months from now.

Top comments (0)