Most SaaS products struggle with scope and tenancy, not code
A SaaS product is a web application with four extra jobs: keeping every customer’s data apart, charging them correctly every month, letting their admins manage their own users, and proving all of that to a buyer’s security team. Teams that hire a SaaS development company for “the app” and meet the other four later usually end up rebuilding them under deadline.
As a SaaS product development company, we plan those jobs into the first release. We help you cut an MVP down to what a paying customer will use, choose a tenancy model you will not regret, wire up billing for India and abroad, and build on our software development, DevOps and SOC 2 readiness practices. For growth-stage concerns such as cloud cost and platform engineering, see our SaaS industry page.
We also build and run SaaS ourselves: multi-tenant practice software for Indian clinics and labs, plus a GRC platform and a multi-cloud cost tool. The lessons further down this page come from those products.
SaaS development services
SaaS application development services, from the first scoped release to the enterprise features that unblock larger deals.
SaaS MVP scoping & build
The problem
The feature list grows every week, the launch date slips, and nobody has decided what the first paying customer actually needs.
How we build it
We run a short discovery to cut scope to one core workflow plus sign-up, billing and an admin view, then build it in two-week iterations on production foundations: CI/CD, backups, error tracking and tenant isolation from the first commit.
What you get
- Prioritised MVP backlog
- Working product in your cloud
- Billing and onboarding flow
- Test suite and CI pipeline
Multi-tenant SaaS architecture
The problem
Tenants share tables with a tenant_id column that some queries forget, and one large customer slows everyone else down.
How we build it
We choose pooled, bridge or siloed tenancy per kind of data, enforce isolation in the database as well as the code, add per-tenant rate limits and run cross-tenant leak tests in CI.
What you get
- Tenancy decision record
- Database-enforced isolation
- Cross-tenant leak tests
- Per-tenant metrics
Billing, GST & payments
The problem
Plans, trials, upgrades, failed payments and GST invoices are handled by hand, or by a spreadsheet next to the payment gateway.
How we build it
We integrate Razorpay, Stripe or both, model plans and entitlements in your app, process webhooks idempotently, issue GST-compliant invoices and credit notes, and add IRP e-invoicing where your turnover requires it.
What you get
- Plans and entitlements model
- Idempotent webhook handling
- GST invoices and credit notes
- Dunning and payment recovery
Enterprise readiness: SSO, SCIM & audit
The problem
An enterprise prospect wants SAML or OIDC single sign-on, automatic user provisioning, an audit-log export and a SOC 2 report, and the deal is waiting.
How we build it
We add per-tenant SSO, SCIM 2.0 provisioning and deprovisioning, role-based permissions and an append-only audit log, then map them to SOC 2 controls with our compliance team.
What you get
- SAML and OIDC SSO per tenant
- SCIM user provisioning
- Append-only audit log with export
- SOC 2 control mapping
Run, monitor & scale
The problem
The product works, but releases are manual, nobody is alerted when it breaks and the cloud bill has no owner.
How we build it
We set up infrastructure as code, zero-downtime deploys, tenant-aware monitoring and alerts, backups with restore tests and, if you want it, ongoing support under an agreed SLA.
What you get
- Infrastructure as code
- Zero-downtime deploy pipeline
- Tenant-aware dashboards and alerts
- Backup and restore runbook
The SaaS stack we build on
Well-supported choices as of October 2026. We match the stack to the skills you can hire for later, not to our preferences.
Laravel 13 on PHP 8.3+
What our GRC Platform and CloudMonitor run on. Mature queues, mail, billing integrations and Filament 5 admin panels suit B2B SaaS.
Node.js or Python
Node.js 24 or 26 LTS, or Python, when the product is API-first, real-time or data-heavy.
Next.js or Livewire
Next.js for product UIs that need a rich client; Livewire when a server-rendered Laravel app is simpler to own.
PostgreSQL 18 or MariaDB
PostgreSQL when row-level security is the isolation layer. Our clinic products use MariaDB, where the application layer carries tenant scoping.
Razorpay and Stripe
Razorpay for Indian customers, UPI and e-mandates; Stripe for international cards and invoicing.
WhatsApp Cloud API and email
Onboarding, receipts and alerts. Meta bills per delivered message, so we decide which messages are worth sending.
Tools we use on SaaS builds
- Laravel
- Filament
- Livewire
- Next.js
- PostgreSQL
- MariaDB
- Redis
- Razorpay
- Stripe
- WhatsApp Cloud API
- Keycloak · Auth0 · WorkOS
- Docker
- Terraform
- GitHub Actions
Versions and vendor details checked October 2026. We pin versions per project and upgrade on a schedule you approve.
What a SaaS development company should build before your second customer
The first customer forgives almost anything. The second exposes whatever you hard-coded for the first: a logo in a template, a currency, a missing tenant filter. This guide covers the decisions that are cheap on day one and expensive in year two: tenancy, billing, tax, enterprise identity, audit and compliance.
Multi-tenant SaaS architecture: pooled, bridge or siloed
The terms come from AWS’s SaaS guidance and describe how much infrastructure tenants share. Here is what each looks like in PostgreSQL:
| Model | In PostgreSQL | Isolation | Cost per tenant | Operations | Good fit |
|---|---|---|---|---|---|
| Pooled | Shared tables with a tenant_id column, enforced by row-level security policies | Good, if every query runs under the policy | Lowest | One schema to migrate and back up | Most B2B and SMB SaaS |
| Bridge | One schema per tenant in a shared database | Better: a bad query stays inside one schema | Moderate | Every migration runs once per schema | Hundreds of tenants, some with custom fields |
| Siloed | One database or cluster per tenant | Strongest | Highest | Many databases to patch, back up and migrate | Enterprise or regulated customers who pay for it |
Our default is pooled, with isolation enforced by the database rather than only the application, plus a siloed tier for the few customers who require it. Two PostgreSQL details matter. Table owners bypass row-level security unless you set FORCE ROW LEVEL SECURITY, and with transaction-level connection pooling the tenant must be set per transaction (SET LOCAL), not per connection. Our clinic products use row-level tenancy on MariaDB, which lacks PostgreSQL-style row-level security, so the application’s data layer has to carry the isolation. If you take that route, keep tenant scoping in one place and write tests that deliberately try to read across tenants.
Billing: Razorpay, Stripe or both
- Razorpay suits Indian customers: UPI, Indian cards, net banking and recurring payments through e-mandates, settled in rupees. Recurring card and UPI payments follow RBI’s e-mandate rules, including pre-debit notifications and extra authentication above a set amount, so renewals need more state than a one-off charge.
- Stripe suits international customers, with mature subscription billing, invoicing and tax tools. As of October 2026, new Stripe accounts for Indian businesses are invite-only, so plan for an invitation, an overseas entity or another gateway for foreign cards.
- Both is common: Razorpay for India, Stripe for everyone else, with your app as the source of truth for plans and entitlements.
Whichever gateway you use, keep plans, entitlements and invoice numbers in your own database, process webhooks idempotently, and treat the gateway as a payment rail rather than your billing system. Switching gateways later is then a project, not a rewrite.
GST invoicing and e-invoicing
For Indian customers, each invoice needs your GSTIN, the buyer’s GSTIN on B2B sales, the service code, the place of supply and the right tax split: CGST plus SGST for a customer in your state, IGST for one in another. Exports of services can be zero-rated under a Letter of Undertaking. Credit notes for refunds and downgrades must reference the original invoice.
E-invoicing adds a step. Since 1 August 2023, a business whose aggregate turnover exceeded ₹5 crore in any financial year from 2017–18 must report B2B invoices to the Invoice Registration Portal and print the returned IRN and QR code (Notification 10/2023–Central Tax). From 1 April 2025, businesses with turnover of ₹10 crore or more must report each invoice within 30 days of its date. Even if you are below the threshold today, build invoicing so an e-invoice step can be switched on later through a GST Suvidha Provider or the IRP API. The scope of these rules keeps widening.
SSO, SCIM and audit logs for B2B buyers
- SSO per tenant. Each customer connects its own identity provider over SAML 2.0 or OIDC, with a tightly controlled fallback admin login.
- SCIM 2.0 provisioning. When HR removes someone in Okta or Entra ID, their access to your product goes too. Deprovisioning is what security teams actually test.
- Roles that match the customer’s organisation. Admin, manager and member are a start; most B2B products need per-team or per-branch scopes within a year.
- An append-only audit log. Who did what, to which record, when and from where, with before and after values, exportable by tenant admins. Include support-staff impersonation, because buyers will ask about it.
SOC 2 readiness
SOC 2 is an attestation report issued by an independent CPA firm against the AICPA Trust Services Criteria. A Type I report looks at control design at a point in time; a Type II report covers how controls operated over a period, commonly several months. The engineering controls (SSO and MFA for staff, logging, backups, change management, vulnerability scanning) are far easier to build in than to retrofit. We help you prepare through our HIPAA, GDPR and SOC 2 practice. The audit itself is done by a firm you choose; we do not certify anyone.
Scoping an MVP that can charge money
- One core workflow, done well, for one type of customer.
- Self-serve sign-up and tenant creation, even if you onboard the first customers by hand.
- Real billing from the start, even with a single plan, so you learn whether people pay.
- An internal admin view for support, with audited impersonation.
- Leave out custom roles, white-labelling, a public API and mobile apps unless a paying customer needs them now.
What drives SaaS development cost
- The size of the core workflow and the number of user roles.
- Integrations: payment gateways, GST and e-invoicing, WhatsApp, email, and industry systems such as HL7 or ABDM.
- The tenancy model, and whether some customers need dedicated or regional tenants.
- Enterprise features: SSO, SCIM, audit export and data residency.
- Compliance targets such as SOC 2, ISO 27001 or the DPDP Act.
- Who runs the product after launch: your team, or us under a support agreement.
We quote an MVP as a fixed-scope project after discovery, split into milestones you can stop at.
What running our own SaaS products taught us
- Tenant isolation bugs are the scariest kind. They rarely sit in the main screens. They hide in exports, reports, search indexes, file-storage paths and background jobs that run without a tenant context. Every job and every cache key should carry the tenant explicitly.
- Billing is mostly edge cases. Mid-cycle upgrades, failed renewals, refunds after an invoice is issued, GST on credit notes, a customer who moves state. Write those cases down before the happy path.
- Onboarding emails decide whether trials activate. A sign-up with no obvious next step goes cold. Short, timely emails tied to what the user has and has not done work better than a long drip sequence.
- WhatsApp delivery is never guaranteed. Templates need Meta’s approval, numbers get mistyped, users block businesses, and Meta charges per delivered message. Track delivery status, fall back to SMS or email, and record consent.
- Migrations must be idempotent. With many tenants, a migration will eventually fail halfway for someone. It has to be safe to run again, per tenant, without manual clean-up.
How to choose a SaaS development partner
- Ask which tenancy model they would choose for you, and why not the others.
- Ask how they test tenant isolation, not just whether they have it.
- Ask how they handle billing webhooks, retries and failed payments.
- Check they know Indian tax and payments if you sell in India, and international billing if you sell abroad.
- Confirm that code, cloud accounts and payment-gateway accounts are in your name.
- Ask whether they run any SaaS themselves.
- Prefer a team that cuts your MVP scope over one that quotes everything on your list.
SaaS products we build and run ourselves
Live products we operate. The clinic, lab and reminder products are multi-tenant with billing and WhatsApp built in; GRC Platform and CloudMonitor run on the Laravel stack we recommend.
Dental Software India
Cloud dental practice management for Indian clinics Multi-tenant PHP 8.3 practice software with row-level tenancy, GST billing and WhatsApp delivery. Visit dentalsoftwareindia.com
PathLab Software
Lab information system — sample to signed WhatsApp report The same multi-tenant core, plus barcode accession, analyser interfacing and WhatsApp report delivery. Visit pathlabsoftware.com
Physio Clinic Software
Home-exercise plans on WhatsApp that patients follow Row-level multi-tenancy on MariaDB with GST billing and exercise plans delivered on WhatsApp. Visit physioclinicsoftware.com
Appointment Reminder App
WhatsApp & SMS reminders that grow into an AI inbox A multi-tenant PHP 8.3 SaaS with Razorpay billing, WhatsApp and SMS reminders and consent records. Visit appointmentreminderapp.com
GRC Platform
Governance, Risk & Compliance, automated Laravel 13 and Filament 5: risk register, policies, controls and continuous compliance evidence. Visit grc.radiatus.com
CloudMonitor
See your entire cloud, clearly — multi-cloud cost, security & inventory A Laravel 13 product that unifies AWS, GCP and Azure cost, security scoring and inventory. Visit cloud-monitor.radiatus.comA typical first engagement: SaaS discovery and scope
Three to four weeks, fixed scope, ending in a scoped MVP and a written proposal you can take to any team.
Discovery
Users, the one workflow they will pay for, the pricing model, compliance needs and integrations. We talk to a design partner if you have one.
Architecture & scope
Tenancy model, billing design, stack and hosting written up as short decision records, plus a prioritised MVP backlog.
Walking skeleton
Sign-up, tenant creation, a test payment and one core screen running in your cloud.
Proposal
Milestones, timeline and a fixed price for the MVP build, or a plan your own team can run.
Guides and related pages
Guides
Questions about SaaS projects
The main drivers are the size of the core workflow, the number of user roles, integrations such as payments, GST e-invoicing and WhatsApp, the tenancy model, enterprise features like SSO and audit export, and compliance goals such as SOC 2. After a short discovery we quote the MVP as a fixed-scope project with milestones. Radiatus does not publish prices or day rates.
A focused MVP with one core workflow, sign-up, billing and an admin view is usually a matter of months rather than a year. Scope is the biggest variable, which is why we spend the first weeks cutting it. Integrations with regulated or legacy systems add time because of partner testing.
Usually not at the start. A pooled model with shared tables and database-enforced isolation is cheaper to run and simpler to migrate. We add a siloed option, a dedicated database for one tenant, for enterprise or regulated customers who need it and will pay for the extra operations work.
Yes. A common setup uses Razorpay for Indian customers, with UPI and e-mandates, and Stripe for international cards, while your application holds plans, entitlements and invoice numbers. Indian invoices need GST handled correctly, and exports of services can be zero-rated under a Letter of Undertaking. As of October 2026, new Stripe accounts for Indian businesses are invite-only.
We build and document the controls SOC 2 expects and help you prepare evidence, but only an independent CPA firm can issue a SOC 2 report, and we do not certify anyone. Building controls such as SSO, logging, backups and change management in early makes the audit far less disruptive.
Radiatus is an independent engineering studio, building since 2021 and registered both in Delaware, USA and as an MSME in India. We deliver remotely to founders and product teams in India and other countries, with site visits by agreement, and we build and run multi-tenant SaaS products of our own.
Have a SaaS idea, or a single-tenant app that needs to become one?
Tell us who pays and for what. We will help you cut the first release to something you can ship and charge for.





Compliance-first delivery