index workers 00 lhe 00:00:00 read 000%
raufkhan.dev
lhe · pk
senior full-stack engineer · 5 yrs · lahore, pk · remote

abdul
rauf

typescript · python · go shipped for teams in uk · us · jp · nl · no

Five years building production SaaS platforms — multi-tenant, AI-native, and load-tested before launch. One clear span from requirements to production alert: no intermediate supports, no handoff at any boundary.

see the work →
git checkout -b feature/how-i-work
on main — a request arrives

Usually vague, usually urgent, usually described as small.

feat/discover

sit in the room first

I take the stakeholder call. Requirements, constraints, and a straight answer on whether it's feasible.

+ scope agreed in half an hour− found out in week three
feat/shape

pick what fits, not what's fashionable

The stack depends on the load, the team who'll maintain it, and how fast it has to move. I've shipped production in TypeScript, Python, Go and PHP.

+ chosen for the actual load− resume-driven architecture
feat/build

agile, and actually iterative

Increments short enough to change direction. I write the review comments too, not just receive them.

+ short feedback loops− big-bang merges
feat/harden

find the breaking point on purpose

Unit and E2E coverage, load tests against real throughput, auth and access boundaries checked before launch.

+ capacity is a known number− launch-day discovery
feat/ship

containerized, automated, repeatable

CI/CD pipelines, infrastructure defined in code, staged releases. A deploy should be boring enough to do on a Thursday.

+ boring thursday deploys− manual release rituals
feat/observe

the part most people skip

Dashboards, distributed traces, error tracking, custom metrics, and alerting that actually reaches a human.

+ failures announce themselves− silent breakage
git merge --no-ff → main

And I'm still on it afterwards. Shipping is the middle of the job, not the end of it.

the modern half

agents amplify judgment. they don't supply it.

The breadth came first — four language ecosystems before any of this existed. The harness that compresses my estimates is written up in full: conventions, agent roles, the MCP servers actually wired in, and the gates nothing merges without.

how i work →
signal
0%
production bugs eliminated after containerization + full observability rollout
0%+
of usebetty.ai owned — first commit through production release
0
countries whose products I've shipped — uk, us, japan, netherlands, norway, pk
0ms
end-to-end voice latency, twice — once on fully custom orchestration in 2022
selected work
open — contract or full-time · remote

let's
talk

rauf.idev@gmail.comclick to copy
● main · healthy github linkedin next.js · vercel edge
archive — 7 projects

work

Mostly SaaS, mostly multi-tenant, mostly things that break loudly when they break. Voice AI built before the platforms existed, autonomous delivery logistics, Japanese government data pipelines, UK edtech, Dutch equity plans, and a Norwegian task platform that quietly holds millions of users.

something not here?

ask

rauf.idev@gmail.comclick to copy
● main · healthy github about
← all work
process

how i work

Two halves. The sequence a piece of work moves through, and the tooling that compresses the mechanical parts of it. The first half hasn't changed in five years. The second changed completely in the last two.

ai-assisted development — guardrails on

agents write code.
i still sign it.

The breadth came first. I was shipping across four language ecosystems before any of this existed — MERN, then Laravel and Vue, then Go and Python. Agents amplify judgment. They don't supply it. What follows compresses the mechanical half of a build. It does nothing for the half that depends on knowing what should be built.

where a build's time actually goes
as originally scoped15 units
with the harness9 units
judgment — mine, doesn't compress mechanical — delegated, compresses hard

Illustrative — the real ratio depends on the codebase. The estimate drops because the mechanical part collapsed, not because anything got skipped. Review and hardening grow in absolute terms.

what's actually wired up

Skills teach an agent how to do a repeatable job. MCP gives it a live connection to the system where that job happens. The value isn't the tool — it's the specific hour of the week it deletes.

CLAUDE.mdconventions

Architecture boundaries and an explicit list of things never to do — the brief I'd hand a new engineer on day one.

removes: re-explaining how we do things, every session
agent teamsseparation of duties

One drafts, one reviews against the spec, one runs the suite. No agent approves its own work — the same rule we apply to people, for the same reason.

removes: a single unreviewed opinion reaching the branch
Playwright + Chrome DevTools MCPbrowser

One drives the browser through the real user flow, the other diagnoses what it finds — network, console, performance.

removes: clicking through the same checkout for the twentieth time
Context7documentation

Version-specific library docs fetched at request time rather than recalled from training data.

removes: code written against an API that moved two releases ago
Supabase / Postgres MCPschema

Migrations and types written against the tables that exist, not the ones somebody remembered.

removes: the migration that passes review and fails on a real column
Sentry MCPproduction

Live errors with stack, release tag and frequency, pulled into the working context.

removes: guessing which deploy broke it
hooks + eval gatesguardrails

Lint, types and tests block the merge. On retrieval work, a dropped eval score is a red build like any other.

removes: judgment calls that should have been a failing check
Skills — SKILL.mddeliverables

Packaged procedures, including docx / pptx / xlsx / pdf generation for specs and handover decks built from the same source of truth as the code.

removes: documentation drifting from the system it describes
what none of this changes
  • I read every diff before it merges, and I can explain any line of it in review with the tool closed.
  • Architecture and data-model decisions are made before an agent is involved, by me.
  • Tests are written against the requirement, not against whatever the implementation happened to do.
  • If I can't defend it, it doesn't ship.

Fast is a result.
It isn't the method.

working together

three ways in

01 · solo

you need it built

No engineers to spare, or none who can take it end to end. I scope it, build it, deploy it, and stay on it after launch.

  • discovery → release
  • infrastructure included
  • i own the deploy
02 · embedded

you need another senior

You have a team and a backlog that's outgrown it. I join properly — your process, your conventions, your review queue, not a parallel track.

  • your standups
  • your pr queue
  • your conventions, not mine
03 · lead

you need someone steering

You have people but nobody scoping the work, estimating it honestly, or holding the review bar. That's a role, and I've done it.

  • scoping & estimates
  • code review
  • mentoring
open — contract or full-time · remote

let's
talk

rauf.idev@gmail.comclick to copy
about
Abdul Rauf
photo.jpg — 480×600
portrait.raw — 1bit
01 / 02 — click to swap

I started in JavaScript, on the MERN stack, building whatever the client needed. Five years later the list of languages is longer — but that was never the point. The point is that I stopped needing the stack to be decided for me.

Early on, "full stack" meant frontend, backend, database. That's a narrow definition and it stops being useful the moment something goes wrong in production. So the scope widened: CI/CD, infrastructure, scaling, monitoring, security. Not because I collected them, but because each one turned out to be the thing standing between a feature working on my machine and a feature working for real users at 2am.

What I actually do day to day is develop and ship. But I'm also the person who takes the call with stakeholders, turns a vague request into requirements, and says early whether it's feasible — instead of finding out in week three. I work in agile cycles: short iterations, real testing, PR reviews in both directions, and monitoring afterwards. End to end ownership, and I mean the end part.

I use agent teams, Claude Code and MCP in my daily loop, with guardrails, because velocity that skips review isn't velocity — it's debt arriving early.

the long version

how i actually build things

process →
the whole stack, honestly
git log --graph --author=me
c0d1a04 2018 — 2022 · lahore

init — a degree and a job at the same time

B.S. Computer Science, University of South Asia, 3.9 CGPA. Started working professionally in the seventh semester, so the coursework and the production incidents overlapped.

7b3e441 2021 — 2022 · xeven solutions

feat: mern, and everything after it

MVPs through production apps, solo and in teams. REST APIs, OAuth, relational modeling — and the first time I had to think about a system rather than a screen.

2c88d10 2022 — 2023 · crewbloom · us

branch: gave software a voice

Owned more than half of usebetty.ai, a no-code AI call agent. Speech, telephony, queues, workers, and a canvas where non-engineers build their own call flows.

9d41ff7 2023 — 2024 · eukarya · jp

checkout: tokyo, open source first

Geospatial platforms for a Japanese government digitization programme. OCR pipelines at scale, medallion architecture, Go and Hono on GCP, all managed in Terraform.

b0e7a95 2024 — now · exam papers plus · uk

merge: senior, and the legacy problem

Several legacy systems merged into one Next.js and NestJS platform. Containerized, instrumented end to end, production bugs down roughly 99%. Then a RAG knowledge engine on top, with real evals.

f3c1e88 head → main

open to the next one

Strongest where AI systems meet infrastructure that isn't allowed to fall over.

open — contract or full-time · remote

let's
talk

rauf.idev@gmail.comclick to copy
● main · healthy github linkedin