Systems · Haris Ullah Khan

Backend development

This is the layer behind insurance quoting, CRM writes, and agent tool calls. Remote delivery at $20.00/hr.

Backend DevelopmentAPI DevelopmentCloud Infrastructure
Quick answer

I build the APIs, auth, queues, durable workflows, and integrations (Python/FastAPI or Node) so portals, CRMs, and AI agents have a reliable system of record instead of a pile of scripts.

A lot of "automation" I am asked to rescue is a local Python file, a Zapier chain that times out, or a portal login that breaks when the vendor changes a CSS class. Backend work here means those jobs become APIs and workers with retries, logs, and a contract the UI can call.

I use FastAPI or Node, Postgres, S3, and AWS. Multi-step work (quote runs, CRM sync, long tool calls) goes through Temporal or Restack so a network blip does not kill step three of five. External systems stay isolated so one flaky carrier portal does not take down the batch.

If you already have a frontend team, I can stay on this layer. You get versioned payloads, webhooks, and run history your operators can trust.

Who it is for

  • Teams whose automation is a fragile local script
  • Products that need auth, roles, and audit trails
  • AI features that must call tools without dropping work mid-flight

What you get

APIs and jobs

Versioned endpoints, webhooks, and background workers. Failures retry. They do not silently disappear.

Durable orchestration

Temporal or Restack-style workflows for multi-step jobs: quote runs, CRM sync, long tool calls.

Integrations

Twilio, GHL, S3, Bright Data, IMAP, carrier portals. Mapped as contracts, not one-off hacks.

How I work

Contracts first

Write the payloads and failure modes before opening a browser automation.

Isolate flaky edges

Each external system is a bounded worker so one timeout does not kill the batch.

Observe

Logs, run history, and a UI or API your operators can trust.

What this looked like on CarrierBridge

The brief started as "type an address, get a quote." The real system became Google Places + BrightData/Zillow prefill, parallel Playwright across ~10 carrier portals, SSE progress, selective retry, Neon Auth teams/history, and EC2 behind Cloudflare Tunnel + OpenVPN. Each carrier is a bounded job. Failures retry. Staff see what ran.

Proof

  • CarrierBridge: Playwright parallel portal automation, SSE progress, EC2 + Cloudflare Tunnel + OpenVPN
  • RenewalSync: Progressive/NatGen Dec pull, structured compare, auto EZLynx activity + PDF upload
  • Use Cortana: Frontend to Restack (Temporal) to Python call path
  • USDvt: transaction, mint/burn, and audit-log backends in a regulated flow

Case studies

Stack and docs

Related

FAQ

Common questions

Do you take backend-only work?

Yes. Many clients already have a UI. I own the API, jobs, and integrations, and leave a contract the frontend can call.

Can you automate third-party portals?

When there is no public API, yes, with retries, 2FA handling where required, and the understanding that portals change. Isolation and monitoring are part of the build.

Where do you host?

AWS (EC2, S3) and Vercel are the usual pair. I will use what your security team already approves.

When do you use Temporal instead of a simple queue?

When a job has more than one step that must survive a crash: quote runs, CRM sync, long tool calls. A single HTTP handler is enough for a cheap request. Multi-step work goes through Temporal or Restack.

Will you work alongside my frontend team?

That is a common setup. I version payloads, webhooks, and errors so the UI team is not guessing. I can mock the API early so they are not blocked.

How do you handle secrets, VPN, and production access?

Your vault, your AWS account, least privilege. For insurance and similar work I have used OpenVPN onto private EC2. I do not copy production data onto a laptop without a written reason.

Do you add logs and retries, or only the happy path?

Retries, run history, and a way for an operator to see what failed are part of backend work here. Silent scripts are what I am usually hired to replace.

Can you take over a fragile Zapier or local Python script?

Yes. The first step is writing the contract and failure modes, then moving the job onto an API and a worker. Zapier can stay at the edge if that is still the right glue.

How long does a backend engagement take?

A single integration with retries and logs is often two to three weeks. A quoting or CRM backbone is longer. Typical rate is $20.00/hr.

01

Work together

Open to full-time, contract, and consulting - let's talk about your product, team, or next AI build.

Video call

Book a free call

30-minute intro - discuss scope, timeline, and how I can help. No pressure, no commitment.

Message

Send a brief

Share project details, budget, or questions - I'll reply within 1–2 business days.