Thoughts / Detail

Why I built samwerks instead of renewing Squarespace

2026.08.10
Technology
477 Words
- Views
- Comments

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.