Dhruv Gopani
Stop 1 of 6, Start
Scroll to drive

Senior Full-Stack Engineer and Product Lead

Dhruv Gopani

AI products for medical records and legal workflows, built to be right, not just fast.

Surat, India. Remote, full overlap with Europe, three to four hours with US East. Open to contract, employer of record or relocation. Currently leading MedChron at Omnis AI.

Stop 2 of 6. Omnis AI, January 2026 to now

MedChron: medical records in, cited chronology out.

Personal-injury firms spent days reading thousands of pages of records to build a case chronology. I lead the product that does it in hours: roadmap, specifications, priorities, and the core features.

  • Rebuilt the deduplication and extraction stages of the Gemini pipeline so a file from many providers comes back as one clean timeline.
  • Introduced page-level citations with a resolver that drops anything it cannot verify. An attorney cannot use a fact without its page.
  • Took Chi, the in-product AI assistant, from prototype to release candidate through three QA rounds and 28 defects.
  • Cut medication rows missing a start date from 53% to 26% in a replay evaluation, with no fabricated drugs or citations.
NestJSMongoDBGemini 2.5ClaudeBullMQRedisSocket.ioReactAWS S3Kubernetes on EKSBetter-AuthPrometheus
Before thisThe Coding Studio, 2024 to 2025OTPless, 2023

Stop 3 of 6. Own products

A workshop for agents, and a video factory.

AgentFlow

Teams of specialized agents (researcher, writer, reviewer, coder) run as a dependency graph and stream to the browser over SSE. Free, Pro and bring-your-own-key plans, keys encrypted with AES-256-GCM, plan limits enforced in the service layer, and a failed step halts the run.

NestJSNext.js 14PrismaPostgreSQLRedisBullMQStripeOpenRouterSSE

Short-video pipeline

A 59-node n8n workflow researches a trend, writes the script, generates images and voiceover, renders and uploads to YouTube unattended. Three quality tiers (FLUX, Wan, Kling) from $0.57 to $3.41 a video, with provider fallbacks so one outage does not stop a render.

n8nClaudeReplicateElevenLabsShotstackYouTube API

Stop 4 of 6. Delivered platforms, 2024 to 2026

Six platforms, six problems.

  • Wholesale quotation platform. Island wholesalers stopped traveling shop to shop: retailers request quotes, prices stay private per quote, payment and installment options are set per island, drivers confirm delivery by QR scan.
    NestJSPrismaPostgreSQLNext.jsTanStack Query
  • Deposit-return recycling. Government sets products and prices, collectors pay the public for returns, finance settles verified claims, every step permissioned and audited.
    NestJS 11Prisma 7PostgreSQLNext.js 16Zod
  • License lifecycle. An aviation regulator off paper: apply, inspect, pay, issue, renew. Three license types, PDF certificates, cron-driven renewal notices, four permission roles.
    Express 5Prisma 6PostgreSQLNext.js 15node-cronjsPDFAWS S3
  • Incentive engine. Disputed spreadsheet payouts replaced by a configurable slab engine fed by attendance and customer feedback, 16 data models, soft deletes and a full audit trail across locations.
    Express 5Prisma 6PostgreSQLNext.js 16JoiAWS S3
  • Food-surplus marketplace. Two-sided marketplace connecting surplus-food sellers with buyers. Dual payment rails, real-time order updates, map-based discovery, seller and admin dashboards.
    Next.js 14Payload CMStRPCMongoDBStripeRazorpayMapboxSocket.io
  • Exchange backend. Real-time order matching over WebSocket for BTC, ETH, TRON and XRP, KYC document workflows, funded deposits and cron-based settlement.
    ExpressMySQLSocket.ioweb3.jsbitcoinjs-libtronweb

Stop 5 of 6. Skills and how I work

Everything here has shipped to production.

Languages

TypeScriptJavaScriptSQL

Frontend

ReactNext.jsReduxTanStack QueryTailwind CSSMaterial UIshadcn/uiFramer MotionReact Three Fiber

Backend

Node.jsNestJSExpressRESTWebSocketsServer-Sent EventsBullMQKafkatRPCPayload CMS

Data

PostgreSQLMongoDBMySQLRedisPrismaMongooseTypeORMPinecone

AI and LLM

GeminiClaudeOpenAIOpenRouterPrompt versioningLLM evaluationRAG with citationsGuardrailsModel Context ProtocolAgent orchestrationn8nLangChain

Cloud and DevOps

AWS S3EC2ECSLambdaSESKubernetes on EKSDockerGitHub ActionsPrometheusGrafana

Testing

JestVitestPlaywrightPostman

Security and auth

JWTOAuthBetter-AuthNextAuthTOTP 2FAPasskeysArgon2idMulti-tenant isolationPHI handling

Payments and integrations

StripeRazorpayTwilioZohoSendGridMapbox

Product and leadership

RoadmapSpecificationsPrioritizationCross-functional deliveryQA and acceptance cyclesStakeholder demosCode reviewClaude CodeCodexCursor

How I work. Written specifications before code. Tenant scoping and rate limits by default. Claude Code, Codex and Cursor every day, and I write the prompts and tooling the team builds on. A QA round is not done until the tracker says so.

Stop 6 of 6. Contact

The road ends at the pier. Say hello.

The road ends here. The inbox does not. Back home.