Dhruv Gopani
Senior Full-Stack Engineer and Product Lead, AI products for medical records and legal workflows
Surat, India. Remote, full overlap with Europe, three to four hours with US East. Open to contract, employer of record or relocation. | +91 88499 27290 | dhruvgopani8@gmail.com | linkedin.com/in/dhruv-gopani-2636361ab | github.com/dhruv278
Summary
Full-stack engineer and product lead for AI products that handle regulated data. At Omnis AI I lead MedChron, a medical-chronology platform for US personal-injury law firms, where every extracted fact has to cite its page and every workflow has to survive an audit. TypeScript end to end (NestJS, Next.js, React, PostgreSQL, MongoDB, AWS, Kubernetes) with LLM pipelines on Gemini and Claude. I use Claude Code, Codex and Cursor every day and write the prompts, evaluations and tooling the team builds on. Before that, shipped SaaS products at a software studio.
Core strengths: Product roadmap, specifications and prioritization, cross-functional delivery, problem solving from vague requirement to shipped feature, LLM and RAG pipelines with source citations, LLM evaluation and prompt versioning, Model Context Protocol (MCP) and agent systems, multi-tenant B2B SaaS, PHI handling, security remediation, QA and acceptance cycles.
Experience
Remote. Legal-technology company building an AI practice platform for personal-injury law firms.
- Personal-injury firms spent days reading thousands of pages of medical records to build a case chronology. Lead MedChron, the product that turns those records into coded, cited chronologies in hours, own its roadmap, specifications and priorities with leadership, and build the core features with a distributed engineering team.
- Rebuilt the deduplication and extraction stages of the Gemini pipeline so a file from many providers comes back as one clean timeline instead of the same visit three times. Added deterministic merge guards ahead of the LLM dedup pass on BullMQ workers and benchmarked each prompt version against source records.
- An attorney cannot use a fact without the page it came from. Introduced page-level citations for every extracted fact, with a resolver that checks each reference against the record and drops malformed or unverifiable ones rather than showing them.
- Case teams needed quick answers about a patient's history without reading the whole file. Took Chi, MedChron's in-product AI assistant, from a first tool-calling prototype to release candidate, adding cited patient-scoped answers and PDF export, and drove three QA rounds that worked through 28 reported defects, including two critical data-isolation findings.
- Half of extracted medication rows had no start date, which broke treatment timelines. Rewrote the medications prompt, added post-extraction validators and ran a replay evaluation against source records: rows missing a start date fell from 53% to 26% with no fabricated drugs or citations. Separately rebuilt bill reconciliation and added ICD-10 body-part validation for injuries.
- Cross-organization access gaps were raised as security tickets against document and entity routes. Closed every finding, removed unauthenticated upload routes, enforced tenant scoping and rate limits, and maintain the eight-rule secure-coding SOP the team reviews every change against.
- Prompt edits shipped untracked and patient identifiers could reach the models. Built an append-only prompt registry with versioning and admin restore, and added PHI scrubbing to the chronology and bills extraction prompts.
- Chronology data sat in a silo, cut off from the firm's case system and its clients. Integrated MedChron with the CasePro legal CRM (sync with retry and an outbox, matter-driven embeds, combined PDF export) and the shared identity service (TOTP, passkeys, API keys), and hardened the client portal attorneys use to share records with OTP lockout, token binding and mobile fixes from QA.
Surat, India
- Photo studios had no clean way to deliver and sell albums. Built Kwik Media, a photo-album SaaS on React, Redux and TypeScript with a Node backend, MySQL on RDS, S3 and CloudFront, Kafka queues and FCM push. Live at kwikmedia.in.
- Built Delta Wealth, an AI personal-finance app on Next.js, Prisma and Supabase, where Gemini receipt OCR categorizes transactions so budgets stay current without manual entry.
- Ran Node microservices with Kafka and Redis on AWS (EC2, ECS, Lambda) with CI/CD pipelines.
Delhi
- Clients wanted sign-in without the cost and delay of SMS one-time passwords. Integrated WhatsApp-based passwordless login into client applications across React, Next.js and Node stacks.
Projects
NestJS, Next.js 14, Prisma, PostgreSQL, Redis and BullMQ, Stripe, OpenRouter
- Built AgentFlow so users can assemble teams of specialized agents (researcher, writer, reviewer, coder) that run as a dependency graph and stream to the browser over SSE.
- Priced Free, Pro and bring-your-own-key plans on Stripe, encrypted stored keys with AES-256-GCM, and enforced per-plan model allowlists and run limits in the service layer.
- One failed step halfway through a long run used to waste every step before it. Each step is now saved before the next starts and a failure halts the run.
n8n, Claude, Replicate, ElevenLabs, Shotstack, YouTube API
- Making one short video by hand took hours. A 59-node n8n workflow researches the trend, writes the script, generates images and voiceover, renders and uploads to YouTube unattended.
- One price could not cover both a $0.57 render and a $3.41 one. Set three quality tiers (FLUX, Wan, Kling) at those cost points with provider fallbacks so one outage does not stop a render.
Other platforms built and delivered, 2024 to 2026
- Wholesale demand and quotation platform (NestJS, Prisma, PostgreSQL, Next.js). Island wholesalers traveled shop to shop guessing who wanted stock. Multi-tenant B2B platform where retailers request quotations, prices stay private per quote, payment and installment options are configured per island, and drivers confirm delivery by QR scan.
- Deposit-return recycling platform (NestJS, Prisma, PostgreSQL, Next.js). Government sets products and prices, collectors pay the public for returns, finance settles verified claims, every step permissioned and audited.
- Regulatory license lifecycle platform (Express, Prisma, PostgreSQL, Next.js). Moved an aviation regulator off paper: apply, inspect, pay, issue and renew stages, PDF certificates, cron-driven renewal notices, four roles.
- Incentive calculation engine (Express, Prisma, PostgreSQL, Next.js). Quarterly payouts were computed by hand and disputed. Configurable slab-based engine fed by attendance and customer feedback, with a full audit trail.
- Food-surplus marketplace (Next.js 14, Payload CMS, tRPC, MongoDB, Stripe and Razorpay, Mapbox). Two-sided marketplace connecting surplus-food sellers with buyers, with dual payment rails, real-time order updates and map-based discovery.
- Multi-blockchain exchange backend (Express, MySQL, Socket.io). Real-time order matching for BTC, ETH, TRON and XRP, KYC workflows, cron-based settlement.
Skills
Languages: TypeScript, JavaScript, SQL
Frontend: React, Next.js, Redux, TanStack Query, Tailwind CSS, Material UI, shadcn/ui
Backend: Node.js, NestJS, Express, REST, WebSockets (Socket.io), Server-Sent Events, BullMQ, Kafka
Data: PostgreSQL, MongoDB, MySQL, Redis, Prisma, Mongoose, TypeORM
AI and LLM: Gemini, Claude, OpenAI, OpenRouter, prompt versioning, LLM evaluation, RAG with source citations, guardrails, Model Context Protocol (MCP), agent orchestration, n8n
Cloud, DevOps and testing: AWS (S3, EC2, ECS, Lambda, SES), Kubernetes on EKS, Docker, GitHub Actions CI/CD, Prometheus and Grafana observability, Jest, Playwright
Security and auth: JWT, OAuth, Better-Auth, TOTP 2FA, Passkeys (WebAuthn), Argon2id, multi-tenant isolation, PHI handling
Product and leadership: roadmap and specifications, prioritization, cross-functional delivery, QA and acceptance cycles, stakeholder demos, code review, AI-assisted development (Claude Code, Codex, Cursor)
Education
Bachelor of Engineering, Computer Engineering. Sarvajanik College of Engineering and Technology (Gujarat Technological University), 2019 to 2023. CGPA 8.74/10.
Winner, Predictaholic AI competition (2021). Runner-up, COBWEB web-building competition, SVNIT (2021). Finalist, HackUTU hackathon (2020). Core team, Google Developer Student Club (2020 to 2021).