~/about
Who's behind this
I'm [Your Name], a software engineer based in [City]. I started out [how you got in — bootcamp, CS degree, self-taught while doing something else], and I've spent the last [N] years working on [the kind of systems you build].
Most of my work lives in the layer between a product and its infrastructure: APIs, data pipelines, and the internal tools that make a team faster. I care about systems that are boring to operate — good logs, honest error messages, and deploys nobody has to be awake for.
Outside of work I [one genuinely personal thing — a hobby, a side interest, something you're learning]. I write here about the problems I hit and how I got out of them.
4:5 · 800×1000px
- Based in[City, Country]
- FocusBackend / Infra
- Experience[N] years
- StatusOpen to work
~/stack
What I build with
Languages
Frameworks
Data
Infrastructure
Observability
Ways of working
~/work
Selected projects
[Project One]
One or two sentences on what it does and who it's for, then the part that's actually interesting: the constraint you designed around, or the number that proves it worked. Replace this with something specific — "cut p99 from 1.4s to 180ms" beats "improved performance."
[Project Two]
What problem existed before this, and what changed after. Name the trade-off you made and why — hiring managers read that as judgment, which is harder to fake than a tech-stack list.
[Project Three]
Side projects count. Say what you were curious about, what you shipped, and what you'd do differently — the last part is the most persuasive sentence on the page.
[Project Four]
A small tool you built for yourself and kept using. These are underrated — they show taste and follow-through better than a large unfinished thing.
~/writing
Notes and post-mortems
The migration that took four hours and six weeks
Cutting over a 400GB table with no downtime. What the runbook said, and what actually happened at 02:00.
Your retry logic is a denial-of-service attack
A short case for jittered backoff, and a longer one for asking whether the request should be retried at all.
I read our error logs for a week
Nine out of ten lines told me nothing. Here's the rewrite rule I now apply to every error message I ship.
Notes on picking a queue
Kafka, SQS, or a Postgres table — a decision matrix that starts with how much you'd hate losing a message.
~/resume
Where I've worked
Download PDF ↓[Job Title]
What you own, at what scale, and one outcome with a number attached. Two sentences is enough — the PDF carries the detail.
[Job Title]
Same shape. If you changed the team's direction on something, say what and what happened next.
[Job Title]
Earliest role. Keep this one short — it matters least and it's fine for it to look that way.
[Degree or Program]
Delete this block if it isn't part of your story.
~/contact
Say hello
Wire this to Formspree, Resend, or a Next.js route handler before launch.