The portfolio is the meta-project
A portfolio can describe how someone works, or it can be an instance of it. Rebuilding mine in Astro and Sanity was a decision to stop describing.
My portfolio lived in Webflow and it worked. The decision to rebuild it did not come from a visual problem. It came from three limits that stopped being negotiable.
The content was trapped
Three locales maintained by hand, and a blog that demanded more CMS plumbing before I could write a first line. Content that is expensive to change is content that stops changing.
The components were not components
Changing a card meant touching every instance, or fighting with symbols. There was no single source of truth, so improvements stayed local. In the rebuild there is one ProjectCard file used on the home page, in related projects, and in the public design system. Touch it once and it improves in all three.
The work was shown as pictures
This is the one that bothered me most. A case study about interface design, illustrated with JPEGs, is a contradiction. The object of study is behaviour — how a layout reflows, how a control responds to focus, what happens on hover — and a screenshot is precisely what throws that away.
So case studies now embed working recreations of the interfaces. Not a video, not a prototype link: real HTML and CSS, running in an isolated frame you can resize. Switching the viewport exercises the actual breakpoints. You can tab through the controls.
A portfolio can describe a way of working, or it can be one. I wanted the second.
What that changed in practice
Three decisions followed from taking that seriously.
- The design system is public. It imports the real components and reads the real tokens, so it cannot drift from the site it documents.
- Performance became an argument rather than hygiene. The pages ship no framework JavaScript — disclosure, comparison sliders and navigation use native HTML elements, which are lighter and more accessible than the component-library equivalents.
- The palette stayed achromatic on purpose. In a portfolio, all the colour should come from the work being shown. A client logo should never compete with the chrome around it.
The part I did not expect
Recovering the design was more useful than redesigning it. I pulled the production stylesheet from the old site and extracted the real tokens — typefaces, palette, radii — rather than inventing a new system. That surfaced something I would have got wrong otherwise: the blues in the CSS were not mine at all. They belonged to third-party widgets. Copying them would have invented a brand colour that never existed.
Still open
Two case studies to write, translations to bring across, and more live demos to build. Each demo is real design work rather than a template, which is the cost of the approach and also the point of it.