Learning to break things, then building things to break.
This is my CTF workbench. One half is practice — challenges I'm working through, written up with the dead ends left in. The other half is the Challenge Lab: puzzles I built myself, which is the fastest way I've found to prove I actually understood the attack.
From the Challenge Lab
Practice writeups
Method, not just answers.
Every solve records the failed attempts. Dead ends are part of the writeup, because the pattern-recognition they build is what transfers between challenges.
Solutions stay where they belong.
Some platforms ask that their challenges not be written up publicly, and that's respected here — those stay in a private notebook. What's published is either mine to publish or mine to begin with.
One source of truth.
All writeups flow from a single Markdown source. The site is a static build with full-text search — every challenge page is indexable, and the raw Markdown never ships to the browser.