Dhruvil Rangani
Open to software engineering roles

Dhruvil Rangani

Full-stack engineer who ships products end to end and stays to operate them. I work across Python, TypeScript and Go: REST and GraphQL APIs, relational schema design, React interfaces on top, and the deployment underneath. The AI work is products with real users rather than demos, including a tool-calling agent gated in CI on measured correctness and latency, and a retrieval-augmented document platform that has been in production since launch.

Toronto, ON · Python · TypeScript · Go

01 / About

Products, not prototypes

Most of what I have built, I have also had to keep running. DiceMail is a self-hosted email platform on our own Postfix and Dovecot stack, which means the outages are mine too: bounced mail, malformed headers, a threading model that has to survive clients that set headers inconsistently. That has shaped how I build. I reach for deterministic guardrails around probabilistic parts, structured logging before I need it, and tests that gate a release rather than decorate it.

I pick up unfamiliar stacks on their own terms rather than by analogy. GoFeedEngine exists because I wanted to learn Go the way Go works, with goroutines and worker scheduling, not by translating Node patterns into it. The same instinct applies to AI systems: I care less about the prompt and more about what happens at the boundary, where the model decides what a user meant and the system decides what actually gets done.

  • Based inToronto, ON
  • FocusBackend, APIs, AI systems
  • Core stackPython, TypeScript, Go
  • CloudAWS, GCP, Docker
  • DatabasesPostgreSQL, MongoDB, Redis
  • StatusOpen to new roles

02 / Skills

What I work with

01Languages

PythonTypeScriptJavaScript ES2022+ GoJavaSQL Data structuresAlgorithmsOO and functional design

02Backend and APIs

Node.jsExpressFastAPIDjango RESTGraphQLMicroservices IMAP / SMTPJWT authWorker scheduling Caching and queues

03Data

PostgreSQLMySQLPrisma migrations Relational modelingMongoDBDynamoDBRedis

04Frontend

ReactNext.js 14 App RouterTailwind CSS React QueryResponsive layoutsPerceived-latency design

05AI and LLM

OpenAI APIRAG pipelinesTool-calling agents Deterministic guardrailsEval harness design CI release gatingPrompt and context tuning

06Cloud and practice

AWS EC2ECS / FargateLambdaS3 RDSSQSGCPDocker GitHub ActionsJestpytest Structured loggingGitAgile

03 / Experience

Where I have shipped

DiceMail

Software Engineer · Toronto, ON

Apr 2025 – Present
  • Build and operate an AI-powered, self-hosted email platform end to end on a three-person team, from first conversation through deployment and maintenance, including the LLM layer on the OpenAI API for composition, smart replies and summarization.
  • Own the backend: a Node.js and Express REST API with Prisma and PostgreSQL schema design and migrations, JWT authentication, and protocol-level send and receive over IMAP and SMTP against a Postfix and Dovecot mail stack we run ourselves, which means owning the failure modes in production.
  • Model threaded conversations in PostgreSQL by reconstructing them from message headers, which is harder than it looks because clients set those headers inconsistently, plus tagging and full-text search.
  • Ship weekly, review peers' code and write the documentation the rest of the team works from, contributing to a 30% improvement in feature delivery speed.
Node.jsExpressPrismaPostgreSQL Next.js 14TypeScriptPostfixDovecot IMAP / SMTPOpenAI APIDocker

Vital Plus

Full-Stack Developer, Intern · Toronto, ON

Jan 2024 – Apr 2024
  • Built REST and GraphQL APIs in Node.js, Express and TypeScript on a four-person Agile team, reaching 90% unit-test coverage through test-driven development.
  • Designed PostgreSQL schema migrations and automated CI/CD with GitHub Actions, Docker and AWS EC2, enabling zero-downtime deployments with CloudWatch monitoring.
Node.jsTypeScriptGraphQL PostgreSQLGitHub ActionsAWS EC2Docker

04 / Projects

Things I built and ran

Voice Order Agent

Python tool-calling agent with deterministic guardrails and a two-mode eval harness

Aug 2026
  • A tool-calling agent that runs a transaction end to end against a live catalog, on one rule: the model decides what the user meant, never what the system does. Prices come from the system of record, invalid records are rejected by the tool layer, and anything with money or safety exposure is a deterministic gate rather than a prompt instruction.
  • The eval harness is a first-class part of the repo. Twelve golden conversations run in two modes against the same expectations: a scripted stand-in model gating every PR at zero cost, and a real model nightly, with five release thresholds including escalation recall at 1.00 and p95 latency under 2500ms.
  • It caught a defect on its first run that manual testing missed, and the defect was not in the model: a gate evaluated inside a code path that returned early, so one class of action bypassed it.
  • Building on the agent framework surfaced a silent failure mode in it, where two parts of the same integration read different environment variable names for the same credential. Fixed upstream.
PythonTool-calling agentsEval harness CI release gatingLiveKit Agentspytest

GoFeedEngine

Concurrent ingestion service in Go with a REST API over PostgreSQL

May – Jul 2024
  • Distributed Go backend with a concurrent ingestion pipeline, worker scheduling across goroutines, API-key authentication and REST endpoints over PostgreSQL, sustaining 99.9% uptime and 40% lower response latency under load.
  • Written to learn Go on its own terms rather than by analogy to other stacks.
GoGoroutinesPostgreSQL RESTAPI-key auth

AI Document Analysis Platform

Retrieval-augmented document platform, shipped solo and in production since launch

Jan – Mar 2025
  • Python backend with a React and TypeScript front end over PostgreSQL, containerized with Docker, cutting document turnaround by 60%.
  • RAG pipeline over uploaded documents, built solo and operated since launch rather than handed off.
PythonReactTypeScript PostgreSQLRAGDocker

Earlier builds

Full list on GitHub

05 / Education

Education

Centennial College

Ontario College Advanced Diploma, Software Engineering Technology, Honours · GPA 4.01 / 4.5

2025

06 / Contact

Let's build something

I am open to software engineering roles in Toronto or remote, and happy to talk through any of the work above in more detail. The fastest way to reach me is email.

dhruvilrangani007@gmail.com