AKSHIT(1)General Commands ManualAKSHIT(1)

$ whoami

akshit ahuja

backend & AI engineer · I learned systems before AI could write them

I was shipping production backends before ChatGPT or Claude existed: 34M requests a day, a fault-tolerant loan pipeline that disburses $3.4M+ a month, and an auction scheduler that cut a 48-hour manual process to 3 hours. Now I build AI agents on that same foundation, with queues, retries, evals and human gates, so they hold up with real users. Founder of peerseek.io, which I run with Claude Code as my team.

Akshit Ahuja
akshit.jpg · hover to decode

$ cat about.txt

DESCRIPTION

Before AI. I learned backend engineering the old way, when nobody was writing the code for me. At Spinny I went from intern to SDE-2 and built systems that had to hold up under real load: a connected-cars backend doing 34 million requests a day, an auction scheduler that replaced a 20–30 person manual team and cut scheduling from 24–48 hours to 1–3, and a fault-tolerant loan pipeline that disburses $3.4M+ a month without losing a transaction when a downstream call failed. I moved a RabbitMQ that kept falling over to SQS, stopped Kafka from rebalancing itself to death, and learned why indexes matter by taking an API from 500ms to 150ms.

After AI. When the AI wave hit, I built on that foundation instead of starting over. I built an LLM pipeline for a unicorn that parses vehicle service history, saved about$5,000 a month, and took the team on it from 20–25 people to 3–4, with better accuracy and faster turnaround. I've also built voice agents that call people in Hindi on real phone lines, and Folio, a multi-agent blog writer that won't publish anything a human hasn't approved. The model call is the easy part. The queue behind it, the retry when it fails and the alert before users notice are the hard part, and I've been building that part for years.

Founder. At PeerSeek I built the whole backend and infra alone: 18 Django apps, one payment engine, a pytest suite and GitHub Actions CI/CD, on Kubernetes. I also ran the business side myself: finance, legal, marketing, sales calls. I'm a heavy Claude Code user, and it's how one person runs a whole company: custom skills and multi-agent workflows handle engineering, SEO, content and outreach.

$ cat founder.log

PEERSEEK · ONE PERSON, EVERY HAT

build
Wrote the entire backend and infra from scratch: 18 Django apps, one payment engine, pytest, GitHub Actions CI/CD, Kubernetes on Azure.
sell
Ran the early sales calls and user interviews, onboarded creators myself, turned what they asked for into the roadmap.
money
Ran finance myself, from the payment ledger and creator payouts to the company's own books.
legal
Handled the legal side myself: terms, policies and agreements.
market
Ran marketing myself: SEO, content, Instagram. Folio started as PeerSeek's own blog engine.
scale
Claude Code as the team: custom skills and multi-agent workflows for engineering, SEO, content and outreach. That's how one person covers all of the above.

$ ps aux | grep akshit

CURRENTLY RUNNING

PID%CPUCOMMAND
10140peerseekcreator storefronts, payments, instagram auto-DM
10227foliomulti-agent blog writer: plan → research → draft → score → publish
10313heydev"your in-house tech team". agency work
1047whats-nextopen to US remote roles and consulting: scalable backends and production AI agents

$ git log --oneline career

HISTORY · click a commit to git show

2025-05(HEAD -> peerseek)founder[+]
  • Built the entire backend: 18 Django apps covering bookings, webinars, DRM digital products, payments & payouts, coupons, analytics, search, realtime chat and Instagram auto-DM.
  • One payment engine for every product type. A new product gets pricing, coupons, commission and payouts without touching the money path.
  • Runs on Kubernetes (Azure AKS) as separate web, websocket, worker and scheduler deployments. Celery on Azure Storage Queues, Redis for distributed locks, files in Blob Storage.
  • A pytest suite, and GitHub Actions CI/CD for the dev and production environments.
  • Ran the business side myself: finance, legal, marketing, early sales calls and user interviews.
  • Automated the company’s day-to-day with Claude Code: custom skills and multi-agent workflows for engineering, SEO, content and outreach.
2026-01(consulting)independent AI & automation consultant[+]
  • LLM service-history parsing for a unicorn: low-confidence reports go to human review. Saves about $5k/month; the team on it went from 20–25 people to 3–4, with better accuracy and turnaround.
  • Reporting automation for a marketing agency: the whole reporting flow, end to end.
  • Voice agents: Hindi-first calling platform on Pipecat, and an outbound agent that detects voicemail and navigates IVRs.
  • Call intelligence for Happy Nature: rubric scoring, text-to-SQL + pgvector RAG, 4 STT providers benchmarked on real Hindi calls.
  • Ad-spend platform: Meta + Google spend into one Postgres dashboard with scheduled syncs.
  • Self-hosted LLMs on Azure GPU VMs behind a wake-on-request gateway. GPU bill is roughly zero when idle.
2022-08(spinny)intern → SDE → SDE-2 (joined via Scouto, Spinny’s connected-cars company)[+]
  • Scouto (Flask, MongoDB, Lambda microservices): connected-cars backend handling 34M+ requests a day. Built dynamic driving alerts (harsh acceleration, harsh braking), optimised Mongo queries and indexes, built internal CRMs on Retool. Converted from intern to full-time in two months.
  • Moved to Spinny auctions (Django, DRF, MySQL) when Scouto shut down. Rebuilt dealer onboarding so dealers could finish it without help.
  • Auction scheduler: replaced a 20–30 person team scheduling auctions by hand. Time to schedule went from 24–48 hours to 1–3 hours for 70–80% of cars.
  • Dealer financing: designed the system with the loans team, including a fault-tolerant pipeline that keeps loan records consistent when a downstream call fails. It disburses $3.4M+ (₹30 crore+) in dealer loans every month.
  • Central ticketing: moved dealer tickets off manual Salesforce onto the company-wide ticketing system. Resolution time went from 2–8 days to 1.5–3 days.
  • Reliability: moved off a RabbitMQ that crashed every few months to AWS SQS. Fixed constant Kafka rebalancing and lag by re-partitioning topics and scaling consumers. Idempotent webhooks with retries and backoff cut external API failures 90%.
  • Gevent on services fanning out to third-party vendors cut resource use 30%. Mongo indexing took an API from 500ms to 150ms.
  • Go-to engineer for cross-pod integrations and new business initiatives.
2022-02(zscaler)cloud operations intern[+]
  • Python and Bash to automate access control and watch cloud infra. Turned down the full-time offer in month five to go build product backends instead.
2018-08(init)B.Tech CSE, GNDEC Ludhiana (CGPA 8.02)[+]
  • Built Bunk Master, my first product used at scale: it told students exactly how many lectures they needed to stay above 75% attendance, and how many they could safely skip. Grew to 500+ monthly active students before COVID shut campus.
  • Ran the entire backend of the college fest website.
  • Convenor of the SCIE society (7th semester); organised a college-wide coding contest.
  • Spent the rest of it poking at Linux, browser automation, Python, devops and databases. First commit.

$ ls -la ~/projects

THINGS I BUILT

~/projects/peerseekfounder · may 2025 → now · main project

peerseek

● running in production · peerseek.io

A link-in-bio storefront where creators sell 1:1 sessions, webinars, digital products and links from peerseek.io/<username>, and get paid out. I built the entire backend, from scratch, alone.

the backend

$ tree -L 1 peerseek/
├── auth  user  creator  central       # who you are, what you sell
├── calendar  package  webinar          # 1:1 sessions, cohorts, seats
├── digital_product  drm                # files, video, PDFs, with DRM
├── payment                             # the one money engine
├── chat                                # realtime, django channels
├── auto_dm                             # instagram comment → DM
├── analytics  redirection  url_shortner # first-party analytics + UTM
├── inquiry  testimonial  search        # leads, social proof, discovery
├── communication                       # email + whatsapp notifications
└── course                              # in flight

the idea that holds it together

Everything a creator sells is an offering. Each one gets two records: its own definition (Service, Webinar, DigitalProduct, UrlMap) and a row in one shared catalog, CreatorOffering. They're linked by a polymorphic pointer, (context_id, context_type), and that same pair shows up in every money table. So one payment engine serves products that have nothing else in common, and a new product type gets pricing, coupons, commission and payouts without touching the money path.

definition          catalog              fulfilment          money
Service        ─┐                          Booking        ─┐
Webinar        ─┼──► CreatorOffering ──►   WebinarBuyLog  ─┼──► PaymentTransaction
DigitalProduct ─┤                          DP History     ─┘    PaymentBreakdown
UrlMap         ─┘                                               CreatorLedger / Wallet

the money path

pick slot → price breakdown per component (base, recording add-on, platform commission, stacking coupons) → slot locked → Razorpay order → webhook captures payment → booking confirmed, Meet link generated, notifications sent → creator earnings go held → settled after a holding period → wallet → payout.

the rest

  • Instagram auto-DM. Someone comments a keyword on a reel and gets a DM. Meta Graph API with idempotent webhook handlers, keyword matching, follow-gating ("follow first, then I'll send it") and scheduled token refresh.
  • Notifications. One engine for email and WhatsApp that de-duplicates by message ID, so nobody gets "your booking is confirmed" twice when a webhook retries.
  • Infra. Django 5 + DRF, Channels/Daphne for websocket chat, Celery on Azure Storage Queues, PostgreSQL, Redis for distributed locks, pytest, GitHub Actions CI/CD. Docker on Kubernetes (Azure AKS) as four deployments: web, websocket, worker, scheduler. Secrets in Key Vault, files in Blob Storage.
  • Not just code. I ran sales, finance, legal and marketing myself, and automated the day-to-day with Claude Code. See founder.log.

stack: python django drf channels celery postgres redis pytest github-actions razorpay meta-graph-api docker k8s azure-aks

~/projects/folio2026 → now

folio

● AI blog agent · tryfolio.site

A pipeline of AI agents that plans, researches, writes, scores and publishes blog posts, and won't publish anything a human hasn't approved.

PLAN→RESEARCH→OUTLINE→DRAFT→SCORE→REVISE→HUMAN_APPROVAL→PUBLISH
  • Each stage is a Celery task. A run moves on its own and stops at human approval. Reject it and it goes back to REVISE with the scorer's notes.
  • Learns the business first. Crawls the site, drafts a company summary, facts and brand voice, all marked pending_review until a human confirms.
  • Competitor watch. A candidate only counts if its site showed up in a real search result. Followed ones get checked weekly.
  • Fact provenance. Every claim in a draft has to trace back to evidence.
  • Browser bridge. An extension + native host lets agents research through a real browser.
  • Model routing. One strong model writes, cheaper ones do the grunt work. OpenAI Agents SDK on Azure Foundry.

stack: python django celery redis postgres pgvector openai-agents-sdk sanity

~/projects/report-automationconsulting · unicorn · 2026

the $5k/month one

● LLM service-history parsing for a unicorn

A unicorn's vehicle service-history reports came off a vendor portal with no API, and people copied them out by hand. I automated it.

20 → 3

people on the process (20–25 → 3–4) · ~$5,000/month saved

before20–25 people, manual copy-paste from a portalafter3–4 people, checking only the hard cases. Faster and more accurate.
  • Connector pulls service history from a vendor portal that has no API.
  • Extraction: parse the documents, an LLM pulls out the fields.
  • Human-in-the-loop: low-confidence reports go to a review queue instead of straight through.

stack: python llm document-parsing review-queue

~/projects/spinnyintern → SDE → SDE-2 · aug 2022 → apr 2025

spinny

● 2.5 years inside an Indian unicorn (used cars)

Joined as an intern and left as an SDE-2. I worked on the systems that move money, cars and dealers, and I was the engineer pulled in whenever two pods had to integrate or a new business line had to launch.

$ spinny --stats
connected-cars backend ..... 34M+ requests/day
auction scheduling ......... 24–48h → 1–3h (70–80% of cars)
dealer loans disbursed ..... $3.4M+/month
auctions automated ......... 35k+
ticket resolution .......... 2–8 days → 1.5–3 days
external API failures ...... -90%
resource usage ............. -30%
API latency ................ 500ms → 150ms
uptime ..................... 98%+
  • Dealer finance. Designed dealer financing with the central loans team, end to end. The hard part was consistency: if a loan is issued but the call to the loan service fails, the records still have to agree. Built a fault-tolerant pipeline for exactly that. It disburses $3.4M+ (₹30 crore+) in dealer loans every month.
  • Connected cars (Scouto). Backend for car telemetry handling 34M+ requests a day: Flask, MongoDB, Redis and Lambda microservices for data dumps, alerts and route planning. Built dynamic driving alerts (harsh acceleration, harsh braking) and tuned Mongo queries and indexes.
  • Auction scheduler. Auctions across India were scheduled by hand by a 20–30 person team, 24–48 hours per car. I built an event-driven scheduler on Celery + Kafka that does it in 1–3 hours for 70–80% of cars, so auctions could scale without more people.
  • Dealer onboarding. Rebuilt it so dealers finish without needing anyone's help.
  • Central ticketing. Moved dealer tickets off manual Salesforce onto the company-wide ticketing system, changing the shared components' code myself. Resolution went from 2–8 days to 1.5–3 days.
  • Reliability at scale. Moved off a self-managed RabbitMQ that went down every few months to AWS SQS. Stopped constant Kafka rebalancing and consumer lag by re-partitioning topics and scaling consumers. Idempotent payment-webhook APIs with retries and exponential backoff cut external API failures 90%.
  • Performance. Introduced gevent on the services that fan out to many third-party vendors, so workers stop sitting idle on network I/O: 30% less resource use. MongoDB indexing: 500ms → 150ms.
  • Monitoring. Alerting on New Relic, Sentry and gateway logs kept uptime at 98%+.
  • Cross-pod work. Pulled into almost every cross-pod integration and new business initiative: the person who reads both codebases and gets two teams' systems talking.

stack: python django drf flask mysql celery kafka aws-sqs rabbitmq mongodb redis retool aws-lambda elastic-beanstalk gevent new-relic sentry

~/projects/voice-agentsconsulting · 2026 → now

voice agents

● hindi-first, on real phone lines

Voice agents that call real people in Hindi and Hinglish, on Pipecat, Twilio and Plivo. The hard part isn't the LLM. It's turn-taking, latency and everything a phone line throws at you.

latency budget (designed, user stops talking → first audio)

stage                 budget   how
audio capture          20ms    twilio 20ms chunks
noise cancellation     10ms    rnnoise frame
VAD                    10ms    silero
STT (interim)         100ms    streaming
smart turn             50ms    onnx end-of-turn model
LLM first token       200ms
sentence aggregation   50ms    wait for punctuation, then speak
TTS first audio       150ms
total                ~600ms    target: under 700ms
  • Calling platform, three planes. Django control plane, FastAPI + Pipecat voice plane, analysis API. Telephony, LLM, STT and TTS sit behind adapters, and import-linter enforces the boundaries in CI next to ruff, mypy strict and a pytest gate.
  • Outbound agent that survives the phone network. Voicemail-vs-human detection, and an IVR navigator that generates DTMF tones to get through phone trees.
  • Call intelligence for Happy Nature. Transcribe, score agents against a rubric, flag red flags, answer questions with text-to-SQL + pgvector. Benchmarked four STT providers on real Hindi/Hinglish calls before picking one.

stack: python pipecat fastapi twilio plivo deepgram sarvam elevenlabs silero-vad pgvector

$ man ship-agents

HOW I PUT AGENTS IN FRONT OF REAL USERS

gate
Nothing irreversible without a human gate. Folio stops at HUMAN_APPROVAL; the extraction pipeline sends low-confidence reports to a review queue.
score
Score outputs against a rubric, and route on the score. Weak drafts go back to REVISE with the scorer's notes, not to production.
trace
Every claim traces to evidence. Facts from a crawl stay pending_review until someone confirms them.
measure
Benchmark on your own data before choosing a provider. Four STT vendors on real Hindi calls, not a leaderboard.
retry
Agents call flaky APIs. Idempotent handlers, retries with backoff, de-dupe by message ID. Same lessons that cut failures 90% at Spinny.
route
Strong model for the hard step, cheap models for grunt work, GPUs that sleep when idle.
own
Sit with the customer, scope the messy problem, ship, and stay on the hook for the outcome.

$ cat /etc/clients

WORKED WITH

$ cat /etc/stack

TOOLS

lang      python  sql  js/ts  bash  (go, rust: dangerous enough)
backend   django  drf  flask  channels  fastapi  celery  kafka
data      postgres  mysql  pgvector  redis  mongo  cosmos
infra     aws (lambda, sqs, eb)  azure (aks, blob, gpu vms)  docker  k8s  github-actions
ai        claude code (power user: custom skills, multi-agent)  anthropic api  langgraph  pipecat  stt/tts (sarvam, deepgram)
watching  sentry  new relic  prometheus

$ ls -lt /var/log/blog

WRITING

cd /blog →

$ ./contact.sh

Building something, stuck on something, or hiring? Grab a slot and let's talk it through.

book a call

SEE ALSO

call
cal.com/aksh-ahuja/lets-chat
mail
[email protected]
linkedin
in/akshit-ahuja-11715616b
resume
resume.pdf
where
remote · IST, overlaps US & EU hours
status
● open to US remote roles and consulting: scalable backends and AI agents in production. Remote from India, overlapping US hours.