Skip to content

I build and shipbooking systems. AI booking agents. payment flows. matching engines.

Full-stack engineer in Delhi. At UnQue I shipped booking, payroll, attendance and access control for a salon SaaS of 40 businesses, where the booking bot I built grew bookings 3× to 10,000 a month. At Rocket Health I prototyped the in-house scheduler to replace Calendly. Now building LLM agents with tool-calling and RAG — and I like the boring parts of the stack: the constraint that stops the double-booking, the queue that keeps the hot path off the database.

orders matched a second
in-memory engine · local load test
5,000
appointments a month
UnQue · 40 businesses
10,000
growth in bookings
booking bot I shipped · five months
3×
faster releases
40 minutes down to 5 · Docker + AWS
8×
Selected work · 01–04

Four builds, each with a number I can defend.

Each one is a full case study: the problem, what I built, the architecture, the hard parts, and the proof. The exchange's matching engine runs right here, on your CPU.

01Applied AI

Salon Concierge

A Telegram concierge that books salon appointments, safely.

An agent on Telegram that books, reschedules and cancels salon appointments through plain chat, taking real actions on a SQLite database via Gemini tool-calling. Guardrailed so it never invents a price or a slot, with per-user state for multi-step flows — verified by an automated eval passing 10/10 scenarios.

  • Gemini tool-calling
  • Telegram
  • Python
  • SQLite
  • Evals
02Trading infrastructure

Market-Exchange

A Binance-style exchange, with the matching engine running in this page.

A trading exchange modelled on the Binance API, serving mock local pairs alongside live pairs proxied from Backpack. Orders match in a single-node in-memory engine — 5,000 a second at sub-5ms — while durability stays off the hot path through 3-second snapshots and a Redis replay queue.

  • Next.js
  • TypeScript
  • Redis
  • TimescaleDB
  • WebSockets
  • Docker
03RAG

AskDocs

Ask questions of your own documents, and get an answer that cites them.

Upload PDFs or text and a FastAPI service chunks and embeds them into ChromaDB. A Gemini agent decides when to search, answers from the retrieved passages, and says “I don't know” when they don't cover the question. Dockerised and deployed on Render.

  • FastAPI
  • ChromaDB
  • Gemini
  • RAG
  • Docker
  • Render
04Real-time

Talksy

Messaging that re-renders one conversation, not the whole list.

Real-time messaging with instant delivery, typing indicators, presence and persistent history. The interesting work was the state layer — restructured so an incoming message re-renders the conversation you are reading, not the entire list behind it.

  • React
  • Node.js
  • Socket.IO
  • MongoDB
  • Zustand
How I work

Four rules I keep, because each one cost me something once.

  1. 01

    Correct under concurrency.

    A constraint, not a code review, stops the double-booking.

    Two customers hit the same slot in the same second. The fix that held in production was a unique index on the slot, not a check in the handler.

  2. 02

    Measure before you claim.

    Every number on this page came out of a system that ran.

    5,000 orders a second is a local load test, and it says so. The 10/10 on the salon agent is an eval script in the repo you can run yourself.

  3. 03

    Ship the whole thing.

    Build, containerise, deploy, hand off.

    Releases went from 40 minutes to 5 because I owned the pipeline too — Docker, automated AWS deploys, and a runbook someone else could follow.

  4. 04

    Ground the model.

    An agent that cannot invent a price is worth more than one that sounds clever.

    System prompts, tool-calling and retrieval keep the LLM inside what is true: it books real slots, quotes real prices, and says “I don't know” when the documents don't cover it.

Stack · what I reach for

Tools I have used in production, not just in a tutorial.

Grouped by the job they do. Nothing here is on the list because it was fashionable; each one has shipped something that people use.

Frontend

Interfaces that stay correct while the data underneath them changes.

  • TypeScript
  • React
  • Next.js
  • React Native (Expo)
  • Redux · Zustand
  • TanStack Query
  • Tailwind CSS

Backend

Boring, observable services with explicit contracts.

  • Node.js
  • NestJS · Express
  • Prisma
  • REST APIs
  • WebSockets
  • JWT auth
  • Python · FastAPI

Data

The invariant lives in the database, not in the handler.

  • PostgreSQL
  • MongoDB
  • Redis
  • TimescaleDB
  • ChromaDB
  • SQLite

Applied AI

Agents that take real actions and stay inside what is true.

  • Gemini API
  • Tool-calling agents
  • RAG · vector search
  • Prompt pipelines
  • Structured output
  • Eval harnesses · guardrails

Cloud & DevOps

If it is not in a pipeline, it has not shipped.

  • AWS (EC2, S3, IAM, CodePipeline)
  • Docker
  • GitHub Actions CI/CD
  • Render · Vercel
  • Jest · Vitest
About

Strongest on correctness under concurrency.

I started with a BCA at GGSIPU in Delhi and a question that never went away: what happens when a hundred people press the same button at the same moment. Most of what I have built since is an answer to that — booking, payments, access control — the parts people only notice when they break.

At UnQue I went from intern to leading a team of four, shipping booking, payroll, attendance and role-based access for a salon SaaS across 40 businesses. At Rocket Health I prototyped the scheduler to replace Calendly, with double-booking prevented by a database invariant. Along the way I rebuilt a release pipeline so a deploy took five minutes instead of forty.

Lately the interesting problems sit where LLMs meet real systems: agents that take actions, retrieval that cites its sources, evals that catch regressions. I like the boring parts of the stack, so the product can be the exciting part.

Now
  • Shipping Salon Concierge — a Telegram booking agent with an automated eval
  • Running AskDocs, a RAG service with a tool-calling agent, on Render
  • Looking for a full-stack or applied-AI team to join — immediately
Timeline

Three years, three teams, one thread.

From a first commit in a BCA lab to leading a team of four. The thread is the same every time: make it stay correct when real traffic shows up.

  1. Aug 2026 — Sep 2026

    Rocket Health

    Full Stack Engineering Intern
    Bengaluru · on-site

    Prototyped the in-house scheduler to replace Calendly — availability engine, round-robin assignment and Google Calendar integration, with double-booking prevented by a database invariant. Closed two revenue leaks in the React Native checkout (a coupon redeemable more than once, payments against lapsed reservations) with redemption validation and a slot-expiry countdown, covered by Jest. Cut product-bundle loading from 6 API calls to 1 with a single NestJS and Prisma endpoint.

    • NestJS
    • Prisma
    • PostgreSQL
    • React Native
    • TanStack Query
  2. Jul 2025 — Aug 2026

    UnQue

    Software Developer
    Remote

    Grew from intern to leading a team of four. Shipped booking, payroll, attendance and role-based access for a salon SaaS of 40 businesses, where the booking bot I shipped grew bookings 3× to 10,000 a month over five months. Eliminated a production double-booking race with a unique database constraint, and cut releases from 40 minutes to 5 by containerising with Docker and automating AWS deploys.

    • Node.js
    • MongoDB
    • React
    • Docker
    • AWS
  3. Jul 2025 — Oct 2025

    OPM Corporation

    Software Developer Intern
    Remote

    Delivered three flows end to end from Figma designs — authentication, profile management and reporting — as responsive React interfaces, and extracted shared UI into reusable components adopted across later features.

    • React
    • TypeScript
    • Tailwind CSS
  4. Sep 2023 — May 2026

    Guru Gobind Singh Indraprastha University

    Bachelor of Computer Applications · CGPA 8.4/10
    Delhi

    JIMS Vasant Kunj. Where the question about a hundred people pressing the same button started.

Recommendations

What the people I worked with say.

Both written on LinkedIn by people who saw the work up close: the co-founder who managed me at UnQue, and a client I built for.

I had the opportunity to manage Chirag during his time at UnQue, where he worked as part of our engineering team and contributed to several areas of our product and backend systems. During his time with us, he worked with technologies including Node.js, TypeScript, MongoDB, and APIs, and was involved in production workflows across bookings, payments, memberships, referrals, and other business-critical features. As his manager, I found Chirag to be a curious and dedicated developer who was willing to take ownership of tasks, investigate issues deeply, and work through complex problems in an evolving product environment. He consistently showed a strong willingness to learn, improve his technical understanding, and take on new challenges. I appreciate his contributions to the team and wish him the very best in his future career.
Krishna VamseeCo-Founder, UnQueManaged Chirag directly · August 2026
Chirag interned and worked with my small business on a project focused on building, integrating, and testing website during August and September 2025. Throughout this time, he demonstrated curiosity and a strong desire to contribute, offering various solutions. He possesses a good understanding of backend technologies, custom software and relevant industry knowledge. I endorse him for his practical skills and knowledge. Best of luck with all your future pursuits.
Manika BhutaniBusiness Owner · ArtistClient · August – September 2025
Contact

Let's build something that survives real traffic.

Open to full-stack and applied-AI roles — immediate joiner, open to relocate. Email is the fastest way to reach me, and I reply within a day.

Or leave a message here