Selected work
Problems we've solved — and how.
We keep client identities and commercial details private. What we can share is the shape of the problem and the thinking that cracked it — which is the part worth reading anyway.
Figures below are representative of the improvement pattern; exact results are client-confidential.
Government · Agriculture
A state department, off the proprietary treadmill
A large state's farmer-facing systems ran on an aging proprietary stack with per-seat BI licensing and a single-vendor dependency. Every new scheme meant another change request — and another invoice.
- TAT
- Weeks → same-day
- A new scheme ships as configuration, not a change request
- TCO
- BI licence removed
- Recurring per-seat cost eliminated
- Lock-in
- None
- Every layer open and replaceable
The licence bill, not the code, is what usually keeps a government on a proprietary stack — so we went after the bill.
The approach
- Modelled the domain as a modular monolith on PostgreSQL — one image that promotes from a seeded demo to a scaled-out deployment without a rewrite.
- Rebuilt 20+ proprietary BI dashboards on an open analytics stack, removing per-seat licensing entirely.
- Adopted canonical government geography (district → block → panchayat → village) as the spine, so every module speaks the same location language.
The edge
We migrated entity by entity — pulling from the legacy system by reference until each domain was ready to cut over. No big-bang migration, no week-long outage, a clean rollback at every step.
Technology decisions
Modular monolith, not microservices
One deployable image keeps operations sane for a state IT team, while ports-and-adapters let us peel off load-bearing modules later without a rewrite.
Open BI instead of per-seat licences
The recurring cost hid in the dashboards. Rebuilding them on open analytics turns a per-user OPEX line into zero marginal cost.
Cut over by reference, entity by entity
Each module pulls from the legacy system until it's ready to own its data — no big-bang migration, rollback available at every step.
- PostgreSQL + PostGIS
- FastAPI modular monolith
- Apache Superset
- Docker Compose → Helm
- Canonical LGD geography
Enterprise · Data Protection
Compliance that never leaves the building
An enterprise needed OneTrust-class data-protection compliance under India's DPDP Act — but could not send sensitive records to a foreign SaaS to get it.
- Data egress
- Zero
- Everything runs on the client's own infrastructure
- TCO
- No per-record SaaS fee
- Owned deployment vs metered cloud
- TAT
- Audit-ready sooner
- Consent, rights & breach workflows out of the box
‘Compliant’ and ‘cloud’ aren’t synonyms. The whole job was to be the first without conceding the second.
The approach
- Built a modular-monolith compliance engine (FastAPI + React) deployable entirely on the client's own infrastructure.
- Native-first adapters scan and map data where it lives, rather than exporting it to a third party.
- One image promotes across sovereign, managed, and partner deployment modes.
The edge
The hard part wasn't the workflow — it was matching a hyperscaler SaaS feature-for-feature while guaranteeing data never crosses a boundary the client doesn't control. Sovereignty as a capability, not a compromise.
Technology decisions
One self-hostable image, three SKUs
The same artifact runs sovereign on-prem, managed, or partner-hosted — one codebase serves three business models, so there's no fork to maintain.
Scan data in place (native-first)
Mapping data where it lives avoids the exact egress the regulation exists to prevent.
- FastAPI + React
- PostgreSQL + pgvector
- Native scan adapters
- Keycloak
- Promote-to-scale image
Healthcare · Digital Public Infrastructure
Care that follows the patient, not the visit
A person's health history restarted at every door — records fragmented across clinics, hospitals and schemes. The goal: one longitudinal record on national rails, without building yet another silo.
- Records
- Longitudinal
- One history across providers and episodes
- Consent
- Logged & revocable
- Patient-controlled sharing
- Data egress
- Zero
- Sovereign, DPDP-aligned
A patient shouldn't have to be their own medical record. We put the history on rails the country already trusts.
The approach
- Built on national digital-health rails — ABDM identity (ABHA) and consent-based record sharing, not a proprietary patient ID.
- A longitudinal, whole-person record (FHIR) that follows the patient across providers and episodes.
- A consent ledger: every access is something the patient granted, can see, and can revoke.
The edge
We treated the patient's identity and consent as the system's spine — so records move with the person, every access is something they granted, and the platform strengthens the national network instead of competing with it.
Technology decisions
Build on national rails, not a silo
ABDM identity and consent make records portable and the system interoperable by default — instead of trapping data in one more island.
Consent as the spine, not a checkbox
Every share is recorded in a ledger the patient controls and can revoke — the difference between 'compliant' and 'trustworthy'.
- ABDM / ABHA
- FHIR R4
- Consent ledger
- PostgreSQL
- Keycloak
Public Sector · Water · IoT
From ten thousand sensors to a single decision
A water-resources programme had telemetry pouring in from thousands of field devices across incompatible protocols — and almost no way to turn any of it into action.
- Integration
- 1 surface
- Any protocol normalised to one model
- TAT
- Reading → action
- Recommendations, not raw graphs
- Scale
- 10k+ devices
- On one ingestion pipeline
A dashboard tells you what happened; a control room tells you what to do next. We shipped the second one.
The approach
- A universal ingestion layer (oneM2M / MQTT) that normalises any device into one timeseries model.
- A decision-intelligence layer on top that answers 'what should we do?', not just 'what's the reading?'.
- Observability designed as a control room, not a wall of charts.
The edge
We treated the dashboard as the booby prize. The deliverable was prescriptive guidance — thresholds, anomalies, recommended interventions — with the raw telemetry one click underneath for anyone who wants to verify.
Technology decisions
One normalised timeseries model
Heterogeneous devices collapse to a single schema, so onboarding a new device type is configuration, not a code change.
A prescriptive layer above the dashboards
Operators need 'what to do next', not another chart to interpret under pressure.
- oneM2M / MQTT
- TimescaleDB on Postgres
- Decision-intelligence layer
- Grafana control room
- Next.js
Knowledge-intensive · Applied AI
An AI assistant domain experts actually trust
In a high-stakes, knowledge-heavy domain, an LLM assistant was a liability: confident, fluent, and wrong often enough that the experts simply wouldn't rely on it.
- Trust
- Every claim cited
- Failure mode is 'no answer', not 'wrong answer'
- Data egress
- Zero
- Sovereign local inference
- Adoption
- Experts rely on it
- Because each answer is checkable
We measured success by how often the assistant said ‘I don’t have a source for that.’ A good refusal beats a confident guess.
The approach
- Citation-enforced retrieval — the model may not assert a claim it cannot ground in a retrieved source.
- Hybrid retrieval (keyword + vector) so both exact terms and meaning are covered.
- Local inference — the corpus and the model stay on the client's infrastructure, with human review on anything consequential.
The edge
We inverted the default. Instead of 'answer, then maybe cite', the system refuses to answer without a source — so a blank is a feature, not a bug. The trust came from the refusals as much as the answers.
Technology decisions
Refuse to answer without a source
In a high-stakes domain a blank is safe and a confident hallucination is not. We made the guardrail structural, not a prompt suggestion.
Run inference locally
Sensitive corpora and user prompts never leave the client's network — sovereignty is the precondition, not a feature.
- Citation-enforced RAG
- Hybrid retrieval (BM25 + pgvector)
- Local LLM inference
- Human-review gate
Retail Finance · Cybersecurity
Architecture that passes the audit — fast
A retail-finance business had an architecture that wouldn't meet its compliance requirements, against a deadline that wouldn't move.
- TAT
- Met the deadline
- Compliance achieved on a fixed date
- Risk
- Gaps closed
- Least-privilege boundaries throughout
- Reuse
- Evidence baseline
- Reusable for the next audit cycle
A compliance deadline doesn’t negotiate. Having seen the failure modes before is what makes the fix fit the calendar.
The approach
- A penetration-test-informed redesign that targeted the specific control gaps, not a generic checklist.
- Secure hybrid infrastructure with least-privilege boundaries throughout.
- CERT-In-aligned reporting, so the evidence trail matched what auditors expect to see.
The edge
Heritage security practice meant we'd seen these failure modes before. The remediation was surgical, not exploratory — which is the only way to hit a fixed compliance date.
Technology decisions
Fix the gaps, not the checklist
Targeting the specific control failures — instead of a generic hardening sweep — is the only way to hit a fixed audit date.
- Threat modelling
- Secure hybrid infra
- Least-privilege IAM
- CERT-In-aligned reporting
Agriculture · Rural
Advisory in the farmer's language
Smallholder farmers needed timely crop advisory and disease diagnosis — in their own language, over poor connectivity, without assuming a smartphone-native user.
- Reach
- Local languages
- Built for low-literacy, low-bandwidth users
- TAT
- Diagnosis in seconds
- Photo → advisory, in the field
- Data
- License-clean
- Allowlisted, auditable provenance
An English dashboard isn’t inclusion. We started from the farmer’s language, bandwidth and trust, and built backward.
The approach
- Crop advisory and image-based disease diagnosis built on a license-clean, allowlisted knowledge corpus.
- Multilingual, low-literacy-friendly UX designed for the rural context first.
- Edge-tolerant ingestion, so intermittent connectivity degrades gracefully instead of failing.
The edge
We started from the farmer's constraints — language, bandwidth, trust — and worked backward to the architecture, rather than shipping an English dashboard and calling it inclusion.
Technology decisions
Offline-tolerant by design
Rural connectivity is intermittent, so the app has to degrade gracefully rather than fail when the signal drops.
License-clean, allowlisted corpus
A defensible, auditable data foundation — not scraped content of unknown provenance that becomes a liability later.
- Multilingual rural UX
- Image-based disease diagnosis
- License-gated corpus
- Edge-tolerant sync
Recognise your problem here?
Most of what we do starts as someone describing a mess they're stuck in. Tell us yours.
Talk to us