I'm a software engineer and educator currently building bookkeeping automation products.

I'm an expert self-teacher who highly values ownership and radical transparency.

I love working with kind, diverse teams to deliver products that delight our customers.

Recent accomplishments

  1. Bench Accounting Team Automate

    Solely responsible for designing and implementing a backend service that enriches transactions with merchant details using LLMs and a retrieval-augmented generations architecture. By surfacing this information in our internal tools using micro-frontends, saved each human specialist 2.4 hours/day of work and, as a result, around $14,500 per month.

  2. Developed LLM-based categorization assistant to guide customers through categorizing according to tax rules, which auto-categorized 230,000 transactions using customer conversations within 3 months, equivalent to ~30,000 months of human bookkeeping or 37% of the work done by specialized human teams in the same period.

  3. Wrote a Python backend using Lambda, API Gateway, and React micro-frontends to surface groups of similar uncategorized transactions to customers, enabling them to auto-categorize in groups. This feature increased the manual categorization rate by 55% upon deployment, saving the business the equivalent of ~110 workdays per month in manual human bookkeeping and $22,600 per month.

  4. Trained and deployed per-client models to categorize transactions that other categorization models cannot recognize. Raised the auto-categorization rate by 30%, with 98% accuracy, saving the business ~53 days of work per month previously performed by human bookkeepers within two months, equivalent to a cost saving of $10,500 monthly.

View all

Latest posts

  1. Move fast and learn things

    Reflecting on three years of "hyper-growth" and what made it possible

    A geometric pattern built agorithmically from a SHA of the post
  2. A year of `neovim` has been good to me

    Some of the skills that I picked up from using a vim-based editor

    A geometric pattern built agorithmically from a SHA of the post
  3. Learning without humanity

    The loss of a humanities department from a university damages more than its students.

    A geometric pattern built agorithmically from a SHA of the post
  4. Pull requests fulfil contracts

    Any pull request that is worth approving has a contract outling a reason to change.

    A geometric pattern built agorithmically from a SHA of the post
  5. Beware: broken metaphors ahead

    Reflecting on how bad metaphors can derail our learning and culture

    A geometric pattern built agorithmically from a SHA of the post
  6. Reducing my carbon footprint

    What I've been doing to reduce my carbon footprint and how I hope to improve in the future.

    A geometric pattern built agorithmically from a SHA of the post