← RETURN HOME
WORK

All work

Selected work first, starting with paid engineering. Everything else follows, newest first. 30 entries in all. Use the filters to narrow the list.

Work entries

Engineering2024 to 2026

Healthcare data software at metricHEALTH

Two years as a software developer at a Barrie health-tech company. I built the integrations that move clinical data between systems, automated the testing that kept releases safe, and replaced a weekly spreadsheet export with live dashboards.

PythonFHIRPostgreSQLREST APIsREAD MORE →
Engineering2026

Reading handwritten forms with AI (proof of concept)

A proof of concept I built at metricHEALTH. It reads scanned, handwritten enrollment forms and turns them into structured health records. When it is unsure about a field, it sends that field to a stronger model. 85% of fields cleared the confidence bar on the first pass.

PythonVertex AIGeminiFHIRREAD MORE →
Engineering2024

Clinical Note Summarizer

A personal project. I fine-tuned a language model to turn doctor and patient conversations into short clinical notes, put it behind an API with a web front end, and set up automated deployment to Google Cloud. Built on public data as a demo, not for real patient records.

PythonFastAPIFLAN-T5DockerREAD MORE →
Research2026

How should an AI read patient records?

A study on 13,800 questions about 200 synthetic patients. Records rewritten as plain text answered questions best (40.6%, against 33 to 35% for structured data). Structured data was far better for training a prediction model. Code and data are public.

PythonFHIRRAGLightGBMREAD MORE →
Community2026

A province-wide staff survey for Ontario public libraries

Volunteer work with the Ontario Public Library Association. I helped design, run and analyse a survey on workplace psychological safety: 1,236 responses from more than 60 library systems, presented at the OLA Super Conference.

Survey designStatisticsQualtricsREAD MORE →
Research2026

Is a star classifier looking at the right physics?

A model sorted stars into three types with a macro-F1 score of 0.926. I removed the spectral lines astronomers use for each type and measured what broke. Two types relied on the right lines. The third had learned a shortcut.

PythonLightGBMSHAPREAD MORE →
Writing2026

FHIR for AI/ML engineers

A field guide to the healthcare data standard for engineers meeting it for the first time: what it solves, and where it leaves the hard part to you.

HealthcareFHIRData EngineeringREAD MORE →
Community2026

Tech Titans: teaching kids Python and robotics

A 24-session coding and robotics program for ages 9 to 14 that I designed and taught at Barrie Public Library, funded by a City of Barrie grant.

PythonLEGO SPIKE PrimeTeachingREAD MORE →
Research2026

rocky_mini: A Robot's Brain, Built Sim-First, Now Running on the Reachy Mini

An embodied AI character (Rocky, the Eridian engineer from Andy Weir's Project Hail Mary) on a Reachy Mini Wireless, running on a fully local, zero-cost stack. Every model, audio and camera service sits behind a Protocol with a Fake, so the brain was built with no robot, GPU, or local LLM, and its 241 tests still run that way. Since then: a Qwen2.5-7B LoRA trained and gated on a local RTX 4080, three voice fixes on the physical robot, and Rocky tested there and working.

PythonasyncioFastAPIOllamaREAD MORE →
Writing2026

Will I Hit My Target? A Monte Carlo Planner with ML Inputs

I built a portfolio planner that feeds four machine-learning models into one Monte Carlo wealth simulation, then asks a concrete question. Given a target and a contribution, what are the odds, and how much more would move them? On the synthetic dataset the median lands just short, and the interesting part is what the simulation is made of.

Machine LearningMonte CarloQuantitative FinancePythonREAD MORE →
Writing2026

The QSVM Coin Flip Was an Encoding Artifact: Quantum Kernels on Synthetic ICU Data

In July I blamed chance-level quantum SVM scores on the experiment's small size. A later ablation traced them to an unscaled angle encoding: rescaled on the same 200 rows, the QSVMs reach 0.70 to 0.80 ROC-AUC, and a post-hoc RBF SVM tuned the same way scores 0.810, above each on point estimate. All numbers are from synthetic data.

Quantum Machine LearningBenchmarkingReproducibilityCorrectionREAD MORE →
Writing2026

Raising an Alien in Simulation: Building a Robot's Brain Without the Robot

In July 2026 I built and tested Rocky's software brain in simulation, with no robot, no GPU and no local LLM in the loop, by putting every external dependency behind a Protocol with a Fake. Rocky has since been tested on the physical Reachy Mini and works; this corrected essay keeps the sim-first argument and records what changed.

Embodied AIConcurrencyLocal LLMRoboticsREAD MORE →
Research2026

Decoding the Surface Code: MWPM vs BP+OSD in Simulation

A self-study quantum error correction curriculum whose capstone is a Stim benchmark of two decoders. The fitted thresholds overlap within fit error, the accuracy edge is significant over part of the grid in the committed sweep, and the most useful lessons came from the numbers that later checks took back.

PythonStimPyMatchingldpcREAD MORE →
Community2026

An Anxious Nomad Collective: A Weekly Substack of Book Reviews, Essays, and Long Looks at the Sky

A personal newsletter in the voice a day job does not allow. Book reviews are the entry point. The rest is poetry, personal essay, and slow science writing.

SubstackLong-form EssayBook ReviewsPersonal WritingREAD MORE →
Research2026

Stellar Spectra with Gradient Origin Networks

The cross-survey data-engineering layer for a Gradient Origin Network project on stellar spectra: survey-specific FITS readers, a ~30,000-star cross-match across APOGEE DR17, GALAH DR3, and Gaia-ESO DR4, and a DVC-tracked HDF5/Parquet store. The generative model itself is upstream; this is the pipeline that feeds it.

PythonPyTorchAstropyGradient Origin NetworksREAD MORE →
Writing2026

From Physics PDEs to PyTorch: What Experimental Physics Taught Me About Debugging ML

A physics undergrad spends a year staring at noisy oscilloscope traces and mis-zeroed polarizers. Years later, the same habits keep ML models honest. Characterize the instrument, plot the residuals, check the dimensions, flip the magnet.

Machine LearningPhysicsDebuggingEngineering PracticeREAD MORE →
Research2026

QML-Essentials: a quantum machine learning curriculum, with classical baselines where they apply

Twenty-seven PennyLane and Qiskit scripts, one per curriculum week and all run on simulators, from a Bell pair to a quantum autoencoder. The tier 2 ledger holds no clear quantum win in its seven rows, and the results that taught me the most were the ones that fell apart under a control.

PythonPennyLaneQiskitqiskit-machine-learningREAD MORE →
Community2026

Firebird Community Cycle: Board Service for a Two-Location Bike Co-op

Volunteer board member and digital strategy lead for a Barrie not-for-profit (September 2022 to March 2026). Grant writing, POS procurement, and a city-partnered bike diversion program that keeps hundreds of bikes a year out of the landfill.

WordPressGrant WritingOntario Trillium FoundationCanada Summer JobsREAD MORE →
Writing2025

Dismantled by Design: The Truth Behind Modern Book Censorship

Investigative analysis of coordinated book banning campaigns, debunking myths with ALA data and PEN America reports.

InvestigativeCivil LibertiesData JournalismREAD MORE →
Community2025

Roots of Reality: Volunteer Researcher and Long-Form Writer for a Big History Podcast

Source-vetted research, social-media briefs, and full-length investigative articles for a Big History podcast that ListenNotes ranks in the top 2.5 percent globally. Volunteer role, since September 2025.

Editorial ResearchSource VettingLong-form WritingSocial Media DraftingREAD MORE →
Writing2025

Debunking Denialism About Canada's Sixties Scoop Policy

Historical analysis confronting revisionist narratives about the systematic removal of Indigenous children in Canada.

HistoryIndigenous RightsPolicyREAD MORE →
Engineering2025

Summoner: A Plan-Execute-Reflect Agent Framework on GCP

An extensible multi-agent scaffold built on Vertex AI, Cloud Storage, Pub/Sub, and Firestore, structured around a plan-execute-reflect loop you can unit test one phase at a time.

PythonGoogle Cloud PlatformVertex AIGeminiREAD MORE →
Research2024

Quantum Kernels on Synthetic ICU Data: Tracing a Chance-Level Result to the Encoding

A seeded Qiskit benchmark on synthetic ICU data. Every quantum model sat at chance; rescaling the angle encoding lifted the quantum SVMs to 0.70 to 0.80 ROC-AUC, level at best with logistic regression.

PythonQiskitqiskit-machine-learningscikit-learnREAD MORE →
Research2024

Star-Type Classification: A Pipeline I Trust

A six-class stellar classifier in scikit-learn, wrapped in a ColumnTransformer pipeline and a two-script CLI that a teammate can retrain on a new CSV without reading the code.

Pythonscikit-learnpandasNumPyREAD MORE →
Engineering2024

CarePal: AI Wellness Companion for Seniors

Proactive AI companion for senior wellness checks and medication adherence. Built with the Cohere API and a retrieval-augmented LLM in 20 hours. 2nd place at the Georgian College GenAI Hackathon.

Cohere APIRetrieval-Augmented GenerationLLMPythonREAD MORE →
Research2024

AutoML vs LSTM: Forecasting Iowa Liquor Sales

What three percentage points of forecast accuracy actually cost, on 19.4 million Iowa liquor transactions.

PythonTensorFlowhyperopt-sklearnKerasREAD MORE →
Research2024

Divvy Bikes: A Year in 4.3 Million Trips

Behavioral and operational analysis of the full 2023 Divvy bike-share dataset, separating member from casual riders and recommending where the operational levers are.

TableauPythonPandasMatplotlibREAD MORE →
Research2024

A Century of Natural Disasters: Trends, Impact, and Response

Analysis of global disaster records from 1900 to 2021. Droughts and epidemics are far less frequent than floods and storms, and killed more people in total.

PythonPandasMatplotlibSeabornREAD MORE →
Engineering2024

Real-Time Salary Stream: Scala, Spark Structured Streaming, Kafka, MySQL

Coursework streaming pipeline that ingests employee records over Kafka, classifies them by salary band in Spark Structured Streaming, and sinks the splits to dedicated MySQL tables and downstream Kafka topics. The whole thing runs in Docker Compose.

Scala 2.12Apache Spark Structured Streaming 3.5.0Apache Kafka (Confluent 7.4.0)MySQL 8.0READ MORE →
Research2024

Neural Networks from First Principles

Backprop with a pencil before backprop in NumPy. A two-layer network for MNIST-shaped inputs, derived from the chain rule and implemented from scratch. The artifact is the math, not the accuracy.

PythonNumPyJupyterLinear AlgebraREAD MORE →
© 2026 TIRTHESHJANI.COMBARRIE, ONTARIOAD ASTRA PER ASPERA