Skip to content

Case study 05

Portfolio 2022

Timeline: 2022

Screenshot of the 2022 portfolio contact form

The vision

This was my portfolio before the later Remix and TanStack-based versions. I intentionally kept the stack small and used the project to learn more about how much I could build without relying on a framework.

It also became a practical introduction to serverless infrastructure. The portfolio itself was static, but the contact form still needed backend handling, email delivery, and protection against spam. That made the project more useful as a learning exercise than a purely static site would have been.

Looking back, it was a good reminder that even simple websites usually touch more concerns than just layout and styling. Hosting, forms, security, and reliability all show up quickly once a site is actually public, especially once real people start using it.

Strategic goals

  1. 01

    Learn by building

    Use a portfolio project as a practical way to learn more about serverless hosting and small backend workflows.

  2. 02

    Try a different visual tone

    Make something more playful and expressive than a minimal developer portfolio.

The challenge

A contact form sounds simple until it starts attracting spam and needs to be protected properly.

Resolution

I moved the handling into a Cloud Function and added reCAPTCHA checks on both ends, which made the setup much more reliable.

Screenshot of the 2022 portfolio homepage

Archived portfolio version from 2022.

Status

Screenshot of the 2022 portfolio contact form