2024 — present · Lead engineer

Vitesse Automation

Modern industrial AI platform — built solo over 14 months, ~100% via Claude Code, now shipping to paying customers in France and the United States.

This case study is a draft. Full version coming.

What it is

Vitesse Automation builds AI-native tooling for industrial automation. The product extracts live data from PLCs (Siemens, Schneider, Beckhoff, Allen Bradley, others), runs voice-controlled AI agents that operate real machinery, and ships as a cloud SPA plus an on-device edge runtime.

The live product is at app.vitesse.dev (Clerk-gated; demo access available on request).

What I built

Starting April 2025 from a clean slate, I built the modern Vitesse platform solo, almost entirely with Claude Code. The shape:

  • 96k-LOC frontend — TypeScript, React, Vite. Manager-pattern data layer (components never fetch); custom virtualized symbol grid (80 pooled DOM rows + Canvas sparklines) after ag-grid couldn’t handle 220k-symbol PLC trees at interactive frame rates. Dual deployment as a cloud SPA on Cloudflare Pages and as an offline Docker image for edge devices, with 100% page-component reuse.
  • 5 Cloudflare Workers in production, 3 of them using Durable Objects:
    • ConversationRoom DO per user — WebSocket sessions, AI streaming with hierarchical sub-agents, tool-call lifecycle as a state machine.
    • FleetManager singleton DO — bidirectional WebSocket relay between edge gateways and browser clients, plus a Hetzner Cloud VM spawning module (~620 LOC, provider-abstracted, IP-correlation between cloud-init and gateway heartbeats).
    • ReleaseManager DO — manifest lifecycle (draft → canary → general → suspended), per-org rollout, updater command routing.
  • Voice mode integrating 5 S2S providers — OpenAI Realtime, Google Gemini Live, AWS Nova Sonic, xAI Grok, Fixie Ultravox — via LiveKit Agents on Fly.io.
  • Multi-language Docker plugin architecture on the edge — gateway-core (Python) orchestrator spawning containerized plugins per industrial protocol (S7, ADS, Modbus, EtherNet/IP, MQTT, OPC-UA).
  • OTA system with A/B slot versioning, AWS IoT Greengrass-style loader pattern, canary rollouts.
  • WebRTC video streaming via mediasoup SFU with self-hosted Coturn TURN relay for remote camera access through corporate firewalls.

Customers

  • Setforge (Farinia Group, France) — multiple factories
  • Alten (France) — partnership + their clients
  • Enervenue (US) — COPV pressure-chamber monitoring
  • Rexel (France) — customer + distribution partner as of May 2026
  • Prospects: Mecatherm, Veolia, Sanofi

The Claude Code angle

The whole modern platform was built with Claude Code as the primary authoring tool. I wrote almost no code by hand over the 14 months — my role was architecture, code review, and prompt design. The implication is that one engineer + Claude + the right substrate can ship what would historically have required a small team. The substrate matters: the Cardinal Rule (components never fetch), the Manager Pattern, the Base Component Pattern, the Entity Path Pattern — these are structural rails that make AI-authored code converge to a consistent shape across the codebase.

[More detail coming — architectural deep-dives on the Durable Object design, the voice agent provider abstraction, the OTA loader pattern, and the cloud-spawning module.]