Why I built samwerks instead of renewing Squarespace
Table of Contents
For years my portfolio lived on Squarespace at sam-cook.com. It did the job. It was also the same site as everyone else’s, and every time I wanted something specific I ran into the same wall: I could style what the template gave me, and that was it.
That’s a strange position to be in when design systems are the thing I do. I spend my working life arguing that the primitives matter — that if your tokens are right, everything built on top of them gets easier. Then I’d open my own site and find I couldn’t change a type ramp without fighting a settings panel.
So I rebuilt it.
What I actually wanted
Not a redesign. A different relationship with the thing.
To own the primitives. Every colour on this site comes from a single hue value. Change one number and the whole palette moves with it, light and dark together, because the dark theme is derived rather than hand-maintained. That’s a five-minute change here. On the old site it wasn’t a change I could make at all.
To be able to build the odd thing. The nav labels scramble when you hover them. There’s a topographic contour layer sitting behind every page, generated from real elevation data for a stretch of the North Cascades near where I live. Neither of these is important. That’s sort of the point — they’re the kind of detail you only add when adding it is cheap, and on a template it never is.
To stop paying rent on my own portfolio. Squarespace is a monthly subscription, forever, whether or not you touch the site. This runs on a domain registration and a hosting tier that’s free at my traffic. The difference isn’t life-changing money, but the shape of it is better: I’m buying a domain, not renting a landlord.
What it’s actually built on
Astro, because most of a portfolio is documents and Astro treats them that way — it ships plain HTML and only sends JavaScript where something genuinely needs it. Tailwind for styling, driven by a small set of CSS variables that act as the token layer. Content lives in Markdown files in the repo, so writing a case study means writing a file. It deploys to Vercel when I push.
The whole thing is static. There’s no database, no CMS, no admin login.
Was it worth it
For most people, honestly, no. If you want a site up this afternoon and never want to think about it again, use Squarespace — that’s a real answer, not a consolation prize.
It was worth it for me because the constraint I was hitting wasn’t visual, it was structural, and no amount of theme customisation fixes a structural constraint. I wanted the primitives. Now I have them, and everything I want to build next got cheaper.