Selected Engineering Work

Developer tools and platform systems I have built. They show my approach to technical direction, system design, and delivery. Company work uses public or anonymized details.

Traceguard

I built a TypeScript package for structured server-side logging. It keeps request context separate, masks configured sensitive fields, and writes JSON formatted for stdout, Google Cloud, or AWS. View Traceguard on npm .

Foreman

I built a Go CLI that delegates GitHub issues to coding agents, coordinates review between agents, and checks pull request CI before returning work for human review. View midsoln/foreman (private repository).

Payment Terminal Platform

A group of services that provisions payment terminals before merchants use them. The platform coordinates onboarding, integrates with multiple terminal providers, and applies the correct device profile.

Onboarding flow

flowchart LR
    Client["Payment Terminal"] --> Onboarding["Terminal Onboarding"]
    Onboarding --> Internal["Internal Onboarding"]

    Internal --> InternalAPI["Internal APIs"]

    Internal --> Provider1Base["Provider 1 Proxy"]
    Provider1Base --> Provider1["Terminal Provider API 1"]

    Internal --> Provider2Base["Provider 2 Proxy"]
    Provider2Base --> Provider2["Terminal Provider API 2"]

SNS connects the provisioning services. Provider-specific proxies keep each external terminal API separate from the internal onboarding flow.

Profile design

flowchart LR
    Client["Payment Terminal"] --> Gateway["Profile Manager"]
    
    Gateway --> DB["DynamoDB"]
    DB --> Base["Mother Profile"]
    Base --> PAX["PAX Base"]
    Base --> Sunmi["Sunmi Base"]

    PAX --> PAXUnattended["PAX Unattended"]
    PAXUnattended --> PAXJcb["PAX JCB Only"]
    PAXUnattended --> PAXAll["PAX All Payments"]

DynamoDB stores a hierarchy of shared and device-specific profiles. Common settings pass down to more specific terminal profiles.

Arbitrage Trading

flowchart LR
  Client["Code"] --> Maker["Maker Exchange"]
  Client --> Taker["Taker Exchange"]

  Maker --> MOrderbook["Orderbook"]
  MOrderbook --> A1["Sell/Buy Market Order"]

  Taker --> TOrderbook["Orderbook"]
  TOrderbook --> B1["Buy/Sell Limit Order"]
  B1 --> B2["Limit Order Filled"]

  A1 --> B2
  

A market-making system that read continuous order book streams and made millisecond trading decisions across three exchanges.