How I got here.

The technical arc — every UW course that shaped how I code, every engineering role I've taken on, every substantial project I've shipped, in chronological order. School on the left, work in the middle, projects on the right. When something in one lane fed into something in another, you'll see it.

School Work Projects
2024 // UW starts · first git repo · data structures
Technical Foundations — R, SQL, first Git
The course where I learned what a pull request actually does. R for data wrangling, SQL for structure, Git for collaboration. The starter pack for every data-science class that came after.
// WHAT I LEARNED · tidy data is an argument
final-project-thientran01 — 72 commits, first team build
INFO 201 final with ThienTran. 72 commits over a month. First PR I ever reviewed, first merge conflict I ever resolved, first teammate whose code I broke on purpose (oops).
// 72 COMMITS · FIRST PR REVIEW
Data Structures & Algorithms (Java)
Huffman encoder, MiniGit, DisasterRelief allocator, Mondrian generator, abstract-strategy sim. The three data structures I can still draw from memory all came out of this quarter.
// WHAT I LEARNED · a commit is a tree, not a filename
VoiceModel · Rasputin · Voice-mod-repo
Three sibling repos, four commits each. First real attempt to shortcut DSP with vibes. It did not work. The good news: failing to build a voice cloner in 2024 is what made VoxAlign possible in 2026.
// FAILURE · seeded the VoxAlign build 2 years later
SQL — Final + HW
Two SQL finals in the same week. The first quarter where I thought in joins before loops. Still the mental model I reach for first on any multi-table problem.
2025 // DS methods sequence · React shows up · team repo cadence
Core Methods in Data Science
R-heavy quarter. PS2, Lab 3, the elections dataset assignment. The first course where "model" stopped meaning "black box" and started meaning "a testable claim with assumptions I can check." Also where I got used to reaching for tidy data before reaching for a for-loop.
// WHAT I LEARNED · a model is a claim you can check
Spotify Data Analysis
Weekend project on my own listening data. Three commits, a lot of revelations about the gap between "what I think I listen to" and "what I actually listen to."
Client-Side Web Dev (React + Vite + Firebase)
Nine problem sets, a two-person final. The quarter React stopped being magic and started being structure. Every production app I've built since carries this course's fingerprints.
// WHAT I LEARNED · "shipping" is a skill separate from "rendering"
Fantasy Football PWA (w/ Connor Bui)
184 commits over the quarter. React + Firebase. First app I built with a teammate on a real cadence. The cleanest lesson: consistent commit messages beat clever ones.
// 184 COMMITS · 2-person team
Data Programming in Python
Pandas, NumPy, practical data wrangling. The first course where Python felt like a data language and not just a general-purpose one.
Mode-craft — R/Shiny dashboards
Eleven commits, a grip of ggplot revisions. Shiny as the "can I be wrong quickly?" layer on top of R. A second round of R that started to feel like real data work, not just coursework.
Advanced Methods in Data Science
Labs, workbooks, P3 (info_survey.csv), P4 (seattle_policing.csv), a health-trends final. Lab 3 literally opens with “INFO 371 · University of Washington · October 13–17, 2025.” The course where I started to trust my own regressions — and where the final applied-ML projects ran into Winter 2026.
// WHAT I LEARNED · residuals are a love language
2026 // Field Alpha begins · senior spring · four products shipping NOW
Applied ML — heart-disease · framebird
INFO 371 projects that carried into Winter. UCI heart-disease dataset for classification, a framebird data-viz exercise, a patent-document DataSet 1 exploration. The quarter the stats methods met real clinical data and the "what happens when your training set is wrong?" question got loud.
// WHAT I LEARNED · clean data is a luxury you never actually get
Joined Field Alpha (with Ruvim Yushchenko, CEO)
Ruvim created the ruvim-alpha GitHub account in Oct 2025; the field-alpha-platform repo spun up Feb 1, 2026. I came on as backend + UI frontend engineer. First commits land mid-March on the devops repo, full-time cadence by end of month.
Case study →
Go Macro — capstone begins
UW Informatics capstone. Frontend lead on a team of five. Started as a calorie tracker. Shipped as a decision-fatigue tool. Three scrapped Figmas and twelve commits in the first month.
Case study →
Informatics Capstone — Go Macro
The capstone quarter. Frontend ownership on React + Vite + TS + Supabase + OpenAI Vision. Auth, camera capture, the shuffle UI, the full Supabase wiring. Shipping at showcase.
Full case study →
Peak3 Visuals — infra consulting
Paid consulting for Dennis Gazhenko. Audited a production stack of 4 repos + 10 Zapier automations (571 steps) + a Google Sheets layer near its booking ceiling. Caught exposed credentials, rotated them, locked down the GAS deployment. Invoiced $1,200 phase one.
// 571 ZAPIER STEPS · 37 RISKS · $1,200 invoiced
FixFlow public launch
My own product, not a job. Multi-tenant appliance repair intake with GPT-4o-mini triage. Pushed to public GitHub March 13. Live at fixflow-intake.vercel.app.
Case study →
Field Alpha mobile push
Expo/React Native mobile app bootstrapped on Mar 20, hardened through April. Signup + onboarding, RLS migration, demo account provisioning, signup-gate pivot after a product strategy call. 217/217 tests green on latest main.
VoxAlign — singer-aware pitch correction
The payoff on the 2024 voice experiments. CREPE at 10 ms frames, DTW alignment, PSOLA + WORLD vocoder. 360 of 364 backend tests green. React + FastAPI. The first project where I felt like I was actually doing engineering at the DSP level.
Case study →
// CURRENT STATE · APR 2026

Four products shipping, one capstone defending, one consulting engagement live.

Senior spring at UW. Looking for a summer 2026 SWE internship — systems, full-stack, or applied ML. Each lane above fed the next: INFO 201 taught me Git, CSE 123 taught me data structures, INFO 340 taught me React, the DS methods courses taught me to trust residuals, and every project since has been some combination of those four ideas pointed at a different problem. Still the same work — find the specific thing that's broken and fix it in a way the person using it doesn't have to think about.

Want the long version?

Full case studies on every project. Or email me and we'll talk about the parts the timeline leaves out.

Get In Touch