Mohan Kumar / AI & automation

I design,
build and ship
AI systems

AI agents that triage incidents and raise the fix, document pipelines where every finding links to its source, and the full product around them: schema, queues, dashboards, deployment. Built end to end, not prototyped.

Verified track record · Upwork

  • $100K+Delivered for clients
  • 3,400+Hours shipped
  • 100%Job success score

Top Rated Plus Top 3% of talent on Upwork

Agentic systems & MCP

Tooling that gives agents context they can act on: structured traces, MCP servers, retrieval, and the evals that keep output trustworthy.

Workflow automation

n8n and API integrations that move work between the systems you already run, and document pipelines whose findings link back to their sources.

Full-stack product

The whole system, not a demo — schema, job queues, auth, dashboards, and the deployment that keeps it running at 3am.

Voice AI

Phone agents that book, answer and route in real time — media streams, streaming speech, barge-in, and tool calling into the systems you already run.

Background

A decade of shipping software

Enterprise delivery alongside Fortune 500 engineering teams, then direct product work for US operators whose businesses run on the software every day.

Experience

10+ years in software development — enterprise delivery through to solo, end-to-end product builds

Worked with

Honeywell · Honda · Aptar — Fortune 500 engineering organisations

Honeywell

Industrial process automation: worked with production-floor operators, demand forecasting and planning tools, OEM integrations, OPC protocols and sensor data.

Direct client · Florida, USA

Eagle Club Systems

Golf course management platform — booking, membership and operations for clubs across the United States.

100+Golf courses running it

Direct client · Florida, USA

NetConnect Healthcare Systems

Patient management systems handling scheduling and records for medical practices around the country.

Multi-practiceDeployed across US practices

Patterns I deploy

Where this applies to your operation

The same building blocks land in most operations the same way: something arrives, it waits for a person, and that person reconstructs context before doing the actual work. I have built these systems. The figures are typical ranges unless marked measured — your own baseline is the first thing we measure.

Manual
  1. Work arrives
  2. Sits in a queue
  3. Someone gets to it
  4. Re-reads the context
  5. Handled
hours → days
Automated
  1. Work arrives
  2. Handled
  3. Exceptions to a person
seconds

Engineering · on-call

Incident triage to fix

On-call engineers triage and investigate every incident by hand.

Manual
  1. Incident alert
  2. Triaged by hand
  3. Investigated by hand
  4. Fix applied
~6 h
Automated
  1. Incident alert
  2. Triaged with rules and knowledge base
  3. On-call team tagged in Slack
  4. Investigated, fix proposed
  5. Human approval
  6. Fix applied and PR raised
~1 h

Measured: mean time to resolution from about 6 hours to about 1, at 50+ tickets handled per day, with about 80% of proposed fixes approved as proposed.

Hospitality & clubs

The after-hours line

The phone competes with the person at the counter, and keeps ringing after closing.

Manual
  1. Call rings
  2. Voicemail
  3. Morning triage
  4. Callback
  5. No answer
  6. Booking lost
~14 h
Automated
  1. Call rings
  2. Live availability checked
  3. Booked + confirmed by SMS
~50 s

Typical: roughly a third of inbound calls arrive outside staffed hours; at ~80% containment on routine questions the agent pays for itself on recovered bookings alone.

B2B SaaS · support

Ticket triage and drafted replies

Most of a first response is reconstruction: who is this, what plan, what broke.

Manual
  1. Ticket lands
  2. Waits in queue
  3. Read and classified
  4. Account context dug up
  5. Reply written
~6 h
Automated
  1. Ticket lands
  2. Classified + routed
  3. Context pulled from CRM and logs
  4. Reply drafted
~4 min

Typical: ~70% of tickets carry enough context to auto-draft. A human still approves every reply — the saving is in the reconstruction, not the judgement.

Distribution & manufacturing

Invoice intake to ERP

A PDF keyed by hand into a system that already knows what was ordered.

Manual
  1. Invoice emailed
  2. Downloaded
  3. 14 fields keyed in
  4. Matched to PO by hand
  5. Posted
~7 min each
Automated
  1. Invoice emailed
  2. Line items extracted
  3. Three-way matched
  4. Exceptions to a human
~25 s each

Typical: ~8% break the match and still need a person. The rest post overnight, turning AP from a daily chore into a morning exception list.

B2B services · sales

Speed to lead

Contact rates fall off sharply after the first hour. Most inbound forms sit overnight.

Manual
  1. Form submitted
  2. Lands in CRM
  3. Next-day review
  4. Rep researches the company
  5. First email
~19 h
Automated
  1. Form submitted
  2. Enriched and scored
  3. Routed to the right rep
  4. First touch drafted
~3 min

Typical: same headcount, same pipeline — the difference is arriving while the lead is still reading your site.

Procurement & legal ops

Contract and renewal watch

Auto-renew clauses are only expensive when nobody reads them in time.

Manual
  1. Contract signed
  2. Filed to a drive
  3. Quarterly manual read
  4. Dates copied to a sheet
  5. Renewal missed
quarters
Automated
  1. Contract signed
  2. Terms, caps and dates extracted
  3. Owner alerted at 90 / 60 / 30 days
on signature

Typical: every extracted clause links back to its page and paragraph, so legal checks the source rather than trusting the summary.

Multi-site retail & field service

The exception digest

Four hours of spreadsheet assembly to answer one question: which sites need attention?

Manual
  1. Exports pulled
  2. Pasted into a sheet
  3. Anomalies eyeballed
  4. Weekly summary emailed
~4 h, weekly
Automated
  1. Nightly pull
  2. Variance against baseline
  3. Five sites named, with why
~2 min, daily

Typical: the win is not the four hours — it is that a bad week gets caught on Tuesday instead of the following Monday.

Highlights — designed and built by me

Selected systems, taken all the way

Each of these went from an empty repository to a running system: the architecture, the model pipeline, the database, the interface and the deployment. Where the hard part was not obvious, I have said what it was.

Agentic system · on-call engineering

SRE agent

On-call incidents triaged, investigated and fixed, for an enterprise client.

  • Claude Agent SDK
  • Slack
  • Human approval
  • Kubernetes
System as built
  1. Incident alert
  2. Triage with rules and knowledge base
  3. On-call team tagged in Slack
  4. Investigation
  5. Proposed fix
  6. Human approval
  7. Fix applied and PR raised
Problem
On-call engineers triaged and investigated every incident by hand, and mean time to resolution was around 6 hours.
Built
An agent that starts when an incident arrives, triages it using team rules and the internal knowledge base, tags the right on-call team in Slack, runs the full investigation and proposes a fix. Once the team approves, it applies the fix and raises the PR.
Stack
Claude Agent SDK · Kubernetes pods on GKE
Role
I owned the agent from design through implementation, plus part of the hosting and infrastructure.
Outcome
  • 50+Tickets handled / day
  • ~80%Fixes approved as proposed
  • ~6 h → ~1 hMean time to resolution

Workflow automation · legal operations

Legal due diligence automation

Due diligence reports for customer onboarding, for an enterprise client.

  • Source-linked findings
  • Rule applied shown
  • Human review
System as built
  1. New customer
  2. Due diligence report drafted
  3. Each finding shows source and rule
  4. Reviewer checks
  5. Reviewer decides
Built
Automates the due diligence report a legal team uses when onboarding new customers. Every finding shows its source and the rule applied, so the reviewer can check it, and the onboarding decision stays with the reviewer.

Workflow automation · talent

Talent-team automation

The hiring loop from screening to follow-up, for an enterprise client.

  • Screening
  • Scheduling
  • Scorecards
  • Follow-ups
System as built
  1. Profile screening
  2. Interview scheduling across time zones
  3. Scorecard consolidation
  4. Hiring-manager follow-ups
Built
Profile screening, interview scheduling across time zones, scorecard consolidation and hiring-manager follow-ups. Candidates move through the loop faster and no profile sits idle.

Agentic system · support

AI support agent

Support answers grounded in Notion and Slack, for an enterprise client.

  • Claude
  • n8n
  • RAG
  • Notion
  • Slack
System as built
  1. Notion + Slack
  2. RAG
  3. Claude on n8n
  4. Support agent
Built
A support agent on Claude and n8n with RAG over Notion and Slack.
Stack
Claude · n8n · RAG over Notion and Slack

Agentic tooling · developer

neuscreen

A screen recorder that produces AI-readable recordings.

  • MCP server
  • Chrome MV3
  • Structured trace
  • Transcription
System as built
  1. Chrome extension
  2. Web app
  3. API + R2
  4. Transcription + summary
  5. MCP server
  6. Coding agent
Problem
A bug report is a video. A coding agent cannot watch a video, so a human sits through it and translates what happened into words before any work can start.
Built
Captures the screen plus a structured trace of what actually happened — click targets with their DOM selectors, console output, network calls, DOM mutations, screenshots and a timestamped narration transcript — exposed over an MCP server. The agent reads the bug as structured context: which button was clicked, what the console said, which request returned 500.
Stack
Chrome extension (MV3) · Next.js · Express · Cloudflare R2 · MCP server
Outcome
  • 6 signalsCorrelated per trace
  • ~40Events per recording
  • ~3 minSaved per bug handoff

The hard part Five event sources — input, console, network, DOM mutations, narration — each with its own clock and its own volume. A click is only useful if you know which node it hit and what the page did in the 200ms after, which means correlating all five onto one timeline and then throwing most of it away. An agent with an unfiltered trace is worse off than one with none.

Marketing automation

Campaign AI (neucampaign.com)

Lifecycle email and segmentation over live operating data.

  • Segment engine
  • BullMQ
  • 26-table schema
  • Deliverability
System as built
  1. Operating data
  2. Segment engine
  3. Queued send
  4. Delivery
  5. Events back
  6. Aggregation worker
Problem
Off-the-shelf email tools cannot express the segments an operator actually cares about, because those segments live in the operating data — visits, spend, recency — not in a list somebody exported last quarter.
Built
A campaign platform with a dynamic segment engine over a 26-table operating schema, queue-backed sending with rate limiting and retries, and background workers handling sync, aggregation, delivery and intelligence.
Stack
TypeScript · Express · Postgres + Drizzle · BullMQ/Redis · SendGrid · React + Vite · Turborepo
Outcome
  • 120kSends / month
  • 99.2%Delivered
  • < 400 msSegment resolution

The hard part Segments are queries, not lists — which is the whole point, and also the problem. A segment has to resolve fast enough to send against while the underlying data keeps moving, so the engine had to stay correct under a schema that is being written to during the send. Drizzle over Prisma was a deliberate call for exactly this reason.

Voice systems

Real-time voice · golf operations

AskCaddie

askcaddie.golf — automated phone answering for golf courses, live 24/7.

  • Voice agent
  • Telephony
  • Tool calling
  • Productized
System as built
  1. Caller
  2. Twilio
  3. Streaming STT
  4. LLM + tools
  5. TTS
  6. Booking link by SMS
Problem
A pro shop counter is one or two people. Every ring competes with the golfer standing in front of them, and after closing the phone rings out — straight into lost tee times.
Built
An AI phone agent answering 24/7 in natural speech rather than an IVR menu: rates, hours, directions and course-specific questions, then a direct booking link texted to the caller. It works alongside whatever tee sheet the course already runs instead of replacing it.
Stack
Twilio Media Streams · streaming STT/TTS · LLM tool calling · TypeScript · Postgres
Outcome
  • 600+Calls answered / month
  • 82%Resolved without a callback
  • < 1 weekTo take a course live

The hard part On a phone line there is no spinner. Two seconds of silence reads as a dropped call, so the latency budget is the product — and callers talk over the agent, which means handling barge-in without losing the turn. The agent also never guesses at availability: it reads the live tee sheet or it says it does not know, because a confidently wrong booking costs more than a missed call.

Working inventory

What I build with

Everything here is in something I have shipped, not a list of things I have read about.

AI & agents

Claude · Claude Agent SDK · OpenAI API · Gemini · MCP servers · RAG · n8n (self-hosted) · structured context traces · tool/function calling · retrieval · prompt and output evals · transcription and summarisation pipelines

Backend

TypeScript · Node · Express · Fastify · Python · PostgreSQL · Drizzle ORM · Drizzle Kit migrations · BullMQ + Redis · Zod · JWT auth · Pino · Vitest · REST

Frontend

Next.js · React · Vite · Angular · TanStack Query · React Router · Tailwind CSS · shadcn/ui · Radix · Chrome extensions (MV3)

Delivery

pnpm workspaces · Turborepo monorepos · modular monolith architecture · background workers · Kubernetes · GKE · Render · Cloudflare R2 · static export · structured logging

Voice & telephony

Twilio Media Streams · Pipecat · Deepgram STT · Cartesia TTS · Gemini Live API · cascade and realtime pipelines · barge-in handling · mid-call tool calling · PSTN + WebSocket transport

How I work

Working with teams

I work alongside the people who do the work (legal, talent, people operations, DevOps), map the process with them, and coach them to automate it. Every system ships with controls: a human approves what matters, outputs link to their sources, and everything is monitored.

How engagements run

Three ways to start

Automation audit

1 week

I sit with your team, measure the real baseline on two or three workflows, and come back with what to automate first, what it costs and what it returns. You keep the analysis whether or not we build together.

Build sprint

2 weeks

One workflow taken from manual to running in production — integrated with your systems, monitored, handed over with the runbook. Fixed scope, fixed price.

Ongoing partner

Monthly

For teams automating continuously. I work as your AI engineering function: new workflows, model and cost tuning, and keeping what is already live healthy.

Tell me what your team does twice

The best candidates for automation are usually hiding in plain sight — the steps a team repeats so often they have stopped noticing them. Describe one and I will tell you straight whether it is worth building, what it would take, and where the hard part is.