Skip to content
View as agent

Experience

  1. Jan 2025 to present

    Lead AI Product Engineer, Contract

    Senior Product Engineer, Feb 2023 to Jan 2025

    • Moved the team’s coding onto shared remote servers, so every engineer and agent works in the same setup.
    • Built a shared context that loads for every engineer and updates itself from anyone’s work session.
    • Built the team’s AI workflow on open-source skills, with our own add-ons and updates on top.
    • Built a review agent that reads every pull request, makes the fixes it needs and works from the same shared context.
    • Kept agent use safe and on budget with token limits, tiered tool access and secrets the model never sees.
  2. Feb 2022 to Feb 2023

    Sr. Software Developer, DigitalSalt

    • Took Hedged from first commit to launch in 5 months with four engineers, on web, iOS and Android.
    • Cut latency 25% across Postgres, Redis and RabbitMQ on services handling ~1.5M requests a day.
    • Built the monorepo behind 8 apps and the UI library 12 engineers use, and cut build times 40%.
    • Architected zero-downtime releases for Docker services on ECS with EC2.
    • Mentored 3 engineers and sat in on 10+ hiring interviews.
  3. Aug 2021 to Feb 2022

    Frontend Developer, AppOctet

    • Built client web and mobile apps with React, Next.js and React Native.
  4. May 2018 to Jun 2021

    Software Developer, ToggleHead

    • Built full-stack web apps for clients on React, Node.js, Express and MongoDB.

How I work with AI

More on this
  • Meetings become ticketsThe agent preps my syncs from merged work and turns call transcripts into tickets.
  • No code without a specIt questions me until a feature is clear enough for someone else to build.
  • Agents build in parallelEach ticket gets its own agent, copy of the repo and full brief.
  • Two reviews, then my callOne checks my standards, the other the plan. Merging stays with me.
  • Busywork starts as a draftStatus updates, email replies and commit messages come from the agent.
  • Every session teaches the nextMemory keeps my preferences, and a mistake that repeats becomes a rule.

Selected work

Now

Learning
DevSecOps from the attacker’s side.

Writing

View as agent