I build web products end to end — interface, API, data layer, and the pipeline that ships them. Most of my work sits where product requirements meet a system that has to stay correct under load.
What I focus on
- Correctness at the boundaries. Money, auth, and data ingestion are where bugs get expensive. I push validation and invariants to the edge of the system and keep the middle boring.
- Systems you can reason about later. I'd rather write one explicit module than three clever abstractions that hide the control flow.
- Documentation as a deliverable. A feature isn't done when it works, it's done when the next person can change it safely.
Strengths
| Area | What that means in practice |
|---|---|
| Frontend | TypeScript, React, Next.js App Router, design-system work, accessibility |
| Backend | REST and RPC APIs, Postgres schema design, background jobs, caching |
| Data | Event ingestion, batch and streaming pipelines, warehouse modeling |
| Platform | Docker, CI/CD design, infrastructure as code, observability |
For the specific tools I reach for, see How I work.
Experience
Software Engineer · TRU Inc
2024 to present. Product engineering on a team of six, split between the customer-facing web application and the data platform behind it.
- Own the checkout and payments surface end to end — interface, server actions, pricing logic, and the payment provider integration. Shipped as Atlas Checkout.
- Shared ownership of the event ingestion pipeline feeding analytics and internal reporting (Pulse Ingest).
- Rebuilt the release path from a manual checklist into a reproducible pipeline (Vessel Deploy).
- On-call one week in six, across both surfaces.
Beyond feature work: wrote the team's architecture decision records, set up the pull-request template that made blast radius the first thing a reviewer looks at, and mentored two junior engineers — mostly by pairing on debugging rather than reviewing finished work, since the reasoning is the part that transfers.
Full-stack Developer · Contract
2023 to 2024. Internal tools for two clients: an inventory reconciliation dashboard and a document assistant that later became Lumen.
Junior Developer · Studio
2022 to 2023. Frontend work on marketing sites and a design system used across six client projects. Where I learned that accessibility is cheaper to build in than to add.
Note
Dates are years, not months, on purpose — month-precision timelines invite questions about gaps that are rarely the interesting part of a career.
Education
B.Sc. Computer Science — 2018 to 2022. Final-year project on distributed job scheduling, which is why queues and retries show up in most of my architecture diagrams.
Achievements
Awards and competitions
| Year | What |
|---|---|
| 2025 | 2nd place, national data hackathon — retinal image classification track |
| 2024 | Internal engineering award for the release pipeline rebuild |
| 2021 | Finalist, university software competition (distributed scheduling) |
Publications
- Retinex-based preprocessing for eye disease detection — conference paper, 2025. Google Scholar
Certifications
- Google Cloud Professional Data Engineer — 2025
- AWS Solutions Architect Associate — 2023
Talks
- Documenting projects like a product — internal engineering talk, 2026. Notes
- Cutting release time by 90% — retrospective on Vessel Deploy, 2026.
What on-call taught me
Most of my technical growth came from being on rotation. Reading production failures weekly changed how I write code: I default to explicit failure modes, idempotent operations, and logs that name the decision being made rather than the value being passed.
What I'm looking for
Teams that ship regularly, treat production as a shared responsibility, and write things down. Product surface area is more interesting to me than technology choice — I'll learn the stack.