Software engineer · AI productsOpen to SDE + AI product roles

I ship products,then own what breaks.

I’m a software engineer who takes products from the first schema to the people who use them — BoutiqueAI for boutique retail, prepWai for interview practice, and patient-facing AI at Growdemy.

Work

BoutiqueAI

A multi-tenant operating system for boutique retailers.

Role

Founder & Full-Stack Engineer

Period

Mar 2026 — now

Catalogue, orders, karigars, WhatsApp commerce, billing and hisaab in one product. I designed the 52-table schema, built the Express API and the React Native app, and still run it.

52tables
183REST endpoints
94app screens
BoutiqueAI / order pathTrace 001
01 / Storefront

Every boutique gets a catalogue and checkout built from the products the owner already maintains — no second inventory to keep in sync.

BoutiqueAI owner home showing pending orders, dues, clients and upcoming deliveries
Owner home

The day’s orders, dues and deliveries on one screen.

BoutiqueAI orders screen with stitching status, trial dates and outstanding balances
Orders

Stitching, karigars, trial dates and balances on the order record.

WhatsApp conversation from a boutique with an order confirmation and a receipt link
WhatsApp

Confirmations and receipts from the boutique’s own number.

The notebook became a ledger.

Orders, stitching jobs and sales write to one record. Dues are derived from it, reminders go out on WhatsApp, and the day closes on a single screen.

WhatsApp became the counter.

I registered as a Meta tech provider and built embedded signup, so each boutique sends confirmations and PDF invoices from its own number — queued through BullMQ with retry and backoff.

Tenancy is enforced at the query.

All 52 tables are scoped by boutique at the data layer, with field-level masks on customer and payment data. The client never decides who can see what.

The catalogue got a recommendation engine.

CLIP embeddings in pgvector rank designs by visual similarity, then business rules, colour, embroidery and occasion signals re-rank the shortlist against each customer’s fit history.

TypeScriptReact NativeExpoNext.jsNode.jsExpressPostgreSQLDrizzlepgvectorRedisBullMQRazorpayMeta WhatsApp Cloud APIAWS
Case 002Archived

prepWai

A mock-interview platform with two agents and one validator.

Role

Solo build

Period

Dec 2024 — Mar 2025

A dual-agent interview system — an interviewer plus a JSON-schema validator — over a resume and JD parsing pipeline, with long polling and Pinecone RAG for cross-session memory.

2agents
3datastores
1schema gate
CLIENTWeb appchat · resume · dashboardRazorpaytoken packsSERVICEEXPRESS APIAuth + tokensone credit per interviewResume pipelineparse → LLM extractSession APIlong pollingSafety monitorabuse → abort + logAGENTSTHE CORE — ONE SESSION, ONE TURN LOOPInterviewer agentasks · follows up · holds toneGeminithe modelValidator agentschema + rules · the gateREJECTED → RE-ASKDATAPostgresaccounts · token ledger · resumeMongoDBtranscript · evaluationsPineconeembeddings · long-term memory01 — A token is decremented in one Postgres transaction before a session opens. No credit, no interview.02 — Every question and answer is embedded to Pinecone. The interviewer pulls past sessions mid-interview.03 — The validator is a gate. A malformed turn is re-asked, never scored.
The whole system, in one frame

Client, service, the dual-agent core, and three stores that each earn their place: Postgres for the ledger, MongoDB for the transcript, Pinecone for the memory.

Two agents, one schema.

One agent interviews, the other validates the transcript against a JSON schema, so a malformed session can never reach the scoring step.

Memory that survives the session.

Pinecone holds the cross-session vector memory while Postgres keeps the structured record. Answers from a previous session land in the next one.

Credits that reconcile.

Token credits are bought on Razorpay with idempotent payment verification, so a retried webhook cannot mint a second pack.

Next.jsExpressPrismaPostgreSQLMongoDBPineconeGemini SDKRazorpay
ExperienceThe run log
Growdemy

Growdemy

Software Engineer — AI Solutions

Mar 2026 — now

  • Built an AI patient assistant over a RAG pipeline of clinic policies and service catalogues, returning citation-grounded answers and abstaining on out-of-scope queries.
  • Built the patient app in React Native and Expo — appointment booking, intake forms, visit history, reminders — shipping iOS and Android from one codebase.
  • Implemented WhatsApp and push reminder workflows with idempotent jobs, retry and backoff, and queue-based scheduling.
  • Added role-based access for patient, doctor and admin personas with an operations dashboard for scheduling load and missed appointments.
React NativeExpoTypeScriptNode.jsPostgreSQLRedisRAGOpenAI
InStep Technologies

InStep Technologies

Full-Stack Intern

Jun 2025 — Feb 2026

  • Built booking and scheduling modules across React Native, Next.js and Express, covering staff calendars, availability and payment flows for an international client.
  • Reduced average API response time ~40% with Redis caching, N+1 query removal and index tuning on high-read endpoints.
  • Built an event-driven notification pipeline on AWS Lambda, EventBridge, SQS and FCM, with retries for failed delivery.
React NativeNext.jsExpress.jsRedisAWS LambdaEventBridgeSQSFCM
Achievement

2nd place among 50+ teams

BFCET National Hackathon, Jan 2025 — a full-stack AI mental-health app in React Native and Gemini, built in 36 hours.

Community

President, Web Development Club

Baba Farid College of Engineering and Technology, Jan 2024 – Apr 2025 — mentored 50+ students.

Education

B.Tech, Computer Science & Engineering

Baba Farid College of Engineering and Technology, Jun 2026.

How I work

Plan → agent → review → merge.

I build with agents, but I do not hand over the work. The loop below is the same one I run on a feature, a migration, and a whole product.

Plan

Agents work from a plan, not a prompt.

I write the spec and the task breakdown first. The agent works from that, inside the repo, with the checks, and hands back a diff plus what it changed — so I can read it in one pass.

Review

I read every diff.

Nothing lands unreviewed. When it is wrong I send it back and say how I want it done. I own the code that ships; the agent does not sign it.

Automate

The parts I have done twice, I automate once.

Migrations, release notes, test scaffolding, image and content pipelines. The multi-agent news pipeline I built runs end to end and publishes without me.

Ship

Known work ships in an afternoon.

Plan → agent → review → merge. On the parts that are well understood that is roughly a hundred times faster than doing it by hand, and no faster on the parts that are not.

Toolbox

What I reach for. Boring tools, mostly.

Languages

TypeScriptJavaScriptPythonSQLBash

Frontend

React NativeExpoNext.jsReactTailwind

Backend

Node.jsExpressRESTBullMQRedis

Data

PostgreSQLDrizzlePrismaMongoDBpgvectorPinecone

AI

RAGOpenAIGeminiCLIP embeddingsLangChain

Cloud

AWS LambdaEventBridgeSQSS3Vercel

Payments & messaging

RazorpayIn-app purchaseWhatsApp Cloud APIFCM

Practice

DockerGitCI/CDTurborepoPlaywright

Contact

If it has to work, we should talk.