Latest Projects

I have transformed ideas into remarkable digital products.

Work
  • 01Freight & logistics · Multi-tenant SaaS

    FreightOps

    Product architecture, UX, and full-stack development

    Dispatch, driver paperwork and settlement usually live in three different systems. Every load that crosses a seam gets re-keyed, and proof of delivery lands days after the money should already have moved.

    • Next.js
    • Node.js
    • Stripe Connect
    • Redis
    • i18n
    • SaaS
  • 02Amazon FBA · Sourcing & inventory

    FBA Tracker

    Project owner · Full-stack design & development · 1 year

    A seller buys against a spreadsheet that is already stale. Fees move, Keepa history sits in another tab, and the reorder point is a guess — so capital lands in the wrong SKUs while the good ones stock out.

    • Node.js
    • React
    • Express
    • WebSockets
    • Amazon SP-API
    • Keepa
    • Material UI
  • 03Outdoor-gear manufacturing · Production floor

    HammockGear

    Project lead · System architecture · UI/UX · 9 months

    A floor running on paper. Work moves between stations on a printed sheet, a rush order is only rush if someone notices the highlighter, and when an item comes back wrong nobody can say which station it went wrong at.

    • React
    • .NET
    • Node.js
    • Firebase
    • BigCommerce
    • Barcode
    • Material UI
  • 04Shared-resource scheduling · Access control

    Room-Sync

    Node.js API architecture & access logic · 6 weeks

    Shared rooms fail on the exceptions: the standing weekly, the group that may see a room but not book it, the block of dates nobody may touch, and the two bookings that overlap because the check ran after the write.

    • Node.js
    • Sequelize
    • Express
    • PostgreSQL / MySQL
    • date-fns
    • RBAC
  • 05Construction & trades · Multi-tenant SaaS

    ConstructionOps

    Full-stack architecture and development

    A construction company runs the estimate in one place, the schedule in another, the receipts in a shoebox and the crew’s hours in a text message. The person who walked the site is the only one who knows what was agreed, and by the time it is written down the job has already moved.

    • Next.js
    • React
    • MUI
    • Express
    • PostgreSQL
    • Sequelize
    • Redis
    • Stripe
    • Capacitor
    • WebSockets
  • 06Market data & agentic trading · Two products, one repository

    Stock Scanner

    Full-stack architecture and development

    Watching a list of stocks for unusual activity is a full-time job done badly by hand, and the tools that do it tend to blur two very different things: a number that was measured, and a number that was missing. A blank cell filled in with a substitute is worse than no tool at all when money is on the other end of it.

    • Node.js
    • Express
    • React
    • Vite
    • MUI
    • WebSockets
    • MySQL
    • PostgreSQL
    • Auth0
    • Docker