Sanjeev SinghBuilding Software Since 2016
← Services

SaaS development · for founders and product teams

SaaS that bills, scales and stays up, built by one senior developer.

I'm Sanjeev Singh, a full-stack developer building software since 2016. I architected CRUD Review, a live SaaS with a web app, one API and apps on both stores. I build multi-tenant products with subscriptions, roles and an admin console, on a stack you own. You get a fixed quote within 24 hours.

Chat on WhatsApp
Sanjeev Singh
Shipped
CRUD Review: live SaaS, web & both stores
Experience
Building software since 2016
Quote
Fixed price, within 24 hours

01The usual problem

The demo works. Turning it into a product thousands of customers can pay for is where it gets hard.

Sound familiar? Tick what applies to you.

Sound familiar?

0 / 6

Tick anything that sounds familiar.

02What you get

Multi-tenant from day one

Every customer's data kept apart by the database itself, with row-level security, so one missed filter in the code can't leak it.

  • PostgreSQL
  • Row-level security

4payment gateways on CRUD Review

Billing that does the right thing

Trials, plan changes, failed payments and cancellations change access at the right moment, and duplicate webhooks are ignored.

Roles, teams and locations

Owners, admins and staff, plus parent accounts with branches under them for bigger customers.

  • Invites
  • Permissions
  • Enterprise & outlets

The app and your admin console

The product your customers log in to, and a console for you to see accounts, fix problems and help users without touching the database.

  • Next.js
  • React
  • Laravel

Work off the request path

Emails, imports, exports and reports run as background jobs, so pages stay fast as accounts grow.

Numbers you can run it on

Sign-ups, activation, trial conversion and churn tracked from launch, so pricing and roadmap decisions come from data.

03What changes

A SaaS customers can sign up to, pay for and trust with their data.

  • Live on your own domain, billing in your own Stripe account
  • Tenant isolation enforced and tested in the database
  • An admin console instead of support queries
  • A codebase that takes version two without a rebuild

04Overview

What do SaaS development services include?

SaaS development is building software that many customers use from one codebase, usually paid for by subscription. Sanjeev Singh is a full-stack developer who builds SaaS products end to end: the database, the API, the web app, the admin console, billing and, when it's needed, a mobile app. He has been building software since 2016, and every project starts with a fixed written quote within 24 hours.

A SaaS is harder than a normal web app in three places. First, tenancy: every customer's data has to stay apart, so a bug in one query can never show one company another company's records. Sanjeev puts that rule in the database itself, with PostgreSQL row-level security, not only in the app code. Second, billing: trials, upgrades, downgrades, failed cards and cancellations all have to change what a customer can do, at the right moment, even when a payment webhook arrives twice. Third, roles: owners, admins, staff and, for bigger customers, a parent account with many locations under it.

His main proof is CRUD Review, a SaaS he architected from an empty repository and then led as a team of four to five. One Node.js and PostgreSQL API serves a Next.js web app and a Flutter app on the App Store and Google Play. It has subscriptions with a free trial through both stores, single businesses, enterprises with outlets under them, a staff mode, an owner console and support tickets.

The usual stack is Node.js or Laravel with PostgreSQL, Next.js or React for the web app, Stripe for web billing, and a background job queue for emails, imports and reports. The reason for each choice is written in the quote. Version one is scoped to what your first paying customers need, with a written list of what comes later, so the product launches while your runway still has room.

Compared with an agency, one senior developer owns the whole system, so nothing gets lost between a sales team, a designer and three developers. Compared with hiring in-house, you get someone who has already shipped a SaaS, without a recruiting process. Either way the code, the repository and every account are in your company's name from the first day.

He works with founders and product teams in the US, the UK, the UAE and Australia. You get an NDA if you want one, a contract that assigns all code to your company, and milestone payments in US dollars, each released after you've seen that stage working.

05The blueprint

Every part of a SaaS, and what each stage adds

Switch between launch, grow and scale to see what goes into each stage, and click any part for the detail. Packets show how data moves.

Customers

Each customer is a tenant: a company with its own users, data and plan. Sign-up creates the tenant, the first owner and a trial in one step.

Launch

  1. Customers

    Launch

    Each customer is a tenant: a company with its own users, data and plan. Sign-up creates the tenant, the first owner and a trial in one step.

  2. Your team

    Launch

    You and your support staff, with their own logins and permissions, separate from customer accounts.

  3. Web app

    Launch

    The product your customers log in to: the core workflow, team invites, settings and billing pages, fast on any device.

  4. Admin console

    Launch

    Look up any account, see its plan and activity, extend a trial or fix data without opening the database.

  5. API & auth

    Launch

    One API for the web app, the admin console and the mobile app. Every request carries a verified tenant, and every query runs inside it.

  6. Billing

    Launch

    Plans, trials, upgrades, failed payments and cancellations. Signed webhooks update access, and each event is recorded once so retries are harmless.

  7. PostgreSQL

    Launch

    One database with a tenant id on every row and policies that enforce it. Indexed for the queries the product actually runs, with backups from day one.

  8. Metrics

    Launch

    Sign-up, activation and payment events from the first day, plus error tracking, so you know what users do and what breaks.

  9. Mobile app

    Grow

    Added when customers use the product on the move. It talks to the same API, so there is no second backend to maintain.

  10. Background jobs

    Grow

    Imports, exports, reports and scheduled tasks run in a queue with retries, so a slow job never slows a page.

  11. Email & alerts

    Grow

    Invites, receipts, trial reminders and failed-payment emails, sent from the queue so nothing is lost if a provider is briefly down.

  12. SSO & audit log

    Scale

    What larger customers ask for before they sign: single sign-on with their identity provider and a log of who changed what.

06Every layer

Tenant isolation, from the database up

The one rule a SaaS can't break is that customers never see each other's data. Here is how I enforce it at every layer, in real code.

migrations/002_projects.sqlsql

create table projects (
  id         uuid primary key default gen_random_uuid(),
  tenant_id  uuid not null references tenants (id),
  name       text not null,
  created_at timestamptz not null default now()
);
create index on projects (tenant_id, created_at desc);

alter table projects enable row level security;
alter table projects force row level security; -- the table owner too

-- current_setting() errors when unset, so a missing tenant fails closed.
create policy tenant_isolation on projects
  using (tenant_id = current_setting('app.tenant_id')::uuid)
  with check (tenant_id = current_setting('app.tenant_id')::uuid);

Why:Even if a query in the app forgets its WHERE clause, PostgreSQL won't return another tenant's rows. If no tenant is set, the query fails instead of returning everything.

07Ways to work together

  1. 01

    Version one of your SaaS

    Scope, build and launch: sign-up, the core workflow, billing, roles and an admin console, on your own accounts.

  2. 02

    Subscriptions and billing

    Stripe plans, trials, upgrades and dunning added to an existing product, with webhooks that survive retries.

  3. 03

    Single-customer to multi-tenant

    An app built for one client turned into a product for many, with data isolation enforced in the database.

  4. 04

    Admin console and internal tools

    Account lookup, plan changes, impersonation with an audit trail, and the reports your team keeps asking for.

  5. 05

    Take over an existing SaaS

    Code someone else started, reviewed, documented and improved, without stopping the customers who already pay.

  6. 06

    Fix what slows it down

    Slow pages, timeouts and growing bills traced to the query, index or job that causes them, then fixed.

08Proof

09In their words

Rated on Fiverr

5.0

23 reviewsRead them

Sanjeev has been instrumental across several projects. He understands the vision from very little direction, then brings commitment, technical skill and original thinking to turn it into a finished product.
Prabhu M C.Datadrone Inc · CRUD ReviewUnited States

01 / 04

10Your time, my time

Your time · New York

--:--

My time · Lucknow, India

--:--

Your office hours (9 AM–6 PM)When I'm on calls and chat

11Your options

Who builds it

Working with meA senior developer who has shipped a SaaS

A software agency
A team, after sales hands over
Hiring in-house
Whoever you can recruit

Time to start

Working with meDays, after a fixed quote

A software agency
Weeks of discovery meetings
Hiring in-house
Months to hire and onboard

Tenancy and billing

Working with meDesigned in from the first commit

A software agency
Depends on the team you get
Hiring in-house
Depends on who you hire

Who owns the code

Working with meYou, with every login, from day one

A software agency
Sometimes the agency
Hiring in-house
You

Version two

Working with meBuilt on the same code

A software agency
A new contract
Hiring in-house
Your team, if they stay
Working with meA software agencyHiring in-house
Who builds itA senior developer who has shipped a SaaSA team, after sales hands overWhoever you can recruit
Time to startDays, after a fixed quoteWeeks of discovery meetingsMonths to hire and onboard
Tenancy and billingDesigned in from the first commitDepends on the team you getDepends on who you hire
Who owns the codeYou, with every login, from day oneSometimes the agencyYou
Version twoBuilt on the same codeA new contractYour team, if they stay

12Free guide

What version one of a SaaS needs, and what it doesn’t

Most SaaS products launch late because version one tries to be version three. These are the parts I build first, and the parts I write down for later.

Build for launch

  1. Sign-up that creates a tenant. One step creates the company, its first owner and a trial.
  2. Tenant isolation in the database. A tenant id on every row and a policy that enforces it. This is hard to add later.
  3. Billing connected to access. A trial, one or two plans, and a clear rule for what happens when a card fails.
  4. Team invites and two roles. Owner and member covers most products at launch.
  5. An admin console. Even a basic one saves hours of database queries in the first month.
  6. Backups and error tracking. Before the first paying customer, not after the first incident.

Write down for later

  1. Single sign-on and audit logs. Large customers ask for them. Build them when one is ready to sign.
  2. Usage-based pricing. Start with flat plans, then meter usage when you know what customers value.
  3. A public API. Wait until customers ask what they’d build with it.
  4. Many fine-grained permissions. Add roles when real teams need them, not before.

How to separate tenants

One database, tenant id on every row A schema per tenant A database per tenant
Isolation Enforced by row-level security Strong Strongest
Cost to run Lowest Medium Highest
Schema changes Once Once per tenant Once per tenant
Best for Most B2B SaaS A few large customers Strict compliance or data residency

For most products I start with one database and row-level security, and keep the door open to move a large customer to their own database later. If you’re still deciding what to build first, read how much an MVP costs and choosing the right stack.

13How we work

  1. 01

    Discover

    A short call on goals, audience and what success looks like.

  2. 02

    Fixed quote

    Scope, timeline and price agreed in writing before work starts.

  3. 03

    Build

    Working pages shared early on a staging link, refined with your feedback.

  4. 04

    Launch

    Go-live, speed and SEO checks, then handover. You own the code, domain and accounts.

14Questions

How long does it take to build a SaaS?

It depends on the core workflow, the number of roles and the integrations. A focused version one usually takes weeks, not months, and the written quote gives the exact timeline before any work starts. You see working builds on a staging link along the way.

How much does SaaS development cost?

It depends on scope, mostly the number of screens, roles, integrations and whether you need a mobile app. I send a fixed written quote within 24 hours of a short call, so the price is agreed before work starts.

Which tech stack do you use for SaaS?

Usually Node.js or Laravel with PostgreSQL, Next.js or React for the web app, Stripe for billing and a background queue for jobs. I pick based on your product and team, and the reason is written in the quote.

How do you keep each customer's data separate?

Every row carries a tenant id, and PostgreSQL row-level security policies enforce it, so the database refuses to return another tenant's data even if a query in the app is wrong. A test checks it on every change.

Can you add subscriptions to an app I already have?

Yes. I add Stripe plans, trials, upgrades, failed-payment handling and cancellations, connect them to what each account can access, and make the webhooks safe to receive twice.

Can you take over a SaaS someone else built?

Yes. I start with a written review of the code, the database and the hosting, fix what's risky first, and keep the product running for the customers who already pay.

Do you sign an NDA, and who owns the code?

I sign an NDA before the first detailed call if you want one. The contract assigns all code to your company, and the repository, hosting and billing accounts are in your name from the start.

How do payments work?

I invoice in US dollars, wherever you are, against milestones agreed in the quote. You don't pay for a stage until you've seen it working.

Question not here? Ask me directly.

Ask on WhatsApp

Last updated

Ready when you are

Tell me what you need.Get a fixed quote.

[email protected]

Local time (India): --:--

Start a conversation

What are you building?

What can I help with?

No mailing list. No sales handoff. Your details come directly to me.

Pick a day

Sanjeev Singh × you

30 minutes on Google Meet