Systems designer and polyglot programmer building bounded software—from bare-metal firmware to layered AI agents.
Based in Montréal, Canada.
I work on systems whose correctness depends on clean boundaries: who owns state, which layer may act, how failures are contained, and what evidence makes behavior trustworthy. My work spans agent-assisted engineering, distributed services, embedded Rust/C, and hardware-in-the-loop automation.
I treat an agent system as architecture, not a prompt. Models reason and propose; deterministic code owns validation and mutation. Each layer gets a narrow contract, bounded context, and only the capabilities it needs.
flowchart LR
H["Human intent & policy"] -->|Task contract| O["Orchestration"]
O -->|Bounded context & capabilities| A["Specialist agents"]
A -->|Structured proposals| V["Deterministic validation"]
V -->|Authorized effects| S["External systems"]
S -->|Evidence & state| O
The boundaries I care about most are:
- authority and trust
- working context and authoritative state
- coordination and domain ownership
- proposal, validation, and mutation
- local failure and system-wide consequence
- model judgment and deterministic evidence
At Photon Circus, I apply the same discipline under tighter constraints: no_std / no_alloc Rust, bounded component responsibilities, explicit timing and memory costs, hardware-independent behavioral models, and measured evidence for hardware-facing claims.
- ph-agent-toolkit — task-scoped agent-assisted development with deterministic tools kept separate from prompts, providers, and remote I/O.
- ph-hil — hardware-in-the-loop orchestration with explicit controller authority, safety policy, and immutable evidence.
- ph-eventing — deterministic, zero-allocation handoff primitives with bounded behavior and verified ordering.
- ph-curves — deterministic mapping, calibration, filtering, and scheduling primitives that keep hardware and application policy outside the library.
- esp_node_manager — device identity, certificates, and signed configuration behind an explicit lifecycle interface for ESP-IDF.
- Give every state transition one clear owner.
- Make dependency direction intentional.
- Prefer narrow, versioned contracts to shared context.
- Give each component—and each agent—only the authority it needs.
- Contain failures at the nearest boundary.
- Make consequential decisions and side effects observable.
Languages: Rust · C/C++ · Go · C# · Java/Kotlin · TypeScript/JavaScript · Python




