Menu

Experience

Blue Fern DigitalJanuary 2026 – present

What it taught me: that the second time you build something, build the thing that builds it.

Riverside Tattoo is a studio in Eau Claire. I built their first site in 2018 in Sinatra, and rewrote it in Astro in 2026.

The Riverside Tattoo home page: a white water lily on dark water, the studio name set above it, and the site's navigation along the bottom.riversidetattooec.com (opens in a new tab)

  • Astro
  • Sass
  • GitHub Actions
  • Sinatra

Prosper MarketplaceMarch 2024 – present

What I’m learning here: that the code is the smallest part.

I work on both the credit card app and the public web application funnel: payments, transaction history, deep linking, merchant-funded rewards, and the feature flagging that decides what ships to whom. I also build the shared component library the other frontend engineers use.

I rewrote the funnel end to end, and built the automated reviewer that runs on every frontend pull request.

I didn’t expect the learning to be in everything around that: planning a deprecation by mapping what depends on what and which pieces can run in parallel; using AI in a real codebase responsibly, where every line still has to be reviewable by a person; taking the mentoring advice I gave when I was the junior — let people drive, explain the wrong turns, never call anything easy.

  • React Native
  • TypeScript
  • React
  • Claude
  • Cursor
  • PostHog
  • New Relic

UnitedMastersMarch 2021 – December 2023

What it taught me: that culture decides what a team can do, and that I can retool.

I built and maintained the React Native app independent artists use to distribute their music, then migrated it to native Android in Kotlin and Jetpack Compose for performance.

It taught me how much a team’s culture determines what it is actually capable of. It also taught me that I can work very fast when it matters, and that rebuilding in a language and framework I hadn’t shipped in before is a thing I can simply do.

  • React Native
  • TypeScript
  • GraphQL
  • Kotlin
  • Jetpack Compose
  • Amplitude

HeadwayJuly 2019 – March 2021

What it taught me: breadth, and that design is how information gets understood.

Four products in twenty months, across school fundraising, tabletop gaming and freight logistics. Mobile-first web, a progressive web app, and React Native — which I learned by running a major version upgrade with breaking changes. It took over a month.

Working with designers, product managers and clients taught me that design is not decoration applied afterwards; it is how information becomes understandable. It also taught me that confidence is part of the job when you are the person in the room with the client.

  • React Native
  • TypeScript
  • GraphQL
  • React
  • Node
  • PostgreSQL
  • Elixir

ComcastMay 2016 – July 2019

What it taught me: that the answer should outlive the conversation.

I worked on a reverse proxy handling over four billion transactions a month — inspecting access tokens for authorization, terminating SSL, and routing traffic. I built an internal tool in React that let teams manage their own nginx configuration instead of filing requests against a large hand-maintained JSON file, set up DNS for internal teams through Route 53, and wrote monitoring services in Elixir.

I provided support in the company’s busiest Slack channel, which is where the rest of it started. There is only so much one person can hold in their head, so I began writing things down: Confluence documentation thorough enough that teams could troubleshoot their own problems, thorough enough that I could troubleshoot theirs without remembering everything, and thorough enough that I understood the service myself as I worked through its code.

Then I moved the documentation somewhere it could not drift. Doc comments through the source, pulled out and published as a site with Gatsby, so the reference for how the service worked lived with the service.

One piece of it did not exist yet. A paragraph that belonged on six pages had to be pasted into six pages, and then corrected in six pages. So I wrote gatsby-remark-embed-markdown (opens in a new tab), which embeds one markdown file inside another, and published it. The code is on GitHub (opens in a new tab).

It is where I learned what I still argue for in remote and hybrid teams: cameras on; don’t put half the team in a conference room while the other half listens to a speakerphone; answer in a channel rather than a DM, so the answer is still there for the next person who needs it.

It is also where I started speaking.

  • Lua
  • Python
  • React
  • GraphQL
  • PostgreSQL
  • Elixir
  • nginx
  • Gatsby
  • Docker
  • AWS Route 53

JB SystemsOctober 2015 – May 2016

What it taught me: that I wanted to build things, not just help them rank.

SEO before engineering — search visibility, metadata, content structure, analytics for twenty-odd client sites. It taught me that how a site is structured is what puts a page on the first screen of results.

  • PHP
  • Google Analytics
  • Google Webmaster Tools