Software engineer in Toronto. I work on backend services, Rust developer tools and games. Open to remote roles.
I'm building Forge, a local-first workflow engine for coding agents, and Smith, a terminal coding agent. Both run on the same Rust agent runtime.
Game backends. As a contractor, I built the backend for a game studio's titles: Go services for squads, quests, map exploration, energy, items, rewards and card trading on PostgreSQL and Redis, and a NestJS card backend with durable retries and safe match finalization.
Smart contracts. Upgradeable Solidity contracts for a fantasy sports platform: player shares, packs, an exchange, paid contests and tournament registration, with EIP-712 signatures. Rust/Anchor programs on Solana for card packs, rewards, redemption and escrow.
Rust developer tools. Forge, Smith and their shared runtime. At Helix, a Rust creator CLI, SDK and upload services for packaging and streaming game assets, with tag-triggered release automation.
Game clients. Unreal C++ client and editor work at Helix: Chromium Embedded Framework integration, the native Lua runtime, and build, cook and packaging automation. On my own, Godot 4 games with native C++ modules.
- 2024 – now · Self-employed, contracting for a game studio · backend, smart contracts and web client
- 2022 – 2024 · Helix · Unreal client, creator tools and backend services
- 2020 – 2022 · Dataraction · LoopBack 4 microservices on Kubernetes
Most of this work is in private repositories.
| Project | What it is | Stack |
|---|---|---|
| Forge | Workflow engine for coding-agent tasks: a task lifecycle with an audit log, an isolated git worktree per task, and merge held until the task's CI steps pass review. | Rust, SQLite, React |
| Smith | Terminal-first coding agent with a TUI and a non-interactive -p mode. |
Rust |
| agent-runtime | The runtime shared by Smith, Nyx and Forge: provider adapters, the tool loop, cancellation, checkpoints, context handling and usage accounting, with deterministic tests. | Rust |
| Spark | Project scaffolding and a composable pack registry. | TypeScript, Bun |
| NovelKit | Website and releases for a local-first writing desk for long fiction. |
Resume · Blog · LinkedIn · i@mai1015.com







