Products, internal tools, pipelines and client engagements. Each one lists the problem it was built for, what was delivered, and what it runs on.
We do not name clients, and we do not publish outcome percentages we cannot evidence. Every figure below is checkable against something real.
01
PropDash AI
Real estate CRMLive demo2026Why it was built
Property enquiries arrive faster than an agency can qualify them, and the ones that go unanswered for an hour are usually gone. Agencies were tracking them in spreadsheets nobody trusted.
Evidence on record
Password-gated live demo, running against a real LLM rather than canned responses
Role
Product design, frontend, AI integration
Stack
Next.jsTypeScriptVercelNVIDIA NIM
Delivered
- —Lead pipeline with AI scoring and stage tracking
- —WhatsApp qualification bot wired to the same lead record
- —Demand heatmaps by locality and budget band
- —Multi-tenant architecture so a second agency is onboarding, not a rebuild
View it live →02
Lead Hunter
Lead sourcing pipelineInternal product2026Why it was built
Buying lead lists gives you names, not prospects. We needed lists built to a specific ICP, enriched with reachable contact details, and deduplicated against everyone already in the pipeline.
Evidence on record
12 distinct sources in one scheduled pipeline
Role
Architecture, scrapers, enrichment, scoring
Stack
PythonApifyNotion APIPM2
Delivered
- —12 scrapers across directories, maps and industry sources
- —Contact enrichment and verification pass
- —ICP scoring with deduplication against existing records
- —Scheduled nightly, filed straight into Notion
03
Content Engine
Multi-agent publishingInternal product2026Why it was built
An AI writing pipeline with no independent checks will confidently publish something wrong. The hard part is not generation — it is catching bad output before it reaches an audience.
Evidence on record
5 LLM stages with cross-vendor independence enforced at runtime, 18 seeded topics
Role
Pipeline architecture, verification design
Stack
PythonNVIDIA NIMOllamaLinkedIn API
Delivered
- —Planner, researcher, writer, critic and editor as separate stages
- —Writer and critic forced onto different model vendors — a model grading its own output rates it highly
- —Deterministic fact gate in code, not prompts, run twice before publish
- —Redaction pass that strips sensitive material before it reaches any model
04
Cron Keeper
Reliability toolingInternal product2026Why it was built
A set of scheduled jobs silently stopped running for roughly six days. Every process monitor reported them as healthy, because a process existing is not the same as work happening.
Evidence on record
9 jobs under continuous supervision, polled every 5 minutes
Stack
PythonPM2Telegram API
Delivered
- —Catch-up runner that detects a job whose last run exceeds its own period
- —Hang detection — a job running longer than its ceiling is stopped so the next run is not blocked
- —Last-run state read from the process manager itself, so no job is ever double-run
- —Public-facing jobs restricted to daytime catch-up windows
05
Automation Audit
Workflow engineeringClient engagement2026Why it was built
A live client automation was running daily and producing wrong results quietly. Nobody could say which step was at fault, so nobody could price a fix.
Evidence on record
6 distinct defects identified and documented, with two costed remediation paths
Role
Technical audit and remediation plan
Stack
n8nWebhooksGoogle Sheets
Delivered
- —Full trace of the existing workflow, step by step
- —6 defects written up with reproduction and impact
- —Two options: targeted repair, or rebuild with monitoring
- —Handed over as a document the client could act on without us
06
MediGuide
Healthcare referencePrototype2026Why it was built
Symptom-to-medication lookups return American brand names that mean nothing at an Indian pharmacy counter.
Evidence on record
Built against the Indian brand-name market rather than a US drug database
Role
Data pipeline, AI layer, demo
Stack
PythonRxNormNVIDIA NIMEdge TTS
Delivered
- —Symptom input mapped to generic compounds
- —Generic names resolved to brands actually sold in India
- —Narrated walkthrough produced for evaluation
07
Trading Systems
Quantitative toolingInternal product2026Why it was built
A strategy that looks profitable on paper usually is not once costs are counted. We wanted the measurement infrastructure to be honest enough to prove our own system was not working.
Evidence on record
15,913 feature rows and 595 logged trades under continuous measurement
Role
Architecture, ML pipeline, measurement
Stack
PythonSQLitescikit-learnWebSockets
Delivered
- —Event-driven execution on live market data feeds
- —ML pipeline with temporal train/test split and an out-of-sample gate
- —A model that cannot beat a coin flip is ignored rather than trusted
- —Cost accounting that reports net rather than gross, which reversed the headline result
Have something like this to build?
Fifteen minutes is usually enough to tell you whether it is worth building, roughly what it takes, and whether we are the right people for it.
Book a discovery call →