Evian McKeown
I build tools I would want to use myself.
Who I am
My work spans the full stack: web applications in ASP.NET Core and Django, the APIs and data models beneath them, and the algorithms that govern how quickly they respond. I am drawn to problems in which performance and correctness are both binding requirements rather than competing preferences.
In practice this has produced a DTMF decoder with an end-to-end latency below 50 ms, a live journey planner whose RAPTOR router answers in under 0.1 s and is about thirty times faster than a Dijkstra baseline, and a telemetry plugin with over 140,000 downloads. The planner began as a university project that I led with a team of three, and I have since rebuilt it and run it on my own; the decoder was released publicly under GPL v3; and several of my fixes have been merged upstream into a GNOME Shell extension with 2,100 stars.
I also take responsibility for the less visible engineering work: automated testing, continuous integration, and deploying and securing my own services on Linux, with sandboxed systemd units, SELinux, bot protection and rate limits.
Several of the projects above began as hobbies rather than assignments: the telemetry plugin came out of sim racing, and the decoder out of wanting to use a Casio Databank watch as a dialler. I also shoot 35 mm film on an Olympus OM-1, which accounts for the photographs below.
Education
Bachelor of Science in Computer Science
University of Cape Town, 2022–2025
- Data Structures & Algorithms
- Software Engineering
- Database Systems
- Operating Systems
- Parallel & Concurrent Programming
- Software Testing
- Pure Mathematics
National Senior Certificate
Jan van Riebeeck High School, 2019
What I work with
Frameworks and libraries
Web and APIs
Database and data
Systems and infrastructure
Engineering practices
AI-assisted development
Experience
GT7 HUD – maintainer
Volunteer • Remote • 2026–present
Took over maintenance of a Gran Turismo 7-style telemetry HUD plugin for the Assetto Corsa racing simulator (original author Rhizix; 140,000+ downloads) after years without updates.
- Shipped v1.3.0: battery state-of-charge ERS display, TC/ABS and throttle-blip visualization, and an optional tyre-telemetry module.
- Exposed a shared CSP variable that lets third-party scripts report driver assistance to the HUD.
- Fixed replay spectating so telemetry follows the focused car.
- Triage user reports by reproduction status and review community patches before merging.
Selected work
WayFound – Cape Town Journey Planner
Public transport journey planner for Cape Town across MyCiTi, Golden Arrow and Metrorail. Implements RAPTOR over GTFS timetables, with a median query time of 88 ms and about 30× faster than a Dijkstra baseline that returns the same arrivals (120 seeded journeys, 810 stops, 17,000 trips).
Includes the pipeline that repairs the operators' timetables, a Django REST API, a React front end and a hardened deployment. Began as a team project that I led; since rebuilt and run on my own.
Full-stack web application that captures DTMF tones from a Casio Databank watch via microphone, decodes them in real time using the Goertzel algorithm, and provides a click-to-dial interface for smartphones – under 50 ms end-to-end latency.
Open-sourced under GPL v3 with a live public demo, limited per stream, per client and by message rate so it holds up when exposed to the internet.
Blur My Shell
Contributor • May 2026
Fixed a dark-frame flash on blurred surfaces during wallpaper changes and corrected signal lifecycle handling in the rendering pipeline; merged upstream into a 2,100-star GNOME Shell extension.
Top Farmer – Code Game
Game designed to teach fundamental concepts of programming languages to players.