How a 0.5% Raise Triggered My Most Honest Open Source Project Yet

After years of working on multitenant SaaS platforms in Java, a 0.5% raise told me everything I needed to know. So I’m building a multitenancy starter for Spring Boot — from Day 0, in public, and powered by ego.
How a 0.5% Raise Triggered My Most Honest Open Source Project Yet
After scaling multi-tenant SaaS platforms, leading risk engines, and migrating architectures in FinTech, I got a 0.5% raise.
That moment hit harder than any feedback.
So I turned it into something honest:
I started building a Spring Boot Multitenancy Starter — from scratch, in public, and with ego.
🌱 Day 0: Fire First, Code Later
This project wasn't born from curiosity.
It was born from frustration — the kind that forces clarity.
Instead of rage-quitting or spiraling, I opened ChatGPT and typed:
“How would Spring Boot itself design a multitenancy starter?”
That one question opened a rabbit hole of:
🔎 Studying
spring-boot-autoconfigure
🧠 Understanding conditionals & property-based injection
🧱 Exploring how
DataSource
routing could work per tenant
I wasn’t looking to hack it together. I was looking to do it right.
🧠 What I'm Building
A real starter, not a blog-copy config dump.
🧠 Thread-safe
TenantContextHolder
🔌 RoutingDataSource per tenant
🔄 JWT / Header / Subdomain-based resolvers
🧰 Onboarding hooks + runtime tenant registration
🩺 Per-tenant health, logs, metrics
⚙️ Auto-config + conditionals like Spring Boot starters
All of it opinionated — but override-friendly.
📦 What I Scaffolded Today
org.nirvikalpa.multitenancy ├── context/ ├── resolver/ ├── datasource/ ├── config/ └── starter/
Also added:
/ego-logs/
→ personal dev diary meets design doc
🔗 GitHub Repo
👉 github.com/rahulsb/spring-boot-starter-multitenancy
Still raw. Still real. But it’s all out there.
💡 Why Build in Public?
I want accountability, not perfection
I want to be visible — not just ‘deploy-ready’
I want feedback while I’m still deciding
And I want others to see the psychology behind every design decision
Not just “how,” but why.
📅 What’s Coming Next
Complete the core
TenantResolver
interfaceFinalize default strategy (leaning JWT-first)
Weekly
ego-log
and changelog commitsReal-world usage + test scaffolding
If you’ve ever built a multitenant SaaS in Java or struggled with making tenancy clean and native — follow this.
This isn't just a codebase. It’s a reckoning.
🙏 Thank You
To whoever reads this: this isn’t just an open-source library.
It’s the result of too many weekends, too little recognition, and one clear moment of fck it — I’ll build it properly.
Hope it serves someone better than a 0.5% raise ever could.
Subscribe to my newsletter
Read articles from Rahul Bhatt directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
