RaghavGuptaWebsites · Software · AI systems
Full-stack & AI engineerRemote · Worldwide

AI made building fast. I make it fast and right.

I design and build websites, full apps, RAG pipelines and AI automation — with AI deep in my workflow, so one engineer covers what used to need a team. Five years as the last quality gate before release is why it holds up after launch: everything below was built to be proved, not just demoed.

Taking new projects — remote, worldwide. Replies within a day.

5 yrs
Owning quality
across QA, SDET & AI eval roles
4
Products shipped solo
from spec to working software
0
Critical production defects
across feature releases
§ Services · 8

What I can build for you.

01

Website design & build

Editorial, fast, hand-tuned sites — designed, written and built by the same person, so nothing gets lost between the mockup and the code.

  • Design and front end in Next.js / React
  • Motion with GSAP, Framer Motion or three.js
  • Structured data, sitemap and social cards
  • Deployed on Vercel
Typical turnaround · 1–3 weeks
02

Software & apps from scratch

Spec to working product: backend, database, frontend and the tests that keep it honest — one engineer owning the whole stack.

  • Django / DRF or Node.js APIs
  • PostgreSQL, Supabase, Redis
  • React / Next.js web apps and installable PWAs
  • Dockerised, with the test suite in CI
Typical turnaround · 4–8 weeks to a first release
03

AI automation workflows

Multi-step work an LLM can do reliably — research, triage, reporting — built as agents with schemas, guardrails and retries, so the output is something you can check.

  • Multi-agent pipelines
  • Validated, structured output — not free text
  • Retries and failures a person can read
  • Generated reports — PDF, markdown
Typical turnaround · 1–3 weeks
04

RAG pipelines

Assistants that answer from your own documents, cite their sources, and refuse when retrieval is too weak to support an answer.

  • Ingestion, chunking and embeddings
  • Vector store setup and retrieval tuning
  • Citations on every answer, relevance floors
  • Latency work: routing, parallel pre-processing
Typical turnaround · 2–4 weeks
05

AEO — answer-engine optimisation

Make your site legible to ChatGPT, Claude, Perplexity and AI search answers: structured data, crawl rules that admit assistant bots, and pages written to be quoted.

  • Schema.org structured data
  • robots, sitemap and llms.txt
  • Long-form pages written to be cited
Typical turnaround · 1–2 weeks
06

Security & compliance audit

An application security review from someone who has spent five years breaking software before users could — plus readiness reviews against SOC 2, ISO 27001, GDPR and India's DPDP Act, so the formal audit holds no surprises.

  • Authorization matrix, tested rather than assumed
  • IDOR / enumeration and replay checks
  • Security headers and dependency review
  • SOC 2 · ISO 27001 · GDPR · DPDP gap assessment
Typical turnaround · 1–3 weeks
07

AI agent & LLM evaluation

Before your AI feature ships, find out whether it actually works: reproducible eval environments, objective verifiers, and failure modes hunted on purpose.

  • Dockerised, deterministic eval tasks
  • Reference solutions as verifier controls
  • Boundary and negative cases aimed at agents
  • Pass/fail you can trust — no flakes
Typical turnaround · 2–4 weeks for a first eval suite
08

Test automation

Regression suites that run themselves and stay green for the right reasons — web, mobile and API, wired into CI.

  • Playwright (web) and Maestro (mobile)
  • PyTest frameworks, Page Object Model
  • API and JMeter load testing
  • CI integration and flake triage
Typical turnaround · 2–4 weeks for a first suite in CI
§ Selected work · 5 projects

Work I've shipped, and how.

Live · letshway.com

Shway

Landing page for a social-plans app

The marketing site for Shway, “Tinder for your plans”. The hero is a swipe deck you can actually drag, flick and match with, followed by scroll-driven storytelling and an autoplay gallery that pauses when you look at it. GSAP with ScrollTrigger, Draggable and SplitText over Lenis smooth scroll, in hand-written HTML, CSS and JavaScript with no build step.

Stack
HTML · CSS · vanilla JS · GSAP
Motion
ScrollTrigger · Draggable · SplitText · Lenis
Hosted
Vercel
Shipped · open source

Squared Up

UPI-native expense splitting

An India-first Splitwise alternative: split the bill, settle in one UPI tap. Django/DRF over PostgreSQL with a framework-free money core held in integer paise, plus an installable React PWA. The correctness layer is proved against spec vectors and Hypothesis property tests before it ever touches a database.

Stack
Django · DRF · PostgreSQL · React PWA
Money
Integer paise · no floats
Proved with
Spec vectors + Hypothesis
Shipped · open source

Equity Crew

Multi-agent equity research

Five CrewAI agents research a listed stock the way a desk would: fundamentals across eight yfinance endpoints, neural news search, technical indicators written from scratch in pandas, and a dynamically chosen peer set — fused into a BUY/HOLD/SELL call with a confidence score and a generated PDF report.

Stack
Python · CrewAI · OpenRouter · EXA
Agents
6 defined · 4 run in parallel
Output
Validated schema + PDF report
Shipped · open source

Git Guide

Agentic RAG over GitLab docs

A multi-agent RAG assistant that answers GitLab questions straight from the official documentation — grounded, cited, and thrown away when the retrieved chunks are not good enough to support an answer. CrewAI agents, local ChromaDB retrieval, async smart routing, Streamlit UI, and it runs entirely on free tiers.

Stack
Python · CrewAI · ChromaDB · Streamlit
Embeddings
BAAI/bge-small · local CPU
Cost
$0 to operate
Shipped · on sale

Steno

Writing standard for AI prose

A writing standard that makes AI-generated prose read as though a person wrote it — used as a checklist while drafting, or as an editing pass over text that already sounds machine-written. Rules are tiered so structure and stance get fixed before cosmetic tells. Product, copy, brand and front end built end to end by one person.

Ships as
Claude skill · portable prompt
Model
One-time purchase
Built
Product · copy · brand · front end
§ System design

How the pieces fit.

Fast is only useful if the shape is right. Three of the systems above, drawn out — the boundaries, the data flow, and the decisions that hold them together. Each links to the full case study.

01Squared UpUPI-native expense splitting
  • Modular monolith
  • Framework-free domain core
  • Idempotent mutations
  • Derived, never stored, state
  • Authz matrix as tests
frontend-monzo/    React · Vite · Tailwind · installable PWA
       │
       │  fetch /api/v1   (JWT bearer, Idempotency-Key)
       ▼
backend/           Django + DRF — modular monolith
  core/            auth · directory · groups · expenses
                   balances · turn · settlements · AI entry
       │
       │  calls into, never re-implements
       ▼
backend/domain/    pure Python — zero Django imports
  money.py         integer paise, no floats anywhere
  split.py         largest-remainder allocation
  balance.py       balances derived from the ledger
  simplify.py      debt minimisation
  turn.py          "Turn to Pay" fairness rotation
  upi.py           upi://pay intent builder
       ▲
       └── tests/test_vectors.py    every worked spec example
           tests/test_property.py   Hypothesis invariants
                                    (both run with no database)
  1. Money is an integer, or it is a bug.
  2. Balances are derived, never stored.
  3. The server never touches the money.
  4. Outsiders get 404, not 403.
  5. Idempotency keys on every mutation.
  6. Invited placeholders and real accounts are the same user.
The full case study →
02Equity CrewMulti-agent equity research
  • Parallel fan-out
  • Schema-first output
  • Guardrail and retry loop
  • Preflight validation
                 CLI  ·  main.py --stock SYRMA.NS
                          │
                 startup validation
                 env vars · symbol format · live API reachability
                          │
   ╔══════════════════════▼══════════════════════════════╗
   ║   PHASE 1 — four crews, ThreadPoolExecutor(4)       ║
   ╚══╤═══════════╤════════════╤════════════╤════════════╝
      │           │            │            │
 ┌────▼────┐ ┌────▼────┐ ┌─────▼─────┐ ┌────▼─────────┐
 │Financial│ │  News   │ │ Technical │ │    Peers     │
 │8 yfinance│ │ EXA     │ │ RSI MACD  │ │ LLM picks   │
 │tools     │ │ neural  │ │ BB SMA    │ │ 4–5 comps,  │
 │          │ │ search  │ │ volume    │ │ no hardcode │
 └────┬─────┘ └────┬────┘ └─────┬─────┘ └────┬─────────┘
      └────────────┴────────────┴────────────┘
                          │
   ╔══════════════════════▼══════════════════════════════╗
   ║   PHASE 2 — sequential                              ║
   ╚══════════════════════╤══════════════════════════════╝
                          │
              analyst   ·  no tools by design
                          │
              fin_expert ·  InvestmentRecommendation
                          │  ├─ action: BUY | HOLD | SELL
                          │  ├─ confidence: 0.0–1.0
                          │  ├─ target_price, current_price
                          │  ├─ reasons: ≥ 2
                          │  └─ risks:   ≥ 1
                          │
                 guardrail fails ──► CrewAI retries the task
                          │           with the error as feedback
                          ▼
              markdown artifacts + [SYMBOL]_Report.pdf
  1. The output schema came before the agents.
  2. The synthesiser is given no tools, deliberately.
  3. Technical indicators written from scratch.
  4. Peers are chosen at runtime, not hardcoded.
  5. Failures are told to the operator, not the log.
  6. Retry logic is fifteen lines, not a dependency.
The full case study →
03Git GuideAgentic RAG over GitLab docs
  • Query routing
  • Async pre-processing
  • Relevance floor
  • Local embeddings · $0 to run
User query
   │
   ▼
Smart Router
   ├─ under ~4 words / ambiguous ──► FULL pipeline
   │                                   intent classify ─┐ asyncio
   │                                   query rewrite  ──┘ .gather()
   └─ clear, 5+ words ──────────────► straight to retrieval
   │
   ▼
Retriever Agent  (CrewAI)
   semantic_search · filtered_search · multi_query_search
   ChromaDB cosine similarity · RRF fusion
   │
   │  heuristic validation: drop every chunk below 0.40 relevance
   │  (nothing clears it → no answer, which is the correct outcome)
   ▼
Synthesiser Agent  (CrewAI)
   writes only from surviving chunks · cites every claim
   flags deprecated features · never extrapolates
   │
   ▼
Cited answer + source URLs + route pill + response time
  1. A relevance floor instead of a validator agent.
  2. Route around the pipeline when it is not needed.
  3. The two pre-processing steps do not depend on each other.
  4. Asymmetric embeddings, used asymmetrically.
  5. Local embeddings and a free-tier LLM, so it stays up.
The full case study →
§ How I work

AI for the speed. Proof for the rest.

AI writes a lot of my first drafts — code, tests, copy. That is what lets one engineer move at the pace of a team. What it does not do is decide when the work is right. That part is five years of test engineering, and it is built into every step.

Step 01 · Spec

Pin down what done means.

Before any code: the outcome, the edge cases, and the check that will prove it. On Squared Up that was a written domain spec whose worked examples later became the test suite.

Step 02 · Build

Build with Claude in the loop.

Claude Code is my main engineering tool, set up per project: context engineering in a project memory file that records the architecture and its contracts, custom skills, MCP servers for the browser and outside tools, and sub-agents for parallel research and review. Plan first, then build, then check the result in a real browser. It is how a solo build covers frontend, backend and infrastructure without cutting corners.

Step 03 · Verify

Prove it, don't eyeball it.

Property-based tests on money math, schema guardrails on agent output, relevance floors on retrieval, verifiers checked against a reference solution. AI speeds up the writing; the checks make it safe to ship.

Step 04 · Ship

Ship small, then widen.

Dockerised, deployed, observable — and honest about scope: what shipped, what is parked, and why. Then the next loop starts from real use instead of guesses.

§ Current assignment

I test the AI coding agents other people are about to trust.

Handshake AI · Contract · Since March 2026 · Remote

Correctness used to be binary: run it twice, get the same answer. AI coding agents broke that assumption, and I moved toward the break rather than away from it. I design the evaluation environments that decide whether an agent actually did the job — and the hard part is not the agent, it is making a red run mean exactly one thing.

How I test an agent →
  1. 01SpecificationThe task in prose, the way a ticket would arrive.
  2. 02EnvironmentDockerised, pinned, no network at solve time.
  3. 03ReferenceA known-good solution — the control on the verifier.
  4. 04VerifierObjective pass/fail on outcomes, never on the transcript.
§ The record

Where I've shipped quality.

Handshake AI
QA Engineer — AI Agent Evaluation (Contract)
Mar 2026 — Present
Remote
  • Designed end-to-end test scenarios for AI coding agents — each packaged as a reproducible Dockerised environment with a written specification, a reference implementation, and an automated verification suite defining objective pass/fail criteria.
  • Applied boundary, negative and exploratory testing to surface agent failure modes in long-horizon planning, environment state handling, and recovery from failed tool calls.
  • Enforced determinism and eliminated flaky verification so results measure agent capability rather than environment defects.
  • Extended five years of test-design discipline to non-deterministic systems, where correctness is probabilistic and assertions must tolerate valid variation in approach while still catching wrong outcomes.
Grey Orange
Software Engineer — QA / SDET
Sep 2025 — Dec 2025
Gurugram, India
  • Owned end-to-end sprint QA — planning, test design, automation, defect tracking and retrospectives — landing on-time releases with improved defect containment.
  • Built automated regression suites for warehouse and robot workflows in PyTest, Selenium, Playwright and Page Object Model, cutting manual effort 60–70%.
  • Ran performance and load testing for high-throughput bulk operations with JMeter and REST API testing, validating SLA compliance under peak load.
  • Published pipeline metrics to Grafana for coverage, failure-trend and release-readiness visibility across stakeholders.
  • Triaged nightly automated pipelines — isolating flaky tests and coordinating fixes via JIRA — reducing false positives 25%.
Shway
Software Engineer — Quality Assurance
Jun 2023 — Sep 2025
Remote
  • Led functional, system and regression testing across iOS and Android using manual QA plus Selenium/Appium — zero critical production defects across releases.
  • Ran end-to-end API testing with Postman, RestAssured, Requests and Swagger, cutting backend defect leakage 40%.
  • Executed load testing for high-traffic flows with JMeter, improving response times under peak load 30%.
  • Designed an in-house data-driven automation framework (PyTest, Page Object Model) that reduced test maintenance 35%.
  • Integrated test execution into CI/CD with Jenkins, Git, Docker and Kubernetes for quality checks on every build.
Yellow.ai
Customer Success Engineer
Jul 2021 — Jun 2023
Remote
  • Acted as quality gatekeeper for enterprise clients — owning pre-release validation, defect triage and go-live sign-offs for conversational workflows.
  • Triaged incidents, set severity, and verified fixes in staging and production, lifting CSAT and reducing repeat incidents.
  • Led technical UAT sessions with enterprise customers, converting business feedback into product improvements.
§ Stack

The stack I build on.

Full-stack, end to end: the interface, the API, the data, the AI layer, and the test-and-deploy chain that keeps it all running.
SRM Institute of Science and Technology
B.E. Computer Engineering · 2017–2021
Frontend
  • Next.js
  • React
  • GSAP · ScrollTrigger
  • Lenis
  • three.js
  • Framer Motion
  • HTML / CSS
Backend
  • Python
  • Django / DRF
  • Node.js
  • JavaScript
  • REST / OpenAPI
Data
  • PostgreSQL
  • Supabase
  • Redis
  • Vector DBs · ChromaDB
  • MongoDB / NoSQL
AI
  • Claude Code · skills · MCP
  • Sub-agents · context engineering
  • Agentic RAG
  • CrewAI multi-agent
  • Embeddings
  • LLM / agent evaluation
Testing & Automation
  • Playwright
  • Maestro
  • PyTest · Hypothesis
  • Selenium · Appium
  • JMeter
  • Postman / RestAssured
DevOps & Delivery
  • Docker
  • Kubernetes
  • GitHub Actions · Jenkins
  • Vercel
  • Grafana
  • JIRA · TestRail