Skip to content
View Halinen's full-sized avatar
🎯
Focusing
🎯
Focusing
  • 18:46 (UTC -04:00)

Block or report Halinen

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
Halinen/README.md

Hi, I'm Elena 👋

Typing SVG

Machine Learning Engineer · C++ Systems Developer · MSc Computational Science

Location


🌱 My Story, in Three Acts

Act I — The Diamond Factory. My first real engineering job was inside a semiconductor plant in Chengdu, where artificial diamonds grow atom by atom inside MPCVD reactors. I wrote the C++/Qt software that watched them grow — real-time sensor streams of gas, heat, pressure, and microwave power — then built Random Forest models to predict whether a growth run would succeed before it finished. That's where I learned my favorite lesson: the best ML starts with deeply understanding the physical world it models.

Act II — The Language Turn. LLMs changed what "understanding" means. I built an Agentic RAG clinical assistant for postural assessment — 7 knowledge bases, domain routing, and a Critic agent that catches its own hallucinations and autonomously re-retrieves. My proudest bug fix: a cross-lingual embedding mismatch that had retrieval recall stuck at 0.00. One cached query-transformation layer later: 0.67, no index rebuild needed.

Act III — The Speed Chapter. Because old habits die hard, I went back to C++17 and built a low-latency order book & matching engine from scratch — price-time priority, O(1) cancels, object pools, cache-friendly everything. 300k messages/sec, p99 latency cut in half, zero memory leaks (Valgrind made me prove it).


🛠️ What I Work With

ML & LLM        PyTorch · scikit-learn · RAG · Agentic pipelines · LLM-as-judge · evaluation frameworks
Systems & C++   Modern C++17 · multithreading · lock-aware design · Qt/QML · epoll · gdb/Valgrind
MLOps & Infra   Docker · FastAPI · AWS (EC2/S3/CloudWatch) · CI/CD · GitHub Actions · Redis · SQL

📌 Things I've Built

Project What it does The number I'm proud of
🩺 AI Postural Assessment Assistant Agentic RAG over clinical literature with self-refining Critic loop Retrieval recall 0.00 → 0.67; LLM judge calls 30+ → ≤5 per query
⚡ Order Book & Matching Engine C++17 limit order book with deterministic multithreaded replay 300k msg/sec, p99 latency −50%
💎 MPCVD Process Prediction ML on time-series sensor data to predict diamond-growth outcomes Replaced manual trial-and-error with feature-importance-driven tuning

🧭 How I Think

Measure before you believe. Every system I build ships with its own evaluation framework — recall@k, groundedness, p99 latency, or hallucination rate. If I can't measure it, I don't trust it yet.

From sensors to semantics. I've modeled the world at every level of abstraction: voltage curves → tabular features → embeddings → agent reasoning. The fun is in the translation layers.

Warm software, cold metrics. I care about software that helps people — a physiotherapy assistant that refuses to hallucinate, equipment software an engineer can trust at 3 a.m. The rigor is for the warmth.


☕ Beyond the Terminal

When I'm not staring at loss curves or flame graphs, I'm probably exploring Toronto's coffee scene, reading about market microstructure, or wondering why my best debugging ideas arrive in the shower.

Currently: open to ML Engineering / Quant Dev / C++ roles in Canada 🇨🇦 — let's talk!

"The best ML starts with understanding the world it models."

Pinned Loading

  1. BiomechAI BiomechAI Public

    Python

  2. OralHistory OralHistory Public

    HTML

  3. Vettedjob Vettedjob Public

    Python

  4. Markets-Trading-System Markets-Trading-System Public

    Java 1

  5. loudnorm-web loudnorm-web Public

    音频响度标准化,预设了播客、YouTube 和广播标准。 Browser-based audio loudness normalization (LUFS/EBU R128) with presets for podcast, YouTube, and broadcast standards, runs entirely client-side via ffmpeg.wasm, no upl…

    JavaScript