jonkeen.dev
My personal portfolio, built from scratch with Next.js — light and dark themes, short case studies, and a live site I deploy myself.
The problem
I was moving from retail and business analysis into engineering. I needed a portfolio that felt like me — not a generic template, and not a resume that pretended I had a decade of pro coding behind me.
What I had to work with
Next.js, Tailwind, and React were mostly new. I still needed a solid light/dark switch, an accessible layout, and a clean way to ship the site on a custom domain.
What I chose
I used the App Router and kept most pages as server components. Client code only shows up where the page needs to be interactive. Themes use next-themes with CSS variables so the colors update live. I kept the design simple and readable.
How it turned out
The site is live with a custom domain. Both themes are easy to read, navigation stays usable, and new projects can follow the same short case-study format. It feels like something I built, not something I only customized.
What I learned
Theme setup is picky — where the theme provider sits, and how Tailwind maps the colors, both matter. More than anything, shipping something real taught me faster than waiting until everything felt perfect.