Building a SaaS, part 2: multi-tenancy without regrets
dec 16, 2024 · multi-tenancyRow-level security, schema isolation, or database-per-tenant? Working examples of each, and how to pick before it's expensive to change.
Things I figured out while building scrapers, pipelines, and SaaS apps, written down so I don't figure them out twice.
Row-level security, schema isolation, or database-per-tenant? Working examples of each, and how to pick before it's expensive to change.
The stack and the handful of decisions I make before writing a line of a new SaaS, plus the ones I deliberately postpone.
A cleaner way to get tmux onto a Synology NAS than my first attempt. Fewer steps, survives updates.
Context managers without the mystery: what `with` really does, and when `async with` earns its keep.
What it takes to scrape millions of pages a day: the architecture, the anti-bot arms race, and the failures that taught me each part.
Notes from a Hacker News thread worth keeping: how experienced engineers actually land their next role.
Wrote some messy code two years ago. Recently, a contractor contacted me for updates, but after I gave a high quote, they hired another dev. Turns out, the new engineer couldn’t fix my old code either! Now, I’m back staring at the spaghetti I wrote years ago, laughing and regretting it at the same time. Lesson learned always write clean, maintainable code!
Synology's locked-down shell makes even installing tmux a small adventure. Here's the Entware route that worked for me.
Designing pipelines that survive millions of events per second, and the decisions that only start to matter at that volume.
One email when something new goes up. That's it.