# Trista Mueller

> Senior software engineer specializing in billing, payments and monetization.

## About

### At work

I'm a senior software engineer with over ten years of experience, and these days I specialize in billing, payments and monetization. At Handshake I own billing for the employer business. I led the move from slot-based subscriptions to per-job pricing, and cut billing incidents by 80% along the way.

Before that I built a design system at Patch and led onboarding work at Wealthsimple that brought in CAD$600M in deposits. I'm at home across the stack, from Rails and Postgres to TypeScript and React.

I use AI throughout my workday. I have it turn long threads into decision logs and ticket updates, so the source of truth stays current without hours of manual upkeep. I'm careful with tokens: I give models only the context they need, which keeps results focused and costs down. I also treat code health as agent-readiness: clear data models and less dead code make a codebase easier for both people and AI agents to work in. On my own time I build for AI too, like an MCP server for Splitwise and this site, which agents can read and query directly.

Skills: Billing & payments, Rails, TypeScript, React, Design systems.

### Outside work

I live in San Francisco. Before that, I lived in Toronto. I enjoy kayaking, fiber crafts, hiking, traveling, and low-stakes board games like Taboo and Telestrations.

## Projects

### Welcome Mat

For when friends and family fly in to visit: it follows their flights and tells you when to leave for the airport.

Links: [Live site](https://www.welcome-mat.app), [Code](https://github.com/tbmueller/welcome-mat). Tags: Next.js, TypeScript, Firebase, Upstash.

### splitwise-mcp

An MCP server that lets Claude and other AI assistants read and manage Splitwise expenses, groups and friends. It runs locally, so nothing leaves your machine except calls to Splitwise.

Links: [Code](https://github.com/tbmueller/splitwise-mcp). Tags: TypeScript, MCP, Node.js.

### Drill Room

A local judge for timed coding practice: problem on the left, editor on the right, Run against samples and Submit against hidden tests, in TypeScript, Python or Ruby. Problems come from packs you write.

Links: [Code](https://github.com/tbmueller/drill-room). Tags: JavaScript, Node.js, Python, Ruby.

### This site

You're looking at it. Yes, the personal site is listed under its own Projects tab. It needed a fourth card.

Links: [Code](https://github.com/tbmueller/personal-site). Tags: Next.js, TypeScript, Radix Themes.

## Elsewhere

- [GitHub](https://github.com/tbmueller)
- [LinkedIn](https://www.linkedin.com/in/tristamueller)
