I'm a developer passionate about building tools that bridge the gap between technology and the outdoors. I work across the full stack, from polished frontend experiences (React) to systems-level work (Zig, geospatial libraries). I enjoy solving problems that require both precision and performance.
A plan β run β analyze toolchain for ultra trail running:
- π¨ Terminus: Race intelligence PWA. GPS route analysis, effort modelling (Minetti), offline maps, live tracking and 3D visualization, on a Zig/WASM core.
- π¨ Retrace: Plan-vs-actual race analysis PWA. Compares a predicted plan (GPX) with the executed run (FIT).
- π¨ Waymark: Edit a race director's GPX, pin waypoints and cut-offs on a map, export an extended GPX.
Zig libraries powering them:
- β gpxz: GPX analytics and plan library + CLI.
- β fitz: Garmin FIT file parser + CLI.
- β debriefz: Plan-vs-actual comparison library + CLI, built on gpxz and fitz.
Earlier work:
- β
navigo: Rust/WASM geospatial crate, on npm as
@totorototo/navigo(demo). - π¦ Ultra Buddy Β· Positic Β· Lybitos-Strava
- Languages: JavaScript, TypeScript, Zig, Rust, OCaml (ReasonML)
- Frameworks & tools: React, Vite, Zig/WASM (Zigar), Rust/WASM, MapLibre, Three.js, PartyKit
- Interests: Full-stack Development, Frontend Architecture, Systems Programming, Geospatial Data, Sports Tech, Functional Programming
- Zig 0.17: allocators, comptime, build.zig
- Zig β WASM in web workers for geospatial and file-parsing performance
- Terrain overlays (runnability, daylight, exposure) from GPS traces and DEMs
"If it involves a GPX file and a mountain, or low-level memory management, I'm probably interested."





