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

Rahul BhattRahul Bhatt
2 min read

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 interface

  • Finalize default strategy (leaning JWT-first)

  • Weekly ego-log and changelog commits

  • Real-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.

0
Subscribe to my newsletter

Read articles from Rahul Bhatt directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Rahul Bhatt
Rahul Bhatt