dhruvdave.ca

Computer Science · Queen's University · Kingston, ON

Dhruv Dave

Interested in the parts of a system users never see.

This past summer I worked at FGF Brands on Cerebro, the platform that monitors production across its 22 bakery plants, tracing silent OEE reporting errors through SQL back to misconfigured workflow states and ETL gaps. On my own time I build the projects below: a trading bot that runs 24/7 against a paper account, a stock screener that falls back across six market-data APIs, and a password analyzer that never sends the password anywhere. Most began as questions the documentation did not answer. Before all that: research at the University of Toronto, web development, and e-scooter repair.

I am in my third year at Queen's. In summer 2027 I start at AMD as a Software Engineering Intern, on a 16-month co-op. If you want to talk about any of this, please email me.

Dhruv Dave
Dhruv DaveKingston, ON
Languages
Python, TypeScript, JavaScript, Java, C, SQL
Backend & APIs
FastAPI, Flask, Node.js, Express, Hono, SQLAlchemy, REST, JWT auth, Claude API
Data
PostgreSQL, Redis, SQLite, pandas, NumPy, ETL pipelines, Power BI
Frontend
React, Tailwind CSS, Chrome MV3
Delivery & Testing
Docker Compose, DigitalOcean, Linux, nginx, GitHub Actions (CI/CD), Vercel, Git, Bash, pytest, Vitest

Projects

01

Algorithmic Trading Bot

Trend-following system for US equities. Paper trading only.

EMA(12/26) crossovers behind a 200-SMA filter, with ATR trailing stops. A risk manager sizes each position by the equity it puts at risk, halts on a daily-loss or drawdown limit, and persists the halt state so a restart does not clear it. A backtester runs the same strategy code the bot runs live over 5 years of daily bars and reports return, drawdown, Sharpe, and win rate.

Positions were being sized wrong across CAD and USD; async caching of FX rates from IBKR forex data fixed it. Signals are only evaluated between 3:50 and 4:00pm ET, so the bot never trades on an unfinished daily bar. IB Gateway runs headless (IBC, Xvfb) beside the bot in Docker Compose on DigitalOcean for 24/7 paper trading, and Telegram commands pause it, report P&L, and close positions. Tested with pytest.

  • Python (asyncio)
  • Interactive Brokers API
  • Docker Compose
  • DigitalOcean
  • Telegram
02

Markr

Stock screener with a six-source data fallback chain.

Six market-data APIs behind one FastAPI backend. A Redis Lua script enforces each source's rate limit atomically, so a burst of traffic falls through the chain rather than failing on a 429. Candles write asynchronously to monthly-partitioned Postgres with per-resolution Redis TTLs; RSI, MACD, and Bollinger Bands are computed client-side. A Vitest suite covers the fallback chain, the indicators, and the limiter.

  • React
  • FastAPI
  • PostgreSQL
  • Redis
  • Docker
Markr's screener: a search field above a sortable ticker table listing price, change, and market cap, beside watchlist, portfolio, and upcoming-earnings panels
03

ctx

Local-first browser session tracker.

A session tracker that operates entirely offline. The Chrome extension stores everything locally and the server and CLI are optional. A privacy guard scans each page for password and card fields before anything is captured; blocked pages are logged without a URL, title, or content.

  • TypeScript
  • Chrome MV3
  • Hono
  • SQLite
ctx's extension popup showing the live session: seven pages ranked by time spent, each with its domain, scroll depth, and an attention meter, above Discard and Save session buttons
04

SecureVault

Password strength analyzer, breach check, and generator.

The analyzer charges each guessable part of a password what it costs to guess: dictionary words (leet swaps included), keyboard walks, sequences, and dates. Summer2024! has 72 naive bits but scores 22. The breach check hashes with SHA-1 in the browser and sends Have I Been Pwned only a 5-character prefix; the CSP blocks every other host. A CSPRNG generator reports exact entropy, and Playwright tests fail if any request carries the password or its full hash.

  • React
  • Vite
  • Web Crypto
  • Playwright
  • Docker
SecureVault's analyzer scoring Summer2024! at 22 out of 100, with effective vs naive entropy and time-to-crack estimates
05 Hackathon winner

BakeryInsight

1st place, 4th annual FGFLife Hackathon.

Scores food trends from 9 sources and rates each on 6 feasibility factors (manufacturing, supply chain, cost, safety, brand, shelf life) against real FGF production-line and ingredient data. Built at FGF Brands; it is internal, so there is no public link or screenshot.

  • React
  • Node.js
  • Claude API

Experience

  1. May – Aug 2026

    Cerebro AI Technical Specialist FGF Brands

    • Traced silent OEE reporting corruption at 22 bakery facilities to misconfigured workflow state transitions and ETL gaps in 2,000+ records, using SQL diagnostics against Cerebro's production database.
    • Built Node.js and Python tools documenting Cerebro's OEE telemetry models, changeover logic, and troubleshooting paths.
    • Shipped Power BI dashboards on Cerebro production data for plant teams tracking OEE, downtime, and changeover by site.
    • Configured Cerebro environments across FGF's Canadian facilities and debugged its integration with upstream ERP systems.
    • Won 1st place at FGF's 4th annual FGFLife Hackathon with BakeryInsight (React, Node.js, Claude API), which scores food trends from 9 sources against 6 feasibility factors.
    • SQL
    • Node.js
    • Python
    • Power BI
  2. Jan – Aug 2024

    Research Assistant COBWEB, University of Toronto

    • Configured multi-condition agent-based experiments on the COBWEB platform with Dr. Brad Bass, comparing control and experimental populations in models of ecological adaptive systems.
    • Automated cleaning, normalization, and plotting of multi-run experiment output with pandas and NumPy pipelines, which the group used to compare population dynamics and threshold crossings.
    • Python
    • pandas
    • NumPy
  3. Sep 2022 – Feb 2023

    Software Engineer Intern Digitera

    Delivered web applications for small-business clients in JavaScript, HTML, and CSS, and cut page load time ~40% with asset minification, image compression, and deferred script loading.

  4. Also

    Mobility hardware and software technician at Bird, Jul – Aug 2025: diagnosed and repaired e-scooters and field-tested new features.

Education

  1. Sep 2024 – Present

    Queen's University Kingston, ON

    Bachelor of Computer Science (Honours), Mathematics minor.

    • Data Structures
    • Computer Architecture
    • System-Level Programming (C)
    • Software Specifications
    • Linear Algebra
    • Operating Systems (in progress)
    • Software Quality Assurance (in progress)

Contact

davedhruv2006@gmail.com

Email is the best way to reach me. I read every message. Away from a keyboard, I am usually playing hockey, out on a trail, or travelling.