Malik Akhtar · AI developer & software engineer
Karachi, Pakistan · UTC+5

I build AI agents, LLM apps, and the API integrations that make them work in production.

10 years of software engineering; the last few shipping LLM systems into real business software. Not a chatbot that answers and stops.

  • 10 years of software engineering
  • 210+ projects · 5.0 average rating, before Upwork
  • Replies to new enquiries within 24 hours
The 24-hour read

Pick a problem. This is the shape of the read I'd send back within 24 hours.

RE: Invoices & documents Pre-written · the real one follows a call

RE: Invoices & documents

Approach
Read the invoice, check it against your own systems, do the work: a bill in QuickBooks, a ticket in the helpdesk, a line in Slack.
What breaks
429s, 5xx, timeouts — so retry with exponential backoff, duplicate and reconciliation checks, an approval threshold, and a replayable event log.
Not AI
I tell you when AI is the wrong tool. Sometimes a 40-line script beats an LLM: cheaper, faster, deterministic.
Proof
Relay, an AI operations agent, mid-run
This is Relay, running live  AI operations agent · relay.malikakhtar.dev

RE: CRM ↔ accounting sync

Approach
Two systems never designed to talk: webhooks, OAuth flows, rate-limited endpoints. Refunds, partial payments, and reconciliation handled automatically.
What breaks
Rate-limited endpoints and OAuth flows. Error handling, logging, and monitoring from day one, not after something breaks.
Not AI
Sometimes a 40-line script beats an LLM: cheaper, faster, deterministic. I say so even when the AI version would bill more hours.
Proof
Stripe ↔ QuickBooks sync for a logistics company. Has reconciled cleanly since launch without manual fixes.Client work · no public link

RE: An assistant on your own data

Approach
Trained on your own data — Slack, Notion, Google Workspace, or your database — and answering with sources, so output is verifiable instead of confidently wrong.
What breaks
Confidently wrong answers. Sources on every answer make them verifiable; error handling, logging, and monitoring from day one, not after something breaks.
Not AI
I tell you when AI is the wrong tool. I say so even when the AI version would bill more hours.
Tools
Anthropic API · OpenAI API · open models · LangChain · LlamaIndex · RAG · Pinecone · Supabase pgvector · Chroma · evals

RE: An undocumented or legacy API

Approach
Third-party, undocumented, and legacy SOAP APIs: webhooks, OAuth flows, rate-limited endpoints. Half my career. Built to survive production, not just a demo.
What breaks
Rate-limited endpoints, OAuth flows, SOAP. Error handling, logging, and monitoring from day one, not after something breaks.
Not AI
Sometimes a 40-line script beats an LLM: cheaper, faster, deterministic. Either way, code you can hand to another developer: documented, structured, yours.
Tools
REST · GraphQL · webhooks · OAuth2 · SOAP · Python (FastAPI, Django) · Node.js (Express, NestJS) · PHP/Laravel · .NET/C#
Timeline & cost
Realistic estimates. Fixed scope, clear milestones, no surprise invoices.
Work3 projects

Work

One you can open. Two I can only describe.

  1. Relay

    Paper in. Actions out.

    An AI operations agent that reads supplier invoices and customer emails, checks them against the company's own systems, and does the work: bills in QuickBooks, tickets in the helpdesk, a line in Slack.

    • Six tools with strict JSON schemas
    • Duplicate and reconciliation checks
    • Approval threshold
    • Retry with exponential backoff for 429 / 5xx / timeouts
    • Event log streamed over SSE — replayable, testable without a network

    Python · FastAPI · LLM tool use · SSE · vanilla JS · pytest

    Open Relay
  2. · Client work · Logistics company

    Stripe ↔ QuickBooks sync

    Refunds, partial payments, and reconciliation handled automatically. Has reconciled cleanly since launch without manual fixes.

    No public link — client work

  3. · Personal tooling

    AI job-matching pipeline

    Fetches listings, scores them against a profile, drafts proposals with an LLM, schedules follow-ups. FastAPI + SQLite + local dashboard, tested end to end.

    No public link — personal tooling

What I build6 services

What I build

Systems that do the work. Not a chatbot that answers and stops.

  • AI agents & automation

    Systems that do the work: process documents, qualify leads, research, draft, classify, and take real actions inside your tools. Not a chatbot that answers and stops.

  • AI inside your existing stack

    LLMs wired into your CRM, database, admin panel, Google Workspace, Slack, Notion, HubSpot, Shopify, or a legacy system nobody wants to touch.

  • Complex API integration

    Third-party, undocumented, and legacy SOAP APIs. Webhooks, OAuth flows, rate-limited endpoints, data syncs between systems never designed to talk.

    Half my career.
  • RAG chatbots & assistants

    Trained on your own data, answering with sources so output is verifiable instead of confidently wrong.

  • Backend & workflow systems

    The APIs, queues, schedulers, and pipelines underneath all of the above. Built to survive production, not just a demo.

  • Email infrastructure & deliverability

    Multi-domain sending, SPF/DKIM/DMARC, custom tracking domains, warmup, API-level integration.

On paper8 points

What 10 years buys you

  1. I tell you when AI is the wrong tool. Sometimes a 40-line script beats an LLM: cheaper, faster, deterministic. I say so even when the AI version would bill more hours.
  2. Error handling, logging, and monitoring from day one, not after something breaks.
  3. Realistic estimates. I have been wrong enough times to know how long things take.
  4. Code you can hand to another developer: documented, structured, yours. No lock-in, no black box.

How I work

  1. Short scoping call first. I would rather tell you the project is simpler than you thought than take a bloated budget.
  2. Fixed scope, clear milestones, no surprise invoices.
  3. Regular written updates. You never have to ask what the status is.
  4. Support after delivery. I don't disappear at handover.
Stack6 groups

Stack

The tools I reach for, and the older ones I still add AI to.

AI / LLM
Anthropic API · OpenAI API · open models · LangChain · LlamaIndex · RAG · vector databases (Pinecone, Supabase pgvector, Chroma) · function calling / tool use · MCP servers · prompt engineering · evals
Backend
Python (FastAPI, Django) · Node.js (Express, NestJS)
Frontend
React · Next.js · TypeScript
Data & infra
PostgreSQL · MySQL · MongoDB · Redis · Docker · AWS · CI/CD
Integration
REST · GraphQL · webhooks · OAuth2 · SOAP · Stripe · Twilio · HubSpot · Shopify · n8n · Make · Zapier
Also
PHP/Laravel · .NET/C# — for adding AI to systems that already exist
ContactReplies within 24 hours

Within 24 hours: an honest read on approach, timeline, cost.

Send me the problem. Short scoping call first — I would rather tell you the project is simpler than you thought than take a bloated budget.

Karachi, UTC+5 · overlap with US mornings and EU afternoons · clients in the US, UK, EU, Australia, Middle East · English-speaking