Staff Platform Engineer — FinTech
I work on reliability, performance and tooling for trading systems: the platforms other engineers build on. Outside work I build things to learn them properly, mostly in Rust, sometimes in Go, always from a terminal.
projects
ansiblerustv0.3.0Typed Rust API for Ansiblecrates.io ↗
A Rust library for working with Ansible inventories: load any inventory Ansible understands and get typed access to its hosts and their variables.
- 0.3.0 reworked it into idiomatic Rust: a typed error enum instead of panics, a borrowing API, and runnable documentation examples
- Released from CI with crates.io trusted publishing: merging a version bump publishes the crate, with no long-lived API token anywhere
next Inventory groups, then running ad-hoc commands and playbooks from Rust
clankerrustactiveDiscord bot: Siege rank rolesgithub ↗
A Discord bot written to learn async Rust, on tokio with poise and serenity.
/r6rankgives members the server role for their Rainbow Six Siege rank/r6verifylooks the rank up instead, through a pluggableRankSourcetrait (the first provider is Arenyze), with caching and a cooldown to stay inside a free API quota- Clean shutdown on signals, typed lookup errors, and a public repo with CI
next Always-on hosting, and new commands (reminders, polls)
websitegoactiveThis site: markdown → staticgithub ↗
This site. A small Go program turns site.toml and markdown into static HTML, deployed to Cloudflare
Pages: every pull request gets a preview, and merging publishes it.
- Go standard library (
html/template,embed) plus goldmark for markdown - No external requests at all, fonts included, so the content security policy only allows the site itself
- Previously a Go web server on Fly.io; it never needed to be one
next Terminal-style navigation, and writing about how I build things
discord-mcprustlearningMCP server for Discord admingithub ↗
A Model Context Protocol server that lets an AI assistant such as Claude Code help run a Discord server: look up roles and channels, create and manage roles.
- Built by hand from bytes on stdin: JSON lines, JSON-RPC 2.0, and both MCP protocol versions
(the stateless 2026-07-28 and the older
initializehandshake) - Safe by design: its own least-privilege bot, allowlisted servers, a preview before any change, and a reason in Discord's audit log for every action
- Worked through as an offline course: milestones with tests, hints and reference solutions
next Tools, then async with tokio, then a Discord REST client
spoopevichrustdesignParty game for phonessoon
A party game for phones, in the browser. Each player has a tell, agreed on by the others, and everyone can see every player's tell except their own.
- Join from a short link; no app, no account
- Rust with async on the server; live updates to every phone
- Currently being designed
next A design doc: rooms, join links, live updates to every phone
odstgodoneOrder messages in binary (SBE)github ↗
A study of binary encoding: equity order messages with FIX semantics, in Simple Binary Encoding (SBE), in Go.
- An SBE schema compiled to Go codecs, with every byte of the wire format checked by tests
- Measured against JSON: 2–3× faster to encode and decode, but bigger, because fixed-size fields trade bytes for predictability
- Found that the Go generator's range check rejects SBE's own NUL padding in text fields
- Concluded; a TCP client and server stay ideas
▸ opens a project
learning path
Systems programming in Rust, one project at a time, each building on the last.
- nowdiscord-mcpA real protocol by hand (JSON-RPC, MCP), async Rust, safe tools for AI
- plannedshellA Unix shell: processes, pipes, redirection, job control, signals
- plannedkv-storeA storage engine: write-ahead log, crash recovery, compaction
- plannedcontainerA container runtime: namespaces, cgroups, overlay filesystems
- ideatcpTCP from the packets up, in userspace on a TUN device
- ideaebpfAn eBPF observability tool: tracing in the kernel with aya
toolbox
- languages
- Rust · Go · Python · Bash
- platform
- Linux · Ansible · containers · CI/CD · observability
- daily
- Neovim · tmux · Ghostty · Ubuntu
contact
- [email protected]
- github
- Lxkota95 ↗
- jack-p-coleman ↗