Yash
Parmar
I build backend systems and ship products end to end.
I designed, built and deployed Vakoza, a live multi-tenant AI WhatsApp receptionist, on my own. By day I build an inventory and operations system for hotels and restaurants at CSAT Systems.
A live multi-tenant SaaS I designed, built and deployed on my own.
Vakoza answers inbound WhatsApp enquiries and books appointments for clinics in India. It is deployed and Meta-verified. vakoza.com
- stack
- Node.js, Express, Supabase with Row Level Security, Railway.
- channel
- WhatsApp Business API on Meta's official channel under the ISV model. Meta Business Verification completed, and Embedded Signup shipped so clients connect an existing number through Coexistence.
- conversation
- Google Gemini handles the logic in Hindi, Hinglish and English. ElevenLabs for voice.
- billing
- Webhook-driven Cashfree subscriptions.
- isolation
- Tenant isolation enforced at the database layer, with a full security and architecture review before launch.
- how it was built
- An AI-assisted workflow, Claude Code, ChatGPT and Gemini across architecture, implementation and review.


How a message becomes a booking
Meta posts the inbound message to a signed webhook. The handler resolves the tenant from the WhatsApp business number before anything else runs, so every query after that point is scoped to one clinic by a Row Level Security policy rather than by application code I could forget to write. Gemini gets the conversation with only that tenant's context, its services, its hours, its booked slots, which keeps the prompt small and the reply cheap. Writes go back through the same tenant boundary, and Cashfree subscription events arrive on a separate verified webhook so billing state never depends on the conversation succeeding.
The part worth defending is the ordering: tenant first, then model. Getting that backwards is how multi-tenant products leak. The lattice at the top of this page is that idea drawn: one tenant lit, the rest dark, because the database refuses the read.
Software Developer, CSAT Systems
May 2024 to present, Delhi
I work on an inventory and operations management system for hotels and restaurants, on .NET 8, ASP.NET Core MVC, Entity Framework Core 8, MySQL and Crystal Reports.
- 01Build and maintain both production layers, the REST API on .NET 8 and the Razor web layer with an HTTP proxy, which together drive the whole inventory and operations workflow.
- 02Implemented inventory transaction types end to end, purchase requisition, GRN, sales order, production, consumption, internal transfer, wastage, quality inspection, with audit trails and secured endpoints.
- 03Built and integrated the Crystal Reports layer, stock valuation, ledger summaries, supplier-wise reports, pending orders, expiry tracking, GST registers, which client management uses as its primary reporting interface.
- 04Implemented FIFO/LIFO lot allocation including lot-split, transfer-out and receipt logic, following the costing method configured per outlet.
The one that was actually hard
Lot allocation. Stock leaves a warehouse in pieces: a transfer takes part of one lot, a sale takes the rest of it plus part of the next, and each outlet may be costing FIFO or LIFO. So the allocator cannot just pick a lot, it has to split one, carry the remainder forward, and post a cost for each piece that still reconciles against the valuation report.
I ended up treating allocation as its own step that returns a list of lot-and-quantity pairs, and let the transaction types call it rather than each implementing their own version. The receipt, transfer-out and split paths then had one place to be correct instead of eight.
I use AI tooling as a development workflow, not as autocomplete. Claude Code, ChatGPT, Gemini, Perplexity and DeepSeek, with scoped context engineering, token-efficient prompting and an eye on cost.
That is how a production SaaS got shipped by one person: architecture argued out first, implementation reviewed against it, security checked before launch. The judgement about what to build and what to reject stays mine.
- languages, frameworks
- C#, .NET 8, ASP.NET Core MVC, ASP.NET Web API, Entity Framework Core 8, LINQ, JavaScript, Node.js, Express
- frontend
- jQuery, Bootstrap, HTML5, CSS3, Razor views, AJAX, DataTables, Select2
- databases
- MySQL, Supabase
- reporting
- Crystal Reports 13, parameterized report design, runtime integration, multi-page layouts
- apis, auth
- REST API design, JWT bearer authentication, OAuth, Swagger and OpenAPI, HTTP proxying, webhooks
- integrations
- WhatsApp Business API, Meta Embedded Signup, Google Gemini API, ElevenLabs, Cashfree, Razorpay
- tools
- Git, GitHub, Visual Studio 2022, Postman, IIS, Railway, Notion
B.Tech, Computer Science. Graphic Era Hill University, Dehradun. 2020 to 2023
Diploma, Computer Science. Subharti University, Meerut. 2017 to 2020