
Factostack
Manufacturing ERP for MSMEs in India
I'm building FactoStack, a manufacturing ERP for Indian MSMEs. We have paying customers, live production data flowing through the system, and the entire thing runs on infrastructure that costs less than a meal.
Here's the honest breakdown.
The stack
Backend: NestJS (TypeScript), structured, opinionated, scales cleanly with modules per domain (inventory, production, compliance, payroll)
Frontend: React + TanStack Router + TanStack Query, a static build served via Nginx
Database: AWS Lightsail Managed PostgreSQL, separate from the app instance, handles backups automatically
API + frontend hosting: AWS Lightsail 512MB instance, NestJS + Nginx on one box serving both
Admin app: React + TanStack Router, internal tool for user management and tenant control, deployed on Cloudflare Pages (free tier)
Marketing website: Next.js, deployed on Cloudflare Pages (free tier)
Email: Nodemailer
Payments: Razorpay, works natively for Indian billing, UPI, and GST invoicing
Auth: JWT + per-tenant feature flags, toggle modules per customer without a deploy
Analytics: PostHog (self-serve cloud free tier)
Alerting: Telegram bot, new demo bookings, sign-ups, and onboarding events ping me instantly
Total infra spend: roughly $20/month. The marketing site and admin app cost exactly $0, Cloudflare Pages handles both on the free tier with zero configuration headaches.
Why Lightsail over EC2 or Railway
Three reasons:
Predictable flat billing, no surprise spikes
Managed Postgres means I'm not babysitting backups at 2am before a customer demo
The 512MB instance is genuinely enough for a B2B SaaS at early stage. NestJS + Nginx idles at ~180MB RAM. I'll upgrade when I have the MRR to justify it, not before.
Why Cloudflare Pages for the admin app and website
The admin app is an internal tool, I use it to create tenants, flip feature flags, and manage users. It's a pure static build that has no reason to live on my Lightsail box. Cloudflare Pages deploys it globally, handles CDN, and costs nothing.
Same for the Next.js marketing site. Static generation, Cloudflare edge, free. Keeping these off the main instance means a frontend deploy never risks the API, and I'm not paying compute for assets that a CDN handles better anyway.
The multi-tenancy approach
No separate databases per tenant. Single Postgres instance, tenant_id column on every table, row-level filtering via NestJS middleware that injects tenant context on every request.
This is the pragmatic early-stage call. It means:
One migration runs for everyone
Debugging is straightforward
Cost stays flat as I add customers
The tradeoff is noisy-neighbour risk at scale and more careful query discipline now. For a solo founder pre-revenue scale, it's the right call.
Feature flags as a product lever
Every module (HRMS, e-invoicing, production tracking, food processing vertical) is gated behind a feature flag tied to the tenant record. When I onboard a new customer on a specific plan, I flip their flags from the admin app -- no code change, no deploy.
My food processing customer (₹2,999/month) gets raw material traceability and batch tracking. My compliance-only customer (₹2,990/year) gets GST tools and nothing else. Same codebase, same deployment, completely different product experience.
What I'd do differently
I used to overthink infra. I spent weeks researching Kubernetes, container orchestration, and multi-region setups before launch. None of it mattered. The first thing that mattered was getting a customer to log in and do real work.
The 512MB box forced good discipline: lean queries, no N+1s, no fat dependencies. That constraint made the codebase better.
The point
You don't need Vercel + PlanetScale + Railway + Doppler + five other services to run a real B2B SaaS. Pick boring, proven tools. Keep your fixed costs below your lowest plan price. Upgrade when revenue demands it.
FactoStack's lowest plan is ₹999/month (~$10). Total infra is $20/month. That math works fine when you have multiple customers, and it teaches you to get customers fast.
Happy to go deep on any part of this, NestJS architecture, multi-tenancy patterns, Cloudflare Pages setup, or why I chose Lightsail over anything trendier.
I'm Sudharsan, a software engineer based in Bengaluru, and I've been building FactoStack on the side for the past 6 months while working full-time.
The problem I saw
I watched my connections in the Indian manufacturing belt (Hosur, Coimbatore, Vadodara) running factories on WhatsApp groups and Excel sheets. Enterprise ERPs like SAP or Zoho cost ₹15,000–50,000/month and require months of implementation. The "affordable" options are accounting tools like Vyapar, not actual manufacturing ERP.
There was a clear gap: manufacturers with 10–300 employees who needed real production tracking, inventory, BOM management, and compliance, but couldn't afford or justify an enterprise solution.
So I built FactoStack. Flat pricing, ₹999–₹1,999/month, no per-user fees.
What happened after launch (April 2026)
Honestly, the first 15 days were quiet. I was cold calling, building backlinks, running Brevo email campaigns to an MSME list. Crickets.
Then something unexpected happened: manufacturers started finding me through ChatGPT. Someone would ask "best ERP for small Indian manufacturers" and FactoStack kept coming up. I was getting 3–4 organic demo bookings a week purely from AI search, without doing anything to target it.
First paying customer: May 2026
My friend who runs a cattle feed manufacturing company converted at ₹2,990/year on our Compliance Starter plan. Small, but real. Proof it works.
A food processing manufacturer found me through ChatGPT, evaluated 15 ERPs, and onboarded as a design partner at ₹2,999/month. He told me FactoStack was the closest to what he needed at 70% fit, and that was enough to commit.
Where I am now
2 paying customers
Enterprise-adjacent demo with a German industrial manufacturer's Chennai subsidiary scheduled
HRMS module in progress for a 300-FTE manufacturer in Hosur
Running on a $5/month Lightsail instance (NestJS + React App) and $15/month managed Postgres instance keeping infra costs near zero
What actually moved the needle
ChatGPT / AI search — by far the highest-converting discovery channel. I've since started optimizing for this intentionally.
Association outreach — reaching out to IIA, HOSTIA, CODISSIA. Slower, but trust-heavy in manufacturing.
Design partners over free users — having a real customer shape the food processing vertical was worth more than 50 free signups.
What hasn't worked yet
Cold calling is brutal. Google Ads research is ongoing but nothing converted yet.
What I'm figuring out
How to scale without burning out alongside a full-time job. The manufacturing sales cycle is long and relationship-driven — not SaaS-typical.
Happy to answer questions about building for Indian SME markets, manufacturing ERP specifics, or AI search optimization.
4 Likes
3 Comments
3 Comments
-
2
The AI search discovery is interesting - I hadn't thought about it as a channel for a product that's still building visibility. How did you start optimizing for it once you noticed it working?
-
1
I just optimised the site for SEO, I never knew that ChatGPT would become a channel for me to get audience
-
-
2
One thing I'd be careful with:
A discovery channel can sometimes end up getting credit for a decision that was already close to being made.
Those can look very similar when the first customers start appearing.
That's the part I'd be most curious about.
About
All the ERPs present in the market are targeting for huge manufacturing companies and the contract prices are exorbitant. Even SMBs in India should be using ERPs at an affordable price.



Comment