Mahesh Moholkar
Software Engineer — Enterprise SaaS & Applied AI
01About
Designing and shipping multi-tenant ERP platforms, distributed backends, and production LLM systems.
Previously architected university-wide platforms serving 8,000+ users; currently building AI-native enterprise workflows across Next.js/React, Python, and .NET.
02Work
Shivam EnterprisesSoftware Engineer (Full-Stack & Applied AI)
Architected a multi-tenant Campus ERP (React, .NET 10) plus separate Admissions, Management and Procurement platforms, serving 8,000+ users at sub-400ms p95 peak latency, alongside the platform's Python/FastAPI LLM & RAG microservice.
- Production AI & Hybrid RAG: Built the Python/FastAPI + Next.js AI service powering natural-language reporting over a semantic layer, confidence-gated ticket triage, and a cited helpdesk assistant using hybrid retrieval (pgvector + BM25, Reciprocal Rank Fusion, reranking), RBAC-enforced tool calls, and LLM-as-judge CI evals.
- Core Platform & Multi-Tenancy: Led the architecture of a multi-tenant university ERP and isolated domain platforms (Admissions, Procurement, Management) serving 8,000+ users across 6 affiliated colleges; brought p95 latency under 400ms at k6 peak load using Redis HybridCache.
- Shared Microservices: Engineered centralized Auth (JWT, OpenIddict, role/menu RBAC) and Notification microservices (Transactional Outbox pattern + Hangfire background workers for email/SMS/push with retries and delivery tracking) consumed across all ERPs.
- Observability & Delivery: Established Serilog structured logging with correlation IDs, OpenTelemetry + Grafana dashboards, automated Testcontainers integration pipelines in Azure DevOps, and authored system ADRs and onboarding runbooks.
Vision — Multi-Tenant SaaS ERP (GCC Market)Frontend Engineer (Part-time, Remote)
Owned the frontend architecture for a multi-tenant GCC SaaS ERP, shipping a shared RTL-first bilingual (English/Arabic) design system across three web applications.
- Client Data Layer: Designed the routing and state architecture using TanStack Router (loaders, typed search-param filters), TanStack Query (optimistic updates, per-document cache invalidation), Zustand, and real-time SignalR streams.
- Financial Workflows & RTL Design System: Built state-driven accounting and inventory modules (edit/post/void state machines, VAT-compliant calculation engines) and a shared English/Arabic RTL component library reused across the core ERP, public storefront, and admin portal.
- Release Engineering: Maintained release reliability with Vitest + Testing Library unit tests, Playwright E2E smoke tests, and Dockerized GitHub Actions CI/CD deployed on AWS.
Cloud Native Computing Foundation (CNCF)Open Source Contributor (Zero to Merge Cohort)
Scoped and shipped upstream contributions to cloud-native and cryptographic open-source systems across Go and Rust ecosystems.
- Selected for CNCF's Zero to Merge program; collaborated with upstream maintainers to scope issues and ship pull requests to Kubernetes-ecosystem projects in Go.
- Shipped merged upstream bug fixes to Ockam (Rust) and contributed technical documentation to Kubernetes SIGs and EvalML.
03Projects
PagerSageMulti-Agent Incident Response over a Company Knowledge Graph
An incident brain: when an alert fires, Claude agents walk a graph of services, deploys, commits, people and past incidents to find the likely root-cause change, page the owner, and cite the last time it happened.

- Multi-Agent Root Cause: Built a FastAPI agent pipeline (Triage, Investigator, Historian, Responder, Scribe) that computes blast radius, ranks suspect deploys and config changes, and takes the cheapest path to them through the services that are sick right now.
- Graph Memory: FalkorDB is the only datastore: company graph, 90 days of history, agent memory and handoffs; similar past incidents come from local vector search (fastembed) reranked by what the graph knows, with the runbook that worked most often.
- War Room & Company Brain: Next.js war room streams every tool call, decision and handoff live over the graph canvas; agents page on-call on Discord, open GitHub issues with the suspect commit, and write postmortems that re-rank runbooks. Ask “what breaks if checkout-api goes down?” and get an answer with evidence nodes linked.
EchoEmbeddable AI Customer Support: Chat + Voice
AI customer support you embed on a website: a chat and voice widget answered by an agent that searches the business's knowledge base and hands off to a human operator when needed.

- Grounded Agent: PydanticAI agents on FastAPI answer from a per-organization knowledge base (PDF, Word, Markdown, HTML, OCR for scanned files) using pgvector search, streaming replies and escalating to a person on request.
- Real-Time Voice: Pipecat voice bot with Silero VAD, Smart Turn v3, Whisper and Kokoro running locally on MLX, with live captions in the widget.
- Operator Inbox: Next.js dashboard where operators see every chat and call transcript, take over from the AI, hand back and resolve; Better Auth organizations with JWTs verified by FastAPI.
Vyavasay AI ERPMulti-Tenant Accounting, Inventory & AI ERP Platform
Designed, built and run a live multi-tenant GST ERP for Indian SMEs end to end: React web app, Next.js storefront, Expo Android app and .NET API.

- Transactional Posting: Sales and purchase documents run as state machines (draft → posted → cancelled); posting moves stock, books double-entry ledger entries and updates balances in one transaction, and cancelling reverses it.
- GST Compliance: CGST/SGST/IGST split by place of supply, tax snapshotted when a document posts, GSTR-1/3B generated from posted documents, and filed periods locked against edits, cancels and back-dated posts.
- Tenant Isolation: Every tenant-owned table is scoped to the signed-in business by a global query filter in the data layer, so a missed WHERE clause can't leak another business's data.
- Contract-First Clients: One OpenAPI contract generates the types for the React web app, Next.js storefront and Expo mobile app, so an API change breaks the build instead of production.
- Inventory: Batch and expiry stock with first-expiry-first-out picking, multi-location transfers and moving-average valuation.
- AI: Claude reads a supplier's bill photo into a draft purchase bill with structured output; the mobile app finds products by photo using Cohere image embeddings in pgvector.
- Integrations: Storage, email, WhatsApp, push and the LLM each sit behind an adapter with a no-op fallback, so the system runs and is tested without any of them.
more on github
04Stack
- Frontend
- Next.js, React, TypeScript, React Native
- Python
- Python, FastAPI, SQLAlchemy
- LLMs
- OpenAI, Claude, Gemini, Llama
- Agents & RAG
- LangChain, LangGraph, LlamaIndex, MCP
- Vector
- pgvector, Pinecone
- Evals
- Ragas, DeepEval, Langfuse, LangSmith
- Data
- PostgreSQL, SQL Server, Redis, MongoDB
- Cloud & DevOps
- AWS, Azure, Docker
- .NET
- C#, ASP.NET Core, EF Core, SignalR