Skip to content
Back to all work
Website

Old Portfolio

The portfolio this site replaced, left online so the two can be put side by side.

Year
2025
Status
Archived
Role
Solo: design, front end, deployment.
Old Portfolio

My first portfolio, and the site that taught me what a portfolio has to do rather than what it has to look like. Four screens, a projects list behind a sidebar of categories, dark mode, a contact form. It was English only, every sentence typed into the component that displayed it, and a project was a card that unfolded where it stood rather than a page anybody could send to somebody else. Rewriting it turned out to be less work than retrofitting it, so it stayed up: same person, same projects, and the site you are reading is what a year of practice did to it.

Stack

  • Next.js
  • React
  • TypeScript
  • Tailwind CSS
  • Framer Motion
  • Docker
  • Cloudflare Tunnel

In practice

  • Four screens and no more: the pitch, the projects, the resume and a way to get in touch.
  • Projects filed under websites, games and level design, graphics, and PC builds and mining, picked from a sidebar.
  • Each one opened where it stood: a screenshot, a sentence about what it is, the tools behind it and a link out where there was one.
  • Light and dark, remembered between visits.
  • A contact form of three fields, with GitHub and LinkedIn under it.
  • English only, which is half the audience for work done in Poland.

How it is built

  • Next.js on the App Router with Tailwind CSS 3 and Framer Motion, TypeScript throughout. The same family of tools as this site, one major version back on each.
  • Rendered by a Node process: a container on my own server, behind Traefik and a Cloudflare tunnel, for a site that changes a few times a year. This one is a static export any hosting can serve, which is also what let its contact form move to PHP and start sending real mail.
  • The copy lived in the components that showed it, and that is what made Polish expensive: not the translating, but pulling every sentence back out of the markup first. Here each string is an { en, pl } pair in src/content and the language is part of the address.
  • Projects were one array feeding cards that expanded in place, so no project had an address of its own. Nothing to paste into an application, nothing for search to index, and nowhere to put the longer version of the story.
  • The theme toggle was hand written: a script in the head reading localStorage before the first paint so the page never flashed white. It worked, and it is the part the rewrite handed over to next-themes, which does the same thing and gets the system preference and a second tab right as well.
  • Deployed by hand at first: pull, build, restart. Prox Hub grew out of doing that often enough, and it publishes both sites now.

The home page

projects

resume

contact

Dark mode

Let's build something together

Got something in mind? Even half an idea is enough to start a conversation. Every message gets an answer, even when the honest answer is that someone else suits it better.

An answer within 24 hours, with a first estimate and how I would approach it.

Based in Belgium, working remotely with clients in English and Polish.