How we build
AI-native is an architecture, not an adjective.
Plenty of companies added AI to an existing product. These businesses were designed around it from the first migration — which shows up less in what the AI says and more in what it is structurally prevented from doing.
The shared engine
Six systems, twelve ventures, one codebase lineage.
Each venture looks like its own company to its customer. Underneath, they are the same six systems with different data and a different brand.
Identity and tenancy
One organisation model, reused. The tenant is derived from the verified session and stamped by a database trigger — never accepted from a client payload, never trusted from the browser.
AI orchestration
A shared pattern for planners, tool calls and voice, with per-brand agents on top. The model chooses words; it does not choose prices, eligibility or who gets contacted.
Supply ingestion
Bulk open datasets and licence boards instead of rate-limited APIs, with anchored keyword matching so a pharmacy never gets filed as a welder. Contact enrichment runs precision-first.
Advertising and billing
A ledger rather than a balance column, impressions logged alongside clicks, and server-side bot filtering before a click is ever billed. We do not charge for traffic we did not verify.
Growth engine
Claim flows, outreach drips, reminder sequences and lifecycle mail — built once, branded per venture, with every campaign ending the moment the provider claims.
Analytics and deployment
Consent-aware instrumentation, bot segmentation before any number is reported, versioned migrations, and a live-path check after every deploy. A green build is not a shipped feature.
Agents
Every brand gets its own voice, and keeps it.
Each venture runs a distinct AI agent with its own name, personality and — deliberately — its own instance, keys and database. A pharmacy assistant and a cannabis advisor must never share a memory.
| Agent | Venture | Role |
|---|---|---|
| Zoe | ZeroFi.ai | AI receptionist for field-service pros |
| Basil | RestaurantPro.ai | Restaurant phone and concierge agent |
| Ray | AutoDoctors.ai | Vehicle diagnosis and next-step guidance |
| Juniper | Ganjabazaar | Compliance-aware discovery advisor |
| Spotter | GymGuide.ai | Training and gym-matching coach |
| Clarity Sage | Moksha Coffee | Coffee and wellness companion |
One voice instance per company. Separate credentials, separate databases, separate numbers — so a failure or a disclosure in one brand cannot reach another.
Guardrails
Four rules learned the expensive way.
Each of these exists because something went wrong first. They are written down here because they are the difference between shipping AI and shipping AI you can defend.
A prompt is not a control
A menu-extraction model once invented twenty-five thousand prices it had never read. The fix was not a better instruction — it was a grounding gate that rejects any value the model cannot point to in the source. Instructions are guidance; gates are enforcement.
Fail closed on ambiguity
When the pro-finder cannot classify what someone is asking for, it says so instead of guessing a trade. A confident wrong answer costs more trust than an honest 'I am not sure'.
Never assert what you cannot verify
Dietary and allergen flags are tri-state: null means unknown, and unknown is never treated as safe. A filter excludes anything without verified data rather than quietly including it.
Row-level security on everything
Every new table gets RLS before it gets data. Authorization lives in the database so that a forgotten check in application code cannot expose another tenant's records — a lesson learned from inheriting prototypes where it could.
Where the engine is written first
Nirvana Consulting builds it for a client, then the portfolio inherits it.
The consulting arm is not a side business that happens to share a founder. It is where the patterns get proven on paid work with a real deadline and a real user — and it is why a new vertical in this portfolio starts from a working system rather than a blank repository.