« Back to Works

Sutterfields Operations Platform

Sutterfields is a consignment gallery in the Bay Area, and a family business — which is how I ended up as its only engineer. Alongside the public website, I designed and built the software that actually runs the store: an operations platform that replaced a paper-and-email workflow with something structured and queryable, end to end.

Consignment starts as an email. Someone writes in with photos of a sofa they want to sell, and everything downstream used to depend on a person reading that message and retyping it. The platform is built on the opposite principle — if the information already arrived, nobody should enter it again. Mail comes in through a Microsoft Graph client built inside the app, gets classified into a triage taxonomy, becomes a structured intake record, generates an agreement the consignor signs remotely from a tokenized link, and flows into inventory and the sales counter.

It runs as several focused applications over one Postgres database rather than a single system, because the audiences are genuinely different: staff triaging mail, a consignor signing from their phone, and counter staff ringing up a sale who should never see intake. Identity is Entra, with roles scoped per surface. Two features are model-driven — inbox classification, and a vision pass that reads the consignor's photos and proposes the item list for staff to confirm rather than type — and both are deliberately built as suggestions a person accepts or corrects, with every correction recorded so the quality stays measurable. The whole AI layer costs a couple of dollars a month.

This is the only project where I own all of it: the schema, the auth model, the product decisions, and the phone call when something breaks mid-afternoon. It's also where I finally closed a loop I could never quite close in agency work — conversion tracking that fires on an accepted consignment rather than a form submission, so marketing spend is measured against something real. It keeps me honest about the difference between software that demos well and software people depend on to get through their day.

  • TypeScript
  • React
  • Next.js
  • PostgreSQL (Neon)
  • Microsoft Graph
  • Entra ID / MSAL
  • Claude
  • Vercel AI Gateway
  • Vercel