AI Engineer
& Agent Orchestrator

Open to roles & freelance

I orchestrate models, tools and agents into AI that actually ships — RAG, fine-tuned LLMs and voice agents real people talk to.

click the shape — it's ~30,000 points
of math, drawn in plain text

( Muhammad )

UZAIR KABEER

scroll to begin ↓

01 — the story so far

I'm Uzair, an AI engineer from Rawalpindi who orchestrates *models, tools and agents* into systems that *actually ship.* For three years I've built retrieval pipelines, fine-tuned language models and voice agents that pick up the phone, so humans *don't have to.*

Currently
AI Software Engineer @ Funavry Technologies
Experience
0+ years shipping AI
Based in
Rawalpindi, PK · --:-- local
Specialty
Agent orchestration · RAG · Voice AI
Hallucinations reduced
0% (Llama 3 + LoRA)
Job matches created
+0% at a “Tinder for jobs”
Commits on two production AI platforms
0 since Dec 2025
Cups of chai per model trained
∞

02 — orchestrator.run()

One model is a demo.
An orchestra ships.

This is the job: wire models, retrievers, tools and guardrails into one system, then make it survive real life. Pick a job I've built for real, break a part of it, and watch the orchestrator recover.

break it →
steps0
tool calls0
retries0
fallbacks0

Pick a job and press run.

The routing, parallel calls, retries, fallbacks and the critic loop are real code running in your browser. Only the agents' replies are scripted, so the demo works offline and costs nothing.

03 — production.log

That was a miniature.
These are the real ones.

Two systems I've built with a team over the past year. Company and client names are left out; the numbers come straight from the git history.

case 01

Voice agents that do the work while you're still on the call

main contributor · 1,289 of 1,745 commits · Dec 2025 → Sep 2026

A business describes the phone agent it wants in a chat. The system builds the agent's purpose, tools, call flow and prompt, connects the business's own apps, and puts it on a real phone number, for inbound calls and outbound campaigns.

  • Acts mid-call. Books the slot, looks up the record, sends the SMS, updates the CRM or sends a payment link while the caller is still talking.
  • Finishes after hang-up. If a step didn't complete live, a second agent completes it afterwards with the same tools and the same call flow.
  • Tested before it's trusted. Every agent runs scored test calls in a sandbox and cannot go live below 70.
  • Tools scoped per call. Outbound campaigns receive their tools call by call, so one campaign's permissions never leak into another.
  • Grounded. Answers come from the business's uploaded knowledge base. What it doesn't know goes to a human number instead of being invented.

LangGraph · FastAPI · VAPI · Twilio · ElevenLabs · Composio · Azure AI Search · MongoDB · Redis

Simplified. The dot is one call: brief, test gate, tool use while talking, then the follow-up after hang-up.

case 02

An agent that turns a sentence into a live trigger

top contributor · 120 of 339 commits · Sep → Oct 2026

On an orchestration platform, every automation needs something to start it. A user says “tell me when a deal over $10k closes”. This service works out which app, which table and which condition, confirms it with the user, and from then on starts the right orchestration every time it happens.

  • An agent inside an agent. A ReAct agent talks to the user. An inner planner graph explores the schema, samples real values, writes and validates the condition, and pauses to ask when the request is ambiguous.
  • Three kinds of event, one way out. Data-warehouse syncs, the platform's own events and events from 18 third-party apps all end in the same call that starts an orchestration.
  • Fast in, safe out. Webhooks are verified and queued in milliseconds. A separate worker does the heavy part with at-least-once delivery, run-once claims and a dead-letter lane.
  • Tenant isolation by construction. Identity is never an argument the model fills in; every tool reads it from the verified login. There is no parameter through which the agent could ask for someone else's data.
  • Tool output is data, never instruction. Tested by forging tool results, not by typing attacks into the chat. 26 adversarial prompts across six guardrails held, and so did the checks that it doesn't over-refuse.
  • A prompt that doesn't grow. The app catalog is searched, not listed, and only the tools a turn needs are bound. 85 apps or 20,000: the prompt is the same size.

LangGraph · FastAPI · Redis Streams · Azure SQL · Fivetran · Composio · LangSmith · Docker · 695 tests

Simplified. Top: one conversation registers a trigger. Bottom: every later event takes the same road to a run.

04 — training_history.log

Five epochs of
learning on the job.

    • Smart search with Azure AI Search + LangChain, fusing keyword and vector search: +25% answer accuracy.
    • AI voice calling agents that book restaurant tables and handle customer service in real time, with smart call routing.
    • NLP-driven task management: tickets, job status and assignments from plain language, wired into GitHub.
    • Hybrid-search RAG chatbots on Pinecone + LangChain: +35% accuracy via BM25 + dense retrieval fusion.
    • Fine-tuned Llama 3 and Mistral with LoRA adapters: 22% fewer hallucinations.
    • AI blog engine with CrewAI + DeepSeek writing 250+ SEO articles a month for 10+ clients.
    • Automated daily/weekly Google Drive backup infrastructure for company data.
    • Next.js app forecasting Amazon FBA product success with multiple regression + the Keepa API.
    • Job matching with cosine similarity, BM25 and profile-embedding clustering: +40% matches.
    • Led the Node.js + MongoDB backend and real-time WebSocket analytics dashboards.
    • Churn prediction with XGBoost + SHAP explainability: 88% F1.
    • Pandas + Dask preprocessing pipelines: 60% less cleaning time.

pre-training

BS Computer Science — National University of Modern Languages, 2020–2024. Specialized in AI, ML & NLP. Technical team member at Google Developer Student Clubs (mentored 5 AI projects) and graphic head for Kaar-e-Kamal welfare, so yes, I care about pixels too.

05 — model_zoo/

Things I've trained,
built & shipped.

hover a row · click to open

06 — requirements.txt

What I orchestrate with.

Agents & orchestration
LangGraph · LangChain · CrewAI · ReAct agents · tool calling · human-in-the-loop · Composio
Language models
GPT-4 / 3.5 · Llama 3 · Mistral · DeepSeek · LoRA fine-tuning · RLHF
Retrieval
Hybrid search (BM25 + dense) · Pinecone · Azure AI Search · embeddings
Voice
VAPI · Twilio · ElevenLabs · mid-call tool use · post-call completion
Reliability & safety
Redis Streams workers · at-least-once delivery · retries with backoff · prompt-injection tests · LangSmith tracing
ML & vision
PyTorch · TensorFlow · scikit-learn · XGBoost · Transformers · ResNet50
Shipping
FastAPI · Docker · Azure · DigitalOcean · CI/CD · GitHub Actions
Around the model
Python · Node.js · Next.js · React · Flutter · Azure SQL · MongoDB · Redis

07 — retrieval demo

Ask my AI twin
anything.

A real RAG pipeline. Your question is scored with BM25 against chunks of my CV right here in your browser, then the top chunks go to Gemini 3.5 Flash-Lite, which may only answer from them. If the API is busy, the local retriever answers on its own. Either way: no hallucinations (I checked).

Every dot is a chunk of my CV. Chunks that share words sit together. Ask something and watch where your question lands. experience projects skills about
uzair-twin · online bm25 · local

08 — lab.ipynb

Train a neural net.
Then try to break it.

A real 2-layer network written from scratch, learning live on your CPU. Pick a dataset, tune it and get it to 98%. Click the plot to add data (Shift-click for orange; on a phone, taps alternate colours) and watch it adapt. Two achievements are hiding in here.

epoch 0
loss—
accuracy—
points0

2 → 12 → 12 → 1 · tanh · sigmoid · adam

09 — inference

Let's buildsomething smart.

inference.run( you )

The site has been keeping score.

      A tiny classifier guessing who you are from how you used this page. It runs in your browser and the guess never leaves it.