Mubashir Rehman

Mubashir Rehman

I like difficult systems. I like figuring out why they break. Then I like making them boring.

Workflows that span systems that do not talk to each other. I make them reliable, and add AI where it helps.

Lead Software Engineer, TransData · Lahore · UTC+5
3+ years in production · Open to remote roles

Hiring for a specific role? →

01 / How I work

  1. Rule 1: Read the number that does not add up.

    from: An AI voice front desk for dental clinics

  2. Rule 2: Split diagnosis from fixing where the blast radius changes.

    from: A harness for AI coding agents near production

  3. Rule 3: Prove the path end to end before you tune the thresholds.

    from: A social and market signal intelligence backend

  4. Rule 8: Deterministic first, model second.

    from: HireTrack: an AI résumé tailor and job-application tracker

All nine rules →

02 / Selected work

01 · Ownership · August 2026 to present

An AI voice front desk for dental clinics

Took an AI receptionist for dental clinics from AI-scaffolded code to production, with three voice providers and per-practice tenant isolation.

  • A total that did not add up
  • A queue that would not stop growing
  • A date the agent never questioned

The interesting part. Each practice holds its own credentials for the eligibility API, and I removed the environment-variable fallback. With a fallback, one practice's credentials could serve another. This fixes isolation at the provider boundary, not only in the data layer.

Read the case study →

The path of one booking, from the call to the practice's own scheduling system.

02 · Systems · 2025 to 2026

A social and market signal intelligence backend

Built a client backend alone: it ingests Telegram, Discord and X, summarises with AI, searches semantically and raises alerts.

  • Messages arrived and no alert fired
  • Alerts fired before the analysis arrived
  • Three failures in one X session

The interesting part. I wrote a JSON baseline of the existing task graph, then moved background jobs from Celery to ARQ in a planned run of commits. A queue change touches every ingestion path. The baseline gave me something to check the new workers against.

Read the case study →

One message, from a platform to an alert in Discord.

03 · Applied AI · 2026 to present

AI agents working inside a live ERP

Built an agent platform over an ERP: it began as expense-claim automation and became multi-company procurement and inventory intelligence.

The interesting part. I pointed the same OCR, tool-calling and ERP layer at procurement, and moved expense and procurement onto one shared contract in a single commit. The hard parts, reading documents and acting through the ERP's API, already worked.

Read the case study →

How a document reaches the ERP through an agent, and how the dashboard reads the result.

+ 6 more case studies, open source and research →

03 / When things break

A total that did not add up

Symptom
An insurance carrier count on a screen I was redesigning read 80, and a reviewer model doubted it.
Cause
It was the exact sum of several tenants' rows. The query had no tenant filter, at a call site an earlier leak fix had missed.
Fix
I added the filter and checked it against the isolation tests.

An AI voice front desk for dental clinics →

Messages arrived and no alert fired

Symptom
Messages were being listened to and saved, and the alert engine never triggered.
Cause
Two quality gates and a duplicate check stood in front of every alert. I put them in from the first version, so a strict threshold and a broken path looked identical.
Fix
I replaced the trigger with one that alerts on every call, marked plainly as a debugging change. Alerts fired, so the path was sound. The thresholds came back later as configuration.

A social and market signal intelligence backend →

Every trend count was too high

Symptom
Each message count on the dashboard trend chart was inflated.
Cause
Every data point summed connector-level rows on top of the channel-level aggregate that already included them.
Fix
I kept only the channel-level aggregate rows.

An operations console for a healthcare integration engine →

Tell me what the system is doing. Tell me what it should be doing.

mubashirrehman66@gmail.com →

Lahore, Pakistan · Open to remote roles

Download résumé