the full, filterable project index — grouped by domain, with per-project writeups — plus a live feed of my open-source pull requests
I build tools for climbing, medicine, Windows internals, and myself. California kid, freshman in college, writing code between surf sessions and rock climbs. Most of what's here started because something annoyed me on a trail or in the field — a rope question, a pre-hospital protocol, a screen-capture API doing something I didn't ask for — so I built the tool.
SPRAT Level 1 rope access · WFR · NCTSN Psychological First Aid — which is why ropesim gets checked against real fall factors, drugdose came out of protocol I was already carrying on paper, and DiresQ tracks the responders instead of the incidents.
Rust and Python, mostly. Half of it is libraries, half is GUIs, occasionally it's a Rust core that makes the whole thing 100× faster.
into right now — a language of my own (nexium) · gesture-driven instruments · geospatial / OSINT · purple-team RNG analysis · climbing rope dynamics
outside the keyboard — skiing the sierras · surfing the coast · trad climbing anywhere I can drive to
reach me → discord _londo. · irc /msg Londopy on irc.libera.chat · send a message »
on irc I stay connected, so a PM reaches me even when I'm away — no account needed, web.libera.chat works from a browser.
The pieces that show the range. The full index of 34 projects across 11 domains lives on the site » — filterable by tag and language, with writeups.
🖥️ capture-bypass — Windows screen-capture bypass
Clears WDA_EXCLUDEFROMCAPTURE by DLL injection, so windows that opted out of screen capture show up again. Multi-crate Cargo workspace, egui GUI, Inno installer.
⚙️ nexium — a programming language of my own
Compiles to native code through C, with automatic reference counting — no tracing collector — and a machine-checked effect system that says whether a function allocates, blocks, or can panic. One source tree ships as a C library, a Python wheel, a Rust crate, or a CLI, all from nx ship.
📝 patchnotes — changelog parser for CI
Parse, query, and validate Keep a Changelog markdown and YAML — then fail the build when a release note is malformed or missing. Small, boring, and the one people actually installed.
🧗 ropesim — climbing-rope physics engine
UIAA / EN 892 impact-force modelling. Damped-spring RK4 integrator in Rust, bound to Python through PyO3 / Maturin, wrapped in a CLI and a PySide6 3D GUI — four layers, three languages, one install.
🚨 DiresQ — disaster response that tracks the responders
Every disaster app tells you where the disaster is — this one tracks the people going into it. Join a report, check in on a timer, and the accountability board turns red if you go dark. Reports and check-ins work offline, and the whole thing runs without JavaScript. It parses times with timefuzz and validates its changelog with patchnotes — two of my own libraries. Built at Katy Youth Hacks 2026 with @Skythe7.
🎲 deadpoint
Purple-team RNG analysis. Detects weak PRNG usage, then proves it: recovers MT19937 / LCG / xorshift state with a Z3 constraint solve and predicts future and past outputs. Ends with the CSPRNG fix, not just the finding. writeup »
⏱️ timefuzz
Fuzzy natural-language time parsing. Goes where
dateparser stops: resolves "end of Q3" or "the Tuesday after my birthday" into a datetime or range, with a confidence score so you can decide whether to trust it. writeup »
💊 drugdose
EMS & clinical dosing calculator. Weight-based dosing against a bundled 49-drug database, plus 39 interaction rules with severity and management guidance. Pure Python, zero runtime deps. writeup »
🪟 HideDesktopApps
Tray daemon that hides desktop icons, taskbar, and every window on a hotkey. For ricing, Wallpaper Engine, and not flashing your desktop mid-presentation. Rust-native single binary, installable through Scoop. writeup »
🎹 gesture-synth
A chord instrument you play with your hands in front of a camera — MediaPipe hand-tracking drives the synth, a loop pedal layers four tracks, and the harmony is drawn back at you in 3D. One codebase spanning Rust/WASM, Svelte + Three.js, a Tauri app, a Zig DSP kernel, and a Gleam service. writeup »
🏔️ whumpf
Avalanche bulletins projected onto the real mountain in 3D. Slope, aspect, and elevation are packed into RGBA tiles and filtered in a GLSL shader, so a whole range recomputes as you drag a danger slider — answering the question the bulletin doesn't: is the slope in front of me one of those slopes? writeup »
🗂️ filekind
Make a custom file extension a real, recognised file type — on Windows, Linux and macOS — from one declarative spec. Generates the registry tree, freedesktop MIME XML, macOS UTI plist, icons in three formats, and the install/remove scripts. writeup »
🌱 point-of-origin
A side-scrolling platformer where the puzzle is the ground. Your lantern shows only the ghost of what grew here, so you run the ruins to learn its shape — then find the cell it started from, plant a seed, and grow it back. A reverse cellular automaton: an Odin simulation DLL, Nexium build tooling, Unity 6. Made for CPGD's World's First Game Jam. play it »
londo@dev:~$ env | grep STACKexpand the full environment »
LANGUAGES = Python · Rust · TypeScript · C++ · Bash
BUILD_AND_SHIP = PyPI · Maturin · PyO3 · GitHub Actions · PyInstaller · Cargo workspaces
winget · Scoop · Inno Setup
DATA_AND_VIZ = NumPy · Pandas · Matplotlib · Seaborn · Folium · Vispy
GUI = PySide6 · Qt · egui · Tkinter · pystray · pywin32
WEB = Astro · Flask · TypeScript
INFRA = SQLite · Win / Linux / macOS · DLL injection · Win32 · Z3
CREATIVE = Nuke · Maya · After Effects · Premiere · AutoCAD · Houdiniexpand the map »
%%{init: {'theme':'base','themeVariables':{'primaryColor':'#FAF6EC','primaryTextColor':'#2A2418','primaryBorderColor':'#7A5C3A','lineColor':'#7A5C3A','tertiaryColor':'#FFF8EC'}}}%%
mindmap
root((London))
Systems & Windows
capture-bypass
HideDesktopApps
clipvault
pc-optimizer
Security tooling
kto
deadpoint
Pre-hospital & clinical
drugdose
vitalscore
Clinical_IQ
akribia
DiresQ
Climbing & outdoors
ropesim
whumpf
apollo-rope-memory
Geospatial / OSINT
pygeospy
Networking & privacy
qbit-killswitch
mullvad-wg-monitor
beam
Dev tooling & languages
nexium
patchnotes
timefuzz
filekind
Agent tooling
skill-rollcall
mcp-rollcall
settings-effective
git-attribution
Audio & instruments
gesture-synth
IEM-Tool-rs
AI & vision
facial-recognition
convo-generator
Consumer & games
ValoTracker
the same domains the site groups by — click through there to filter by tag or language
names reserved, code brewing »
ghostwire — networking |
barodepth — freediving |
trailmath — outdoors |
tidaltable — outdoors |
hwsig — systems |
memalloc — systems |
procwatch — systems |
OmniSight — vision |
cards appear on the site once they ship
londo@dev:~$ contributions --animateSnake eats my commit graph daily. Looks better with the dark theme on.
the same year, as a 3D sculpture »
rebuilt nightly by github-profile-3d-contrib — nine other palettes live in profile-3d-contrib/
- statusmith
v0.4.0— today - point-of-origin
v1.1— today - git-attribution
v1.1.0— today - settings-effective
v1.1.0— today - mcp-rollcall
v1.1.0— today - skill-rollcall
v1.2.0— today
freshman year. just getting started.
londopy.github.io · discord _londo

