Work
What I build
Three kinds of problem, and what I have shipped against each. If you are trying to work out whether I am the right person for something specific, this page is faster than the résumé — it leads with the problem rather than the job title.
01 Capability
Multi-tenant systems and role-based access control
For Organisations where money, approvals or records move through more than one pair of hands — and where each department insists its own rules are different.
The failure mode is always the same. Permissions start as a handful of if statements, a second department arrives with a slightly different approval chain, and within a year the authorisation logic is spread across the codebase and nobody can change a rule without breaking an unrelated one.
The answer I keep arriving at is to make roles data rather than code. One approval engine, configured per tenant, so adding a chain is configuration and not a deploy — and an audit trail underneath it that money can actually be traced through.
- A 9-role RBAC approval engine running multi-stage budget, finance and expenditure workflows for a 39-department institution.Read the case study
- ₹43.4 Cr of budget processed across 1,000+ proposals.
- 330+ active users, and 570+ finance requests — advances, bill reconciliation, settlements.
- 14+ months in production and still in daily use.
React/TypeScript/Node.js/Express/MySQL/JWT/OAuth/CASL
02 Capability
Retail analytics and operational dashboards
For Teams whose AI or computer-vision systems already work, and whose operators still cannot tell what to do about the output.
A detection is not a decision. A model that counts footfall, reads a plate or estimates demographics produces a stream of events that is worthless until somebody standing in a store can look at a screen and act on it. That gap is the product layer, and it is the part I build.
It is mostly unglamorous: choosing which number goes at the top, making a filter mean the same thing on every widget, and keeping a chart readable on the one screen the manager actually has.
- The front end and APIs for an enterprise retail-analytics command center — footfall heatmaps, demographics and ANPR views, camera grids, floor plans and NVR/device integrations.
- A reusable MUI + Recharts dashboard library — KPI cards, heatmaps, widget filters, custom tooltips — published as an internal npm package and documented in Storybook.
- A Next.js analytics dashboard wired to live backend APIs through Orval-generated typed clients, with shared filtering, SSR fixes and responsive charts.
- This is employer work at Bipolar Factory, so it has no public case study and no repository — the résumé has the full detail.See the résumé
React/TypeScript/Next.js/MUI/Recharts/Storybook/Redux Toolkit/FastAPI/PostgreSQL/Orval
03 Capability
LLM and AI-agent integration
For Products where an LLM should do one narrow job extremely well, rather than everything approximately.
The demo-friendly way to use an LLM is to put it in charge of the output. It shows well and it is almost always the wrong call, because the output is then the one part of the system you cannot test.
I build it the other way round: the model owns the input — turning what a person wrote into a typed, schema-shaped struct — and deterministic code owns everything after that. Which means the thing you ship carries invariants you can actually assert.
- In Land2Build, an LLM parses a one-sentence building brief into a typed config; a deterministic binary space partition generates the floor plan.Read the case study
- 35 invariant checks across randomised runs and all seven house types — possible only because the model never touches the geometry.
- A multi-agent debate platform: two LLM agents run structured argument, rebuttal and conflict resolution through function calling and structured outputs.Source on GitHub
Python/LangChain/LangGraph/LangFuse/Nebius AI Studio/Function calling/React/TypeScript
Any of that sound like your problem?
Maheshwaran A K is available for full-time roles and freelance contracts, remote, from India Standard Time. Email is the fastest way to reach me and I reply within a day.