
What it means to map the human phenome
Your genome is the code you were born with. Your phenome is the story of your whole life. Here is why putting it together could help cure cancer.
Software engineer. I like building useful things, figuring out why they break, and writing down what I learn along the way.
Right now I work at HealthTree Foundation, where we’re pretty h*cking close to mapping the human phenome to help researchers cure cancer (here’s what that means). In my own time I’ve built a chess coach, a patient-education site, and the website for an original musical.
[01/ 05]·About
I’m a software engineer. I like the whole arc of a project: talking to the people who’ll use it, working out what it should be, building it, and then living with it long enough to learn what I got wrong.
My day job is at HealthTree Foundation, a nonprofit for people with blood cancer, where I’m one of the engineers on the team. Outside of work I take on projects that catch my interest, usually on my own, which is a good way to find out what I don’t know yet.
Lately I’ve been thinking a lot about how to build well with AI: where it actually helps, where it quietly makes things worse, and how to tell the difference. When I figure something out, I write it down.
[02/ 05]·Writing
Notes from building things: what worked, what didn’t, and what I’d do differently next time.

Your genome is the code you were born with. Your phenome is the story of your whole life. Here is why putting it together could help cure cancer.
You do not need a genius model. You need 80 small ones that stay consistent. Prompt edits are not a training loop.
[03/ 05]·Work
A mix of my day job and projects I’ve taken on outside of it.
A chess coach built from your own games, whether you play on Chess Knight, Chess.com or Lichess. It finds the mistakes you keep making, turns them into practice positions with spaced repetition, and ranks habits by how much they actually cost you. The analysis comes from Stockfish and fixed rules, not a language model guessing.
In-person caregivers and 24/7 clinical oversight for people recovering from CAR-T therapy, covering the stretch between hospital discharge and full recovery. I built the software: a tablet workflow for vitals and check-ins, one-tap escalation, and a live dashboard for the operations team.
A plain-language guide to CAR T cell therapy, with content from patient advocacy groups including the International Myeloma Foundation and HealthTree Foundation. It covers treatment, cost and insurance, and eligibility, and sorts the common myths from the facts.
The website and ticketing for an original musical about five enslaved African Americans who found faith and hope in 1800s America. It opens November 6, 2026, at the Eccles Theater in Salt Lake City.
A patient-founded nonprofit working toward cures for blood cancer. Patients get navigators and software for managing their care, and their health data stays anonymized and under their control. I’m one of the engineers on the team.
[04/ 05]·Toolbox
The languages, frameworks and tools I build with, across work and my own projects.
# ~/toolbox.toml: what I build with
[languages]
write = [
"TypeScript", "JavaScript", "Go", "Python",
"SQL", "HTML", "CSS", "Swift",
]
[frameworks]
build_with = [
"Svelte", "React", "Next.js", "Node.js",
"Bun", "FastAPI",
]
[data]
stores = [
"Postgres", "SQLite", "Supabase", "Firestore",
"BigQuery",
]
[runs_on]
hosts = [
"Cloudflare", "Google Cloud", "Firebase", "Hetzner",
"Docker", "GitHub Actions",
]
[agents]
pair_with = [
"Claude Code", "Codex", "Cursor", "Grok",
"Gemini CLI",
]
[kit]
also = [
"Terraform", "LogRocket", "Ahrefs", "Firecrawl",
"Stockfish", "Omarchy",
]
| project \ stack | TS | JS | GO | PY | SQL | HTML | CSS | SV | RE | NX | NODE | SW |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| HealthTree Foundationday job | uses TypeScript | uses JavaScript | uses SQL | uses HTML | uses CSS | uses Svelte | uses Node.js | |||||
| Chess Knightsolo | uses TypeScript | uses JavaScript | uses Go | uses Python | uses HTML | uses CSS | uses Node.js | |||||
| IsoMed Caresolo | uses TypeScript | uses JavaScript | uses Python | uses SQL | uses CSS | uses React | uses Next.js | uses Node.js | uses Swift | |||
| AskAboutCARTsolo | uses TypeScript | uses JavaScript | uses CSS | uses React | uses Next.js | uses Node.js | ||||||
| The King of New Yorksolo | uses TypeScript | uses JavaScript | uses HTML | uses CSS | uses React | uses Next.js | uses Node.js | |||||
| samahlstrom.comthis site | uses TypeScript | uses JavaScript | uses Python | uses SQL | uses HTML | uses CSS | ||||||
| forge-cliopen source | uses Go | |||||||||||
| logrocket-sveltekitopen source | uses TypeScript | uses Svelte | uses Node.js | |||||||||
| worktree-checkeropen source | uses Python | |||||||||||
| projects using it | 7 | 6 | 2 | 4 | 3 | 4 | 6 | 2 | 3 | 3 | 6 | 1 |
Plus: Postgres, SQLite, Supabase, Firestore, BigQuery, Cloudflare, Google Cloud, Firebase, Hetzner, Docker, GitHub Actions, Claude Code, Codex, Cursor, Grok, Gemini CLI, Terraform, LogRocket, Ahrefs, Firecrawl, Stockfish, Omarchy.
[05/ 05]·Contact
Email and X are the best ways to reach me, whether it’s to talk shop, swap notes on something you’re building, or just say hi.