A small pile of things I built because the existing options annoyed me enough to fix them. Some are lab tools, some aren’t — poke around below, or use the search on the homepage if you’re hunting for a specific feature.
On this page

DockAnchor
Keeps the macOS Dock pinned to one display across multiple monitors.
A lightweight macOS menu-bar utility for multi-monitor setups. Instead of the Dock jumping to whichever screen your cursor approaches, DockAnchor keeps it anchored to a single display you choose — and remembers that choice per monitor combination.
Key features
- Pins the Dock to a chosen display; prevents it from activating on secondary screens
- Remembers your anchor display per combination of connected monitors, restoring it automatically on reconnect
- Lightweight pointer-monitoring — uses a CGEventTap to clamp cursor position at the Dock’s trigger zone (doesn’t capture keystrokes or other data)
- Menu-bar app, no background daemon complexity
Requirements: macOS, Accessibility permission (for pointer interception).
Built with: Swift, Swift Package Manager.
License: MIT.

IGV-X
A modern fork of IGV (Integrative Genomics Viewer) built for large epigenomics sessions.
IGV-X is customized for Arabidopsis epigenetics and whole-genome bisulfite sequencing (WGBS) methylation analysis — built around sessions with hundreds of tracks — while staying fully compatible with standard IGV.
Key features
- Chromosome-name resolution that never crashes — fixes the stock IGV 2.19.5 bigWig NullPointerException on TAIR10 WGBS sessions (Chr1..ChrM vs RefSeq aliases), with case-insensitive, alias-aware resolution across bigWig/bigBed/BAM/BED/VCF
- Large-session performance for ~900-bigWig sessions: bounded loading threads, async loads, honest progress reporting, viewport culling, caching
- Relative session paths by default, optional
.igvx.jsoncompanion file, bookmarks & highlights persisted in the session, cancelable session loading - High-quality PNG/SVG/PDF export, multi-track selection, configurable default quantitative ranges, trackpad navigation
- Organize tracks by genotype → CG/CHG/CHH with editable, remembered rules
- Diagnostics & error recovery: Diagnose Track/Session, exception dedup/rate-limiting, batch command listener (port 60151)
- In-app updates from the GitHub releases feed
- Native macOS app (menu bar, fullscreen, Retina, accessibility), bundled JDK, separate bundle ID and prefs (
~/igvx), safe to run alongside stock IGV
Built with: Java 21, Gradle (forked from IGV 2.19.x).
License: MIT.

Firefly
Keeps your Mac awake — on demand, on a schedule, or automatically — even with the lid closed.
A macOS menu-bar utility for anyone whose Mac needs to stay awake for a background job: renders, transfers, remote sessions, or anything else that shouldn’t get interrupted by sleep. Beyond the basics, Firefly can trigger itself automatically — while specific apps or processes are running, whenever it’s plugged into power, or on a recurring schedule — and includes safety guards so it won’t drain the battery or run unattended somewhere it shouldn’t.
Key features
- Prevent idle sleep, keep the display awake, or survive a closed lid (needs AC power) — independently combinable
- Timers with scroll-to-extend on the menu bar icon, and “until this app quits” sessions
- Automatic triggers: specific processes running, plugged into power (optionally with lid-closed survival), or an external display connected
- Recurring schedules for overnight jobs
- Battery and unplug safety guards
- Global keyboard shortcut, Shortcuts/Siri support, and a
firefly://URL scheme for scripting - Optional automatic update checks
Requirements: macOS 13+.
Built with: Swift, Swift Package Manager.
License: MIT.

Your menu bar, in your pocket.
A single click that lists every app on your Mac with a menu bar icon — including the ones that don’t currently fit and are quietly out of view — and opens any of them directly. No more hunting through a crowded bar for the one icon you need.
Key features
- One-click access to every menu bar icon, whether or not there’s currently room to display it
- Click again (or click elsewhere) to close the list
- Global keyboard shortcut, optional auto-close on idle/outside-click/fullscreen
- Launch at login
- Optional, opt-in update checks — never installs anything without you clicking through to the release page
Requirements: macOS 13+, Accessibility permission (to see which apps own a menu bar icon).
Built with: Swift, Swift Package Manager.
License: MIT.

Middle-Click AutoScroll
Middle-click anywhere on a page to pan and scroll it in any direction — classic autoscroll, for Safari on macOS.
Safari has never supported the click-drag autoscroll that’s standard in Windows browsers. This adds it: middle-click empty page content to arm autoscroll, then move the pointer to pan the page — up, down, left, right, or diagonally — with speed ramping by distance.
Key features
- A quick click arms it hands-free (no button held); a press-and-drag stops the instant you let go
- Speed ramps with distance from the click point, with axis snapping so near-straight drags don’t drift diagonally
- Scroll bubbling — if the box you started in hits its own scroll limit, autoscroll keeps going on the page behind it
- A compass cursor shows only the directions actually in effect
- Per-site enable/disable, adjustable speed, invert-direction option
- Optional, opt-in automatic update checks — never installs anything without you clicking through to the release page
Requirements: macOS 13+, Safari 16.4+.
Built with: WebExtension (Manifest V3), Swift host app.
License: MIT.