← Home

All projects

16 projects, in the order I would show them, plus 11 early ones in the archive below. A Hand-written badge marks work from before AI coding agents, dated from each project's git history.

Personal projects

Mockingbird documentation site: an install command and a request to the Stripe emulator

Realistic stand-ins for third-party services, so software can be tested end to end without calling the real thing.

TypeScriptBunNode.jsSQLite
gamezilla in two phone-sized windows: one live chess game seen from each player’s side

A local-first multiplayer game platform for phones: a live space keeps working offline, then catches up on its own when the connection returns.

TypeScriptReactPostgresTailwindWebSocketsBun+1
Workspace platform architecture: the repository and its CI gates, declared infrastructure, the hosted services, and the daily health loop

The monorepo and self-hosted platform behind this site and my side projects, where declared code is the only way to change infrastructure.

TypeScriptOpenTofuNixOSGitHub ActionsDockerBun+6
headless-combobox documentation: the API reference beside a demo of a multi-select combobox

An accessible autocomplete component that works with any interface framework, published as an open-source library.

TypeScript
normalizer.app new-session screen: pick a target format and upload a spreadsheet

Automates the tedious work of reshaping spreadsheet data from one format into another.

TypeScriptReactTailwindBunPostgresS3+2
Image service sign-in screen: request a login link by email

A self-hosted service that resizes and optimizes images on demand, with no configuration required.

Go
Screenshots as a Service sign-in screen

A service for capturing screenshots of web pages programmatically.

CSSHerokuMaterial UINode.jsPostgresPuppeteer+4
moviefinder.app feed in a phone-width layout, showing a movie poster

One movie-discovery app rebuilt on several technology stacks, holding the product constant to compare their real trade-offs.

RustGoTypeScriptReactClojureScript
Violet's Garden title screen: a pug beside Play, Level select and How to play

A cozy puzzle game about guiding a pug through garden mazes, with every level automatically proven solvable.

TypeScriptPhaserTone.jsJavaScriptHTMLDocker
LLM Proxy dashboard: backend address and upstream header settings

A self-hosted gateway that routes AI model requests to any provider and records usage for cost and health visibility.

TypeScriptReactTailwindBunPostgresDocker+1

Products I built at work

Employer code: the products are live or shown in screenshots, the source is not public.

Geviti member app sign-in: the complete picture of your health, from bloodwork, genetics and gut health

Health and longevity platform that turns lab results into personalized protocols, therapies, and coordinated care. I build its member-facing features.

TypeScriptReactReact NativePostgresBunAWS
Triangulator suggestion details: a community-college course matched to an Arizona State University course, with its review history

Triangulator

Enterprise platform that automates how universities evaluate transfer credit. I was the technical lead.

TypeScriptVueTailwindNuxtPostgresPython+6
Study Hall homepage: earn college credit with Crash Course and Arizona State University

Online learning platform from ASU and Crash Course. I rebuilt its payment processing to cut failed payments.

JavaScriptVueNuxtBootstrapAWSDynamoDB+3
Orchard assignment page: an embedded precalculus video with subject and attribution details

ASU platform for building highly customizable assignments. I designed and built its integration with the university's learning management system.

PHPMySQLDrupalBootstrapJavaScript
ASU Earned Admission homepage: earn your ASU degree, your way

Platform where learners earn college credit toward admission to ASU degree programs. I reworked its backend and its enrollment data sync.

SalesforceNode.jsTypeScriptExpressDynamoDBAWS
Sun Devil Athletics homepage: a football score banner and upcoming games

Official site of ASU's Sun Devils athletics. I built its interactive schedule and news features.

BootstrapDrupalJavaScriptReactCSSPHP
Archive — 11 early and small projectsgames, toys, demos and client sites
Fullstack Todo App screenshot

A task manager with user accounts and real-time sync.

TypeScriptVueCSSExpressJavaScriptTailwind+2

A quiz builder that plugs into learning management systems, so instructors and students never leave their course.

CSSExpressNode.jsTailwindTypeScriptVue
Courier Company Website screenshot

Marketing website for a healthcare courier company.

CSSMaterial UINext.jsReactTypeScript
Anime Blog screenshot

A blog built as a fast static site, with content managed separately from the code.

CSSJavaScriptSanityVueBootstrapGraphQL+1
Smooth Snake Game screenshot

The classic Snake game, with smooth animation and responsive controls.

CSSJavaScriptRamdaReact
Match Three screenshot

A match-three puzzle game in the spirit of Candy Crush.

CSSJavaScriptRamdaReactReduxRedux Saga
Simon Says screenshot

The classic Simon Says memory game, with sound, visuals, and rising difficulty.

CSSJavaScriptRamdaReactReduxRedux Saga
Cheese screenshot

Generates customizable event ID cards, with all image editing done in the browser.

CSSTypeScriptMaterial UIReactFirebase
Airr product demo: transcript intake screen

Airr Product Demo

Interactive product demo for Airr, an enterprise tool that automates transcript intake and analysis.

TypeScriptNode.jsPostgresReactTailwindtRPC+1
Pickflix movie page with trailers and reviews

A social movie-discovery app for watching trailers, writing reviews, and building shared lists with friends.

ExpressJestMaterial UINode.jsPostgresRamda+6