For years my work lived scattered across other people's platforms — a profile here, a portfolio builder there, a link-in-bio page doing the job a home page should. Each one owned a slice of me and could change or vanish without asking. So I started rebuilding everything under one domain: bystanek.com as the hub, and a subdomain for each thing I make.
The map
The ecosystem is split by purpose rather than crammed into one site. The apex is a link hub with a short bio and contacts. Everything else hangs off it:
bystanek.com → the hub
blog.bystanek.com → these notes
gallery.bystanek.com → photographs
phototools.bystanek.com → photographer's calculators
rollbook.bystanek.com → film tracker
The hub itself is deliberately dumb: hand-written HTML, no framework, no build step. Its pages fetch a couple of JSON files at load and render the bio, the grouped project links, and the contacts from data. Adding a project is editing a JSON file, not touching markup.
Static, but not the same static
Not every site here is built the same way, and that turned out to be the honest outcome rather than a failure of discipline. The hub, this blog, and the gallery are plain static files. Phototools is an Astro static build. Rollbook is a full React app that happens to deploy as a static bundle talking to a database. Different problems, different tools — held together by one shared visual language rather than one shared codebase.
The design tokens are copied into each repo by hand, not pulled from a shared package. A single source of truth is the aspiration; the reality is a convention I keep in sync. Honest is better than clever.
Writing without the friction
The catch with hand-built static sites is publishing. Editing raw HTML every time you have a thought is a good way to never write anything. So the blog — and the gallery — carry a small browser-based editor that commits new content straight to the repository through GitHub's API. The site stays static; the authoring gets easy. That balance is the whole point, and it's the subject of its own note.
None of this is groundbreaking. It is just mine, and it will still be mine — and still online — long after this year's favorite platform is gone.