Applied experiments
Domain-specific systems: recipe versioning, genomics data, smart agriculture, multilingual media, privacy tooling, and other workflows that are really software problems in disguise.
- Not Every FLAC Is Lossless
A file's extension is a label, not a promise. Self-hosting a music library, I kept running into FLACs that were lossy files in disguise and 'hi-res' tracks upsampled from a CD. The metadata lies; the spectrogram doesn't. So I built a tool to tell them apart.
- I Sequenced My Family. We Still Don't Have an Answer.
A rare-disease hunt across my family and my sister's family: one of the kids has a developmental disability and seizures, and after years of specialists, no diagnosis. I'm a data engineer, not a geneticist — but I had the same raw material the labs use, so I sequenced the families and built a pipeline to look. Here's what the doing taught me, including the part where the mystery held.
- The Pipeline Behind Sequencing My Family
The companion to the personal essay: the how. On-demand pipeline assembly with an AI, what FASTQ/BAM/VCF actually are, why data quality is the whole game, the free tools a parent can reach, the South Asian reference-data gap, and why we anchored to the data instead of the phenotype.
- Generate Slow, Don't Slow the Generation
To teach a word you slow it down — but slowing a recording smears the exact sounds a learner needs to hear. The fix was to stop slowing audio and start generating it slow. A small experiment, an honest number, and a second lesson about which sounds you're even allowed to stretch.
- The Tutorial Is the Easy 5%
I pointed a 200-line Keras 3D-CNN tutorial at real brain MRIs. The demo ran in minutes; making it touch real data took months, three preprocessing pipelines, 25 GPU-hours, and landed at an honest 61% — which taught me more than a 95% would have.
- Netcode Is a Distributed System Wearing a Game
I built multiplayer netcode in grad school and only later realized I'd built a distributed system: optimism at the edge to hide latency, one authority at the core to stay consistent, and a reconciliation loop for when they disagree. The same three moves I keep making in data infrastructure.
- I Put Collision Detection on a GPU. The Timer Said It Was a Wash.
For a grad independent study I built a collision system on the CPU, then ported it to CUDA expecting a speedup. It came out a wash — and that non-result taught me more about parallel compute than a clean win would have.