Work

Things I've built — live, pre-launch, and historical.

  • Rook 2024 – present

    Production AI content quality gate. Detects 47+ AI writing patterns, enforces brand voice across multiple brands simultaneously. Paying users.

    Next.js · TypeScript · Vercel · Clerk · Polar.sh · Neon PostgreSQL
  • mcp-cache-proxy 2025 · npm · v0.5.0

    MCP gateway that lazy-loads servers on demand. Idle timeout cleanup, concurrent load guard. Reduced my production context window from ~24k to ~10k tokens.

    TypeScript · Node.js · SQLite
  • p2p-call 2024

    Browser-based peer-to-peer video and audio calling. No server relay — direct WebRTC connection.

    WebRTC · JavaScript
  • crypto-gen 2024

    Cryptographic key generator. Runs client-side — keys never leave the browser.

    JavaScript · Web Crypto API
  • MFTPlus 2024 – present

    Cloud-native SaaS Managed File Transfer platform. Scheduled jobs, AES-256 encryption, cryptographic audit trail using a hash chain design, multi-tenancy, CLI-native agent. Built on direct experience running enterprise MFT at bank scale for over a decade.

    TypeScript · Express · React · Neon PostgreSQL · Polar.sh · Tauri · Go
    Boring Is Better for Your Audit Trail — why the hash chain beat the Merkle tree.
  • nuMotusDirect 2008 – 2022

    Commercial Managed File Transfer platform I designed, built, and operated at a major South African bank for over a decade. 52-project .NET Framework SOA — distributed agent architecture, PGP encryption, multi-layer authentication, Quartz.NET-scheduled job engine, real-time web dashboard, 25+ standalone operational utilities.

    C# · .NET · WCF · Entity Framework · ASP.NET MVC · Quartz.NET · BouncyCastle · SQL Server · RabbitMQ
    Where the Config Lives — the architectural decision that held for 14 years.
  • nuAgent 2015 – 2022

    Standalone edge agent for nuMotusDirect, deployed to client sites across Windows, Linux, and macOS. SSH-tunnelled RabbitMQ telemetry — outbound SSH only, no inbound firewall rules at client sites. Zero-touch RSA provisioning: the agent generates its own keypair on first run, credentials stored so only that specific instance can decrypt them. AES file encryption with a paired-file integrity protocol ensuring atomic, verified delivery.

    Java 11 · Maven · NanoHTTPD · RabbitMQ · JSch · Chilkat
    Built for the AS400 — the wrong constraint that drove the right decision.