Full-Stack Software Engineer | Distributed Systems & Network Programming | Elixir β’ Phoenix β’ JS β’ SQL β’ Docker
I am a full-stack engineer exploring systems and infrastructure. By day, I build enterprise web and integrational applications with .NET and React, delivering business-critical features in regulated industries like financial, audit, and construction.
In my down time, I build with Elixir and OTP, specifically Phoenix LiveView, Deploying in the Cloud with Docker, Postgres and Linux and testing with ExUnit, Jest, and Playwright.
I am currently interested in exploring distributed systems, deep-diving into how software works from the network layer up, via projects that both hold my interest and serve a purpose.
Distributed Systems & Networking:
- Pangea - Fault-tolerant distributed Elixir monitoring platform with Distributed GenServers via Erlang Cookies and Phoenix LiveView real-time dashboards
- Ambrosia - Production-ready Elixir Gemini server with TLS, concurrent handling, and comprehensive security TDD in ExUnit
- Ether - Raw OCaml packet sniffer for understanding network protocols at the packet level with C bindings
Web Applications:
- Clamber - Clamber is a Dockerised Phoenix LiveView and Postgres app for managing MVP waitlists without a backend
- traceinertia - traceinertia is a JavaScript code-as-art project that explores broken interfaces, memory, and digital decay
- Seasonly - Phoenix LiveView app aiming to connect local users with knowledge on local UK food produce
- ReWined - SvelteKit static site blog about non-alcoholic wines that I don't keep as up-to-date as I'd like
2.5+ years building enterprise ERP add-ons with C#/.NET and React, delivering business-critical features in regulated environments and modernising legacy systems.
- Systems: Elixir, F#, OCaml, Docker, distributed clustering
- Enterprise: C#, .NET, React, TypeScript, SQL Server, Azure
- Tools: Linux, Git, Neovim, ExUnit, performance profiling
- Performance-conscious - Understanding bottlenecks from network to application layer
- Production-ready - Security testing, proper error handling, deployment concerns
- Continuous learning - Exploring functional programming paradigms and networking fundamentals
- Open standards - Contributing to accessible, well-documented solutions
Always happy to discuss systems architecture, functional programming, or interesting engineering challenges!