Backend engineer / software architect

I turn unclear product rules into software people can depend on.

My best work starts when a product has real rules but no clean model yet: billing, access, customer state, reporting, invitations, fulfillment, and all the awkward edge cases around them. I find the states, cut the scope, and build the first useful system without pretending the mess is simple.

Selected work

The pattern is clearer than the projects.

A pattern I am proud of: I have repeatedly been the person to take a vague product or operational need from zero to a first working system. Not alone in the sense that the business context came from nowhere, but alone in the engineering sense: shaping the model, making the tradeoffs, building the first version, and getting it into use.

Professional systems work

From billing script to production invoice workflow

At Checkr, I was the sole engineer responsible for productizing an internal invoice-generation script into a production backend workflow for usage-based billing and finance visibility.

Read the short case study

Professional systems work

Referred customer tracking

At Divvy Homes, I turned referral tracking into a coherent identity, authentication, and lifecycle workflow around referred customers and magic-link entry.

Read the short case study

About

I am drawn to the messy middle.

The work I enjoy most sits between product intent and implementation detail. Someone wants a new pricing model, account lifecycle, internal workflow, customer-facing behavior, or reporting view. The hard part is figuring out what the system has to remember, what it has to guarantee, and where it should stay simple.

Outside of software, I spend a lot of time thinking about metaphysics, anthropology, and how people make meaning. I do not pretend those are professional credentials. They are part of the same curiosity: how humans turn abstractions into rules, stories, institutions, and systems.

Working principles

How I tend to work.

Find the hidden state

If the product treats two different states as one, the system will eventually leak that confusion.

Cut scope, not truth

The first version can be small without lying about what the system must know.

Keep access honest

Payment, invitations, permissions, and fulfillment need server-side facts, not hopeful UI states.

Leave a map

Future maintainers should be able to see why the system has the shape it does.

Contact

I am open to serious product and backend work.

Send a concise note with the product context, the system pressure, and what needs to become clearer.