CS @ Durham Β· Quant Systems Β· Agent Infrastructure Β· Open Source
I build trading systems, agentic infrastructure, and the routing layers that decide who should do the work β a model, a machine, or a person.
π₯ Top 5 of 53 β GenAI Fund Agentic AI Build Week 2026, Founder Mode track, built solo
An operating system for a workforce of humans and AI agents. It decides who should do each piece of work β an AI agent, a human, or an agent that proposes and a human who approves. Every task is routed through an interpretable score, every irreversible action is gated behind a signed human approval, and the system learns which workers to trust from judged, human-confirmed outcomes.
Reputation buys autonomy on reversible work, and buys nothing on irreversible work.
Next.js 16 Β· TypeScript Β· Supabase Β· OpenAI Β· Langfuse Β· 60 tests passing
A meta-router for Claude Code. It sits above every workflow system in the stack and decides, per task, which system, which specialist, and which effort tier β then logs the decision and learns from the outcome.
A friendly response to Karpathy's LLM Council: multi-model voting is one useful tool, but routing is the harder problem.
Python Β· Shell Β· Markdown
Forward-testing an equity screener before trusting it. Validation design, pre-registered promotion criteria, and the write-up of what happened when the harness found the scoring model was inverted β the screener was ranking the worst names highest, and only a pre-committed test caught it.
Methodology is public; the implementation stays private.
Python Β· pre-registered validation
A modular backtesting engine in Rust, built on Polars. Strategies are swappable behind a Strategy trait, execution is realistic (next-bar fills, commission, slippage), and it ships with Kelly position sizing, grid-search parameter optimisation, and walk-forward validation to catch overfitting. Includes a Rust-versus-pandas benchmark.
Rust Β· Polars Β· clap
A live Bitcoin trading simulator. Streams real-time price from the Binance WebSocket API, computes SMA, EMA and RSI on the client, and simulates market and limit orders with full portfolio and P&L tracking.
Node.js Β· Express Β· vanilla JS Β· Chart.js
Eight PRs merged into tools I use daily. Each one started as a bug I hit myself, was reproduced before it was fixed, and shipped with regression tests.
| project | β | what landed |
|---|---|---|
| Understand-Anything | 81.5k | A PostToolUse hook read its payload from a stale env var instead of stdin, so it silently saw nothing |
| Scrapling | 78.4k | The response cache dropped cookies on browser-engine responses, breaking session reuse |
| last30days | 61.2k | A silent fallback masked YouTube transcript failures, so a broken fetch looked identical to an empty result |
| mcp-atlassian | 5.8k | Clearing an issue's parent silently did nothing β an explicit null was read as "field omitted" |
| mcp-atlassian | 5.8k | A blank line before ---- became an empty h2. in the Jira markup conversion |
| fastmcp | 3.3k | MCP resource subscriptions β a new feature, shipped in v4.8.0 |
| chat | 2.3k | Slack alert attachments lost their content once a message was normalised |
| toolport | 201 | Witsy MCP client support, credited by the maintainer in the README |
In review β seven open, into engines and platforms I depend on:
| project | β | what it fixes |
|---|---|---|
| mastra | 27.7k | Three containment gaps in run-command-tool |
| datafusion | 9.3k | Spark pmod derived its decimal result type after coercion, which collapsed both precisions and degenerated the rule to the input precision |
| registry | 7.2k | IsValidRemoteURL accepted loopback, private and link-local hosts |
| registry | 7.2k | Search matches server descriptions, not just names β a new capability |
| mcp-atlassian | 5.8k | CONFLUENCE_SPACES_FILTER was never applied to space listings |
| workers-sdk | 4.5k | The Vite plugin dropped the port on requests arriving over HTTP/2 |
| git-proxy | 245 | Deprecation warnings drifted from the schema; now driven off config.schema.json |
Top 5 of 53 Β· Founder Mode track Β· Problem P4, "Human-AgentOS" Β· built solo
Shipped warrant in a single build day: a closed loop for human/AI workforce allocation. A task arrives with capability requirements and a reversibility flag; a router scores every registered worker on capability match, cost, latency and evidenced reliability; irreversible actions structurally require human authority regardless of reputation; work executes for real, outcomes are judged, and the next identical task routes differently.
Simulated workload, real executions β every execution, score and posterior update is recorded in an append-only evidence log.
Python TypeScript JavaScript Rust C C++ Java SQL Solidity Bash
React Next.js Node.js Supabase Polars Pandas NumPy TensorFlow scikit-learn Git
CS @ Durham University β going into second year, deep in quant systems, algorithmic trading and agent infrastructure. Building real products alongside the degree, not after it.
Before Durham: 3rd Sergeant, Singapore Army (Military Police) β commanded a 10-man team in high-pressure, compliance-driven environments. Learned to think in systems and manage risk before I knew what those words meant in trading.
I write about crypto, tokenomics, quant and emerging tech on Substack.
Latest: Crypto-Currencies & Tokenomics: Their Relevance in the Next Decade
long distance running Β·
street photography Β·
specialty coffee Β·
guitar Β·