WIM PREST
CONTACT
wimprest.com
WebsitesLive

wimprest.com

Personal portfolio built as a workshop you want to explore — industrial design language, Sanity CMS, and an automated build log pipeline.

Next.jsTypeScriptTailwind CSSSanityFramer MotionCloudinaryVercel
Scroll
Why:Personal Project
View Live

The Challenge

The Problem

People kept asking what I was doing with AI, and it was really hard to explain. When most people hear "AI" they think you're asking ChatGPT about the weather. I needed somewhere to just point and say "here, look at this."

Why I Took This On

I owned the domain, people kept asking questions, and this seemed like a one-stop solution. Plus, building a portfolio site with AI to showcase AI projects is recursive in the best way — the site itself is part of the journey it's documenting.

Constraints

There was no practical need for this. No client, no deadline. The constraint was purely technical: I wanted something that updated itself as I built other projects, and that doesn't exist off the shelf. Had an idea, wanted to see if I could make it real.

“

Not all of the projects are knocking it out of the park, but they're all part of the journey.

”

The Process

01

Initial Approach

Next.js and Sanity were already in the rotation from other projects, so that's where I started. I don't know anything about WordPress, and I could never quite get what was in my head to show up on screen with Wix or Squarespace. Wanted full control.

02

What Went Wrong

A bunch of display ideas that seemed great in my head didn't survive contact with reality. The first version of the project pages was just a giant wall of text — technically complete, incredibly dull to look at. Accordion sections helped, but honestly, I'm still not completely satisfied. It's getting there.

03

Breakthroughs

I've got a pretty advanced case of ADHD — the doctors were suitably impressed. If updating this site means stopping what I'm actually working on, one of those things isn't getting finished. The moment the portfolio update became automatic — just part of closing out a work session — this stopped being a project I'd abandon and started being something that just happens.

The Solution

Everything runs directly inside VS Code, right where the work already happens.

I already had two custom commands for managing work sessions: /open when I start a project for the day, and /close when I'm done. The close command was already summarizing what got accomplished, flagging what's next, and tracking blockers — all stuff I needed regardless of whether the site existed.

The key realization was that all the information was already there. Every accomplishment, every milestone, every status update — it was all being generated anyway. Adding the portfolio update as one more step inside that same close command made the whole thing automatic. That was it: one addition to something I was already doing.

“

Three separate contexts collapsed into zero extra steps. The site updates as a side effect of finishing work I'm already doing.

”

What I Learned

Skills Gained

Cross-project automation pipelinesSanity CMS schema designFramer Motion animation systemsCLI toolingFriction-aware workflow design

Unexpected Discoveries

The biggest thing had nothing to do with this site. Working with Sanity here made me realize it's powerful but not intuitive for non-developers — my clients were getting tripped up by Studio's interface. So I started wrapping Sanity behind custom admin sections in their own websites. They fill out familiar web forms, the data flows into Sanity behind the scenes, and they don't even know it's there. That pattern came directly from building this portfolio.

What I'd Do Differently

Honestly, not much. I'd get to where I am now faster, and I'd build category pages sooner. But the core decisions — the stack, the automation approach, the design direction — all still hold up. Sometimes the first instinct is right; it just takes a few wrong turns to prove it.

“

Three separate contexts collapsed into zero extra steps. The site updates as a side effect of finishing work I'm already doing.

”

Where It Stands Now

Current State

Fully alive. I don't spend a ton of time working on the website itself anymore — the structure is where I want it, and automation handles most of the care and feeding. Content stays fresh because the projects feeding it are active. I just do tweaks here and there.

What's Next

Category pages. The project count is growing enough that the homepage is getting cumbersome. Plan is to curate the homepage — featured or recent stuff up front — and let people click into dedicated pages for each category if they want the full list.

The Bigger Picture

I'm rebuilding the Prest Group work website, and this becomes the companion piece. The work site covers the professional categories; this one shows the full range — personal projects, favors, experiments, the stuff that doesn't fit on a corporate page but tells the real story.

The Impact

Personal Impact

Confidence, honestly. Having a living collection of work that backs up "I work with AI" carries weight. Haven't really told anybody about it yet — it's information shouting into a vacuum at the moment — but knowing it's there and growing changes how I talk about the work. It's a checkbox I'm glad I checked.

Still actively using this
“

It's information shouting into a vacuum at the moment, but knowing it's there and growing changes how I talk about the work.

”

Build Log

Feb 27, 2026

Fixed light-mode gradient issues across FeaturedProjectCard, ProjectHero, and hero-to-content transition so white text stays legible in both themes. Restyled CategoryFilter View all as a bordered button with per-category wording. Completed full visual QA pass (desktop 1280x900 + mobile 375x812, dark + light mode) — all 20 checkpoints passed with zero issues.

Feb 26, 2026

Added dedicated category pages at /projects/[category] and capped the homepage at 8 curated projects with featured-first selection. Also updated PullQuote styling with accent bars and quotation marks, and fixed accordion scroll-into-view across all project pages.

Feb 14, 2026

Performance pass: lazy-loaded modals via dynamic imports to cut initial bundle size, and converted story media to Next.js Image for automatic optimization and responsive loading.

Feb 6, 2026

Built full portfolio update infrastructure — CLI tool for logging accomplishments, creating projects, and uploading hero images, plus a Build Log display component on project pages with milestone styling.

Back to all projects
Previous
Element 119

Element 119

Next

Dekker

Dekker
All Projects
Get in Touch

Say hello

Stay Updated

Want updates?

I occasionally send emails about new projects and interesting rabbit holes. No spam, just stuff I'm excited about.

Navigate

  • Work
  • Contact

Connect

  • GitHub
  • LinkedIn

More

  • Studio

© 2026 Wim Prest

Stable Build v1.0.4 • Designed in the Workshop