Tools of the Trade
What I actually build with, and where each one has earned its place
No self-assessed proficiency bars here. Everything below names something I have built with it, so you can go and look rather than take my word for it.
⚙️ Systems & Performance
- C++ Day to day on the Market Data team at Squarepoint Capital; the ITCH decoder and two-lane latency comparison in Microsecond in Slow Motion; core testing tools at Integrated Environmental Solutions
- C / Embedded C++ Formula Student data logger and telemetry firmware, STM32, mbed and Arduino targets
- CUDA GPU kernels in the CUDA programming projects
🧩 Backend & Data
- Python The discovery and pricing scrapers behind LondonPintFinder, and the analysis in GitHub Language Stats
- Go Gin backend for the Glasgow University Drone Society forum
- PostgreSQL & SQL Schema and queries behind the forum
- PyTorch Deep Q-learning agent in the Snake AI
🖥️ Interfaces
- TypeScript & React Forum frontend, and the Excel add-in work at Vectofy
- Next.js Static export powering LondonPintFinder
- Three.js The five-act market data film, and the interactive solar system
- Astro This site, including the terminal navigation you are using
🏗️ Infrastructure
- NixOS & Nix flakes The whole machine serving this page, declared in one repository
- Linux, nginx, systemd TLS termination, per-app deploy units and timers across several subdomains
- Prometheus, Loki, Grafana Metrics, logs and dashboards for the same machine
- CI/CD, Bash, Docker Build pipelines that cut build time by 80% as DevOps architect at IES
🧪 Also Worked In
Used in coursework, contract work or experiments, without a showcase project here: Java, C#, Unity, MATLAB and Simulink, .NET, Elixir and Phoenix, PowerShell, Rust, Zig.
🎖️ Licenses & Certifications
📚 Currently Digging Into
⚡ GPU Programming
Working through "Programming Massively Parallel Processors" and applying it to the CUDA projects.
📈 Market Data Internals
Exchange protocols, feed handling and where the time actually goes between a packet and a decision.
🦀 Rust
Systems programming without the footguns, mostly as a counterweight to the C++ habits.