Projects
Open-source software I've designed, built, and maintain, from developer tooling used in CI to cross-browser extensions.
- todo_notifierPython
Surfaces forgotten TODOs across a codebase before they rot.
- Static analysis
- Automation
- CI
- Open Source
- dtocBrowser Extension
A browser extension that keeps readers oriented on long-form pages.
- Browser Extension
- Open Source
- Chrome
- Firefox
- Edge
- vivaldi-tile-vizCSS · JS
A Vivaldi browser mod that colour-codes tiled tabs so each tile is easy to tell apart.
- Vivaldi mod
- Browser
- Open Source
- command-storagePython
Save, organize, and recall shell commands you keep re-deriving.
- CLI
- Developer tooling
- Productivity
- Wox.Plugin.eDictPython
Offline English dictionary plugin for the Wox launcher, with built-in autocorrect.
- Wox plugin
- Dictionary
- Desktop
- stock-investment-splitPython
Optimizes how to split a new investment across holdings to reach target allocations.
- Finance
- Allocation
- Utility
Snippets
4 small, self-contained pieces of code, kept as GitHub Gists. Previews are rendered by GitHub, so they always show the latest revision.
- View gist
Token bucket rate limiter for a single host
Pythontoken_bucket_single_host.py
Show codeHide code
- View gist
Call a synchronous function asynchronously in Python
Pythonsync_in_async.py
Show codeHide code
- View gist
Tonelli–Shanks algorithm in Java, ported from pycryptodome
JavaTonelliShanks.java
Show codeHide code
- View gist
Ed25519: recover X, Y coordinates from a public key in Java, ported from pycryptodome
JavaEd25519GetXY.java
Show codeHide code
Themes & extras
Customizations shared with the communities of the tools I use, published in each tool's own gallery so they install in one click.
- Get theme
Dark Knight
Vivaldi theme985 downloads
A high-contrast dark theme with custom icons, made for night browsing and deep focus.

- Background#000000
- Foreground#e6e6e6
- Highlight#62b2a2
- Accent#424242