About me
I'm Kit, an engineer in Burnaby, BC. I came to code from finance: a business degree, then years of reading crypto deals and building a data product, and the systems I build now still start from what the numbers are for.
The short version
I studied finance at Simon Fraser University and spent the years after it in crypto: researching deals as an investment partner at CatcherVC, advising a family office, running overseas business development for ChainCatcher, and building co-founding RootData, whose database I designed and collected from zero, into a platform with 428K users.
In 2025 I went back to school for an MSc in Applied Computer Science and spent the same year building Solana MEV infrastructure. In 2026 I built LLM-Digest, an AI analyst I run every day, and finished a capstone on KV-cache LLM serving. The long version is in Where I am, autumn 2026.
I'm looking for AI, full-stack and data engineering roles in Vancouver. I work in English, Mandarin and Cantonese.
What I'm good at
AI systems
LLM pipelines with typed stages and fallback models, retrieval with citations, model layers that outlive any one provider, and the serving side underneath: KV cache, kernels, local inference.
See the workLow-latency and on-chain
Rust, Go and Python trading infrastructure: a Jito bundle relay across eight regions, a live Polymarket system, arbitrage on an EVM layer-2, measured before it is built.
See the workProduct and data
Co-founder of a crypto data platform that reached 428K users, with a database I designed and collected from zero, and four years reading 200+ seed deals a year. I know what the data is for before I write the pipeline.
See the workInfrastructure
A Proxmox homelab with a Synology NAS, Linux and Arch on bare metal and in VMs, Docker and Kubernetes, machines configured with Ansible, and servers and address ranges across regions for the Solana relay. Production apps run on Vercel and Cloudflare.
See the workBuilding with AI
Claude Code, Codex, OpenCode and Perplexity every day, with notes and checks that keep agents honest on large codebases. LoRA training and ComfyUI pipelines on a local RTX 3090.
See the work
How I work
Habits that show up across the projects, each with the place it came from.
Every number traces back
LLM-Digest hands typed conclusions from stage to stage and links each figure to the post it came from. The payment indexer keeps an evidence row behind every address it attributes.
Say what was observed and what was guessed
The Solana analyses tag each claim as observed, inferred or unknown, with the file, RPC result or transaction that backs it. One command recomputes every table offline.
Measure the result you were hoping not to get
A send path cut from 672 ms to about 12 ms still landed none of 22 attempts from a remote host. That isolated distance, not code, as the limit, before more time went into code.
Fail closed
When a venue's fee turned out to be dynamic and unbounded, the router stopped routing that pool rather than price it with a guessed constant.
Background
Finance first, then engineering. The full history is under Experience.
- 2025 – now
Independent quant and MEV developer
Rust, Go and Python trading systems
- 2025 – 2026
MSc, Applied Computer Science
Fairleigh Dickinson University, Vancouver
- 2024 – 2026
Investment advisor
J17 Crypto, family office
- 2022 – 2026
Co-founder, product manager and advisor
RootData, crypto data platform
- 2022 – 2026
Investment partner
CatcherVC
- 2022 – 2026
Overseas operations and business development
ChainCatcher
- 2021
BBA, Finance
Beedie School of Business, Simon Fraser University
Write to me
Email [email protected], or find me on GitHub and LinkedIn. I'm on Pacific time.