aarmen-sidhu ⌘P
3
// build the system, then measure it · welcome
Aarmen
Sidhu
Data Science @ SFU Systems & ML Data Engineering
const focus = "

I'm a Data Science student at Simon Fraser University who builds ML systems end to end: a fine-tuned code LLM, an inference serving stack, a query engine in Rust. Then I benchmark them honestly, negative results included.

09
Projects
04
Competitions
01
Role
600+
Tests written
<!-- about.html · who I am, what I build -->
About Me
// ml systems · applied ai · honest evaluation

Hi! I'm Aarmen, a data science student at SFU who spends most of his time on machine learning systems and applied AI. I got into this through the unglamorous half of it: fine-tuning models on a single consumer GPU, watching an inference server buckle under load, tracing why a benchmark score was lying to me. That's still the part I like best. I care about honest evaluation, baselines before models, and writing down the results that didn't work as clearly as the ones that did. Right now I'm building toward research on generative models, and looking for a Fall 2026 co-op where I can work on ML systems other people depend on.

about.jpg
Aarmen waving from a chairlift on a night ride
// waving from the chairlift
Current Focus
Fine-tuning code LLMs with QLoRA on a single 12GB GPU
Agentic RAG with hybrid retrieval and cited answers
Inference serving under real load: batching, caching, INT8
Generative models: drifting fields, self-supervised encoders
Honest evaluation: baselines first, negative results kept in
Data platforms: dbt · Dagster · DuckDB
Talk to me about Rust, ML systems, data engineering
Off-duty: snowboarding & curling
Education
Simon Fraser University2024 – 2029 (expected)
B.Sc. Data Science
Burnaby, BC
// projects.js : things I've built & shipped
Projects
const projects = [ ...shipped, ...measured ]
GENAI · LLM · FINE-TUNING

GenAI-Stack-Coder

Fine-tuned Qwen2.5-Coder-7B with QLoRA on a single 12GB GPU so it writes current OpenAI, Anthropic and Ollama SDK code instead of 2023-era calls. A self-built 50-prompt benchmark went 12% to 72% with zero deprecated APIs after tuning, and the demo app's first version was written by the tuned model itself through a ~400-line agent harness.

PyTorchQLoRA / UnslothHugging Facellama.cppOllama
12%→72%
benchmark lift
6,665
training pairs
0/50
deprecated calls
AGENTS · GENAI · AWS

Mailo

A multi-agent email-campaign planner on Amazon Bedrock AgentCore: a thin orchestrator delegates to three specialists over A2A, with MCP tool-calling through a Cedar-gated gateway. Zero-trust identity minted per request, per-user memory with tenant isolation, online LLM-as-judge eval on 25% of traffic, and two real bugs fixed: an IDOR in tenant identity and an MCP connection leak.

Bedrock AgentCoreStrandsA2A · MCPCognitoCedarCDK
4
agent runtimes
25%
traffic auto-judged
0
secrets in code
ML SERVING · BENCHMARKS

InferBench

A FastAPI + ONNX Runtime serving stack with dynamic batching, an LRU prediction cache, backpressure and INT8 quantization, hammered by six k6 benchmark scenarios from Poisson arrivals to spike tests. Every response carries a latency decomposition, and the honest negative result is written up: at saturation, no batching policy beats load shedding.

FastAPIONNX Runtimek6Docker
240→670
req/s (CPU, INT8)
24×
p50 w/ cache
GENERATIVE · RESEARCH

2D Visualizer

Drifting Models (Deng et al. 2026) ported from JAX to PyTorch and run on six 2D toy distributions: one forward pass at inference, no iterative sampler. Up to 500x MMD² reduction over an untrained MLP, a quiver plot that makes the drift field visible, and an honest miss kept in the writeup: concentric rings only reach ~97x.

PyTorchGenerative models
500×
MMD² reduction
1 pass
inference
DEEP LEARNING · SSL

Self-Supervised CIFAR-10

A ResNet encoder pretrained with three self-supervised objectives (MAE, VICReg, NT-Xent), feeding a class-conditional generator with FiLM conditioning, self-attention and EMA weights. Trained 200 epochs in 12 hours on an RTX 2000 Ada: 78.35% linear probe, 79.55% kNN, class-recognizable samples with clean t-SNE separation.

PyTorchMAE · VICReg · NT-XentRTX 2000 Ada
78.35%
linear probe
200
epochs
SYSTEMS · RUST · DATA

Plume

A SQL-style query engine in Rust from scratch: five crates covering a typed logical plan, a five-rule optimizer, seven join shapes and Kleene NULL logic over Arrow and Parquet. 79 of its 208 tests diff every result against DuckDB, so if cargo test is green the answers agree; row-group pruning cuts decoded rows 8x on a 1M-row fixture.

RustApache ArrowParquetrayon
4,800
lines of Rust
208
tests
0
warnings
DATA ENG · LAKEHOUSE

Strata Warehouse

An end-to-end SaaS analytics lakehouse: dlt ingests a simulated 24-month B2B business from Postgres into MinIO Parquet, dbt on DuckDB models a Kimball warehouse, and Dagster orchestrates 29 assets on daily partitions. 179 dbt tests gate quality over 11.4M usage events, feeding 6 marts and an 8-page Streamlit dashboard with a live data-driven story page.

dbtDagsterDuckDBdltDocker
179
dbt tests
11.4M
events
29
Dagster assets
SALESFORCE · FULL STACK

BoardShop

A full Salesforce app for a snowboard repair shop: 4 custom objects with stacked rollups, layered Apex (trigger to handler to service to selector), a technician work-queue LWC and a pickup-ready email Flow. GitHub Actions runs Apex tests, Jest and PMD on every PR; 25 Apex + 4 LWC tests hold 95% org coverage.

ApexLWCFlowsSOQLGitHub Actions
95%
org coverage
4
custom objects
FULL STACK · GAME

Pivot

A full-stack word-ladder game with deterministic daily puzzles: an FNV-1a hash of the date seeds the same puzzle for every player worldwide, no database required. Wildcard-bucket grouping builds the 4,030-word graph in ~7 ms instead of 16M pairwise comparisons, and one BFS routine powers solving, hints and daily selection.

React 19ExpressVitestTailwind v4
~7 ms
graph build
4,030
words
39
tests
// experience.ts · professional journey
Experience
interface Career extends Timeline {}
Dec 2023 – Aug 2024

API Research Volunteer

@ TeejLab · Burnaby, BC

Wrote Python scrapers extracting endpoint, auth, and schema metadata from 500+ public and private APIs across 10+ industries. Replaced manual cataloging and fed TeejLab's API-discovery platform: real contributions to a production product, with APIs classified by industry, function, and compliance to improve enterprise searchability.

PythonWeb scrapingAPI analysisData classification
Education
Simon Fraser University2024 – 2029 (expected)
B.Sc. Data Science
Burnaby, BC
# awards.md · competitions & hackathons
Awards
// 4 hackathons · 1× 2nd place
GreenLeaf 2nd place
RBC Agritech Hackathon · BCCAI + SFU Beedie
May–Jun 2026
  • Calibrated logistic model predicting 3-day plant-stress spikes: ROC-AUC ~0.78 vs a 0.63 current-stress baseline, validated on a time-based split with explicit leakage prevention.
  • Turned the model into a daily risk-ranked watch-list: ~2.3× lift catching stress spikes in the top 20% of plots, each alert surfacing its top controllable driver.
  • Agentic RAG assistant over the operational data and a document corpus: hybrid retrieval with sentence-transformers plus safe pandas query tools, every answer cited.
  • Refused three tempting-but-unsupported claims: won trust by not overclaiming.
Breaking the Current Finalist
SFU Beedie Analytics Hackathon · KPMG + BC Hydro
Apr–May 2025 · team of 3
  • Modeled BC Hydro's supply-chain exposure under an overnight 25% U.S. tariff scenario, combining internal stock and lead-time data with Logistics Performance Index scores.
  • Found Major Equipment plus Material & Logistics drive 70%+ of total tariff exposure, with switchgear and distribution transformers the largest single-category risks.
  • Proposed a phased plan: near-term safety stock and dynamic allocation, then supplier diversification through 2028.
QuietSteps Pitched
MISA Microsoft hackathon
2026 · team of 3
  • Passive gait monitoring from floor vibrations: an ADXL355 accelerometer under the floorboard with an ESP32, sampling at 2-5 kHz, no wearables or cameras.
  • Morlet wavelet pipeline recovers cadence, walking speed and symmetry from footstep vibrations; deliberately framed as change detection, not disease diagnosis.
Power Play Optimization Presented
SFU DataJam 2025 · solo
2025
  • Mixed-doubles curling analytics: ends 5-7 are the optimal Power Play window, with end 5 at a -1 score differential showing the highest delta (+1.756 expected points).
  • Built a Power Play Performance Index ranking 25+ national teams; timing and execution quality separate elite teams from average ones.
// skills.json · the stack I actually use
Skills
{ "status": "always_measuring", "honesty": "non-negotiable" }
/* contact.css · let's build something */
Contact
// open to internships, collabs & good conversations
Send a message
✓ Opening your email client… (this demo composes a message to aarmens702@gmail.com)

Aarmen Sidhu

Data Science @ SFU · Burnaby, BC · build the system, then measure it
RustPythonTypeScriptPyTorchFastAPI

About

I build things end to end and then hold them to a number. A Rust query engine diffed against DuckDB. A 7B code model fine-tuned until a real benchmark moved 12% → 72%. A lakehouse where 179 tests are a gate, not a hope. The through-line is honesty: I keep the negative results in.

Off the clock I snowboard (there's a Salesforce app about that here) and throw curling stones at hackathon datasets.

Stack

Languages · Rust, Python, TypeScript, SQL, Apex
ML/AI · PyTorch, QLoRA, ONNX, RAG
Data · dbt, Dagster, DuckDB, Arrow

© License

© 2026 Aarmen Sidhu. The content here (projects, numbers, words, photos) is mine: measure me against it. The site itself is an original IDE-style build, Please don't reuse my design system or my content without permission.

// Aarmen_Sidhu_Resume.pdf

Résumé

PDF · one page · ML-focused

PDF preview unavailable in this browser. Use the download button above.

TERMINALOUTPUTPROBLEMS 0
aarmen@portfolio ~ % npm run build
tsc --noEmit · 0 errors · 0 warnings
vite build · done in 1.53s
aarmen@portfolio ~ %
⎇ main*
✓ 0  ✕ 0
✦ Copilot
Ln 1, Col 1
Spaces: 2
UTF-8
TypeScript React
Prettier ✓
Aarmen Dark
--:--
Aarmen's AI Assistant
WORKSPACE ● portfolio · aarmen-sidhu
Hi! I'm Aarmen's Copilot
Ask me about his projects, skills, experience, or hackathons.
demo assistant · scripted answers from his real projects