Projects

Local-first applications, systems utilities, and infrastructure work built around privacy, reliability, and real-world use.

Track Time Tagger

Privacy-preserving application that geotags photos from Garmin FIT or GPX tracks by matching capture times to interpolated GPS positions.

Aug 2026– present
RustDioxusWebAssemblyEXIF
  • Matches camera timestamps with FIT or GPX samples, then linearly interpolates a GPS position for each photo.
  • Writes JPEG and TIFF GPS EXIF metadata locally with safe defaults: dry runs, per-image confirmation, backups, and no overwrite of existing GPS tags.
  • Provides an optional browser GUI that processes selected files locally without uploading photos or tracks.

project-brief

A quick, readable map of an unfamiliar codebase, right in your terminal.

Aug 2026– present
PythonCLIuvDeveloper Experience
  • Surfaces documentation, build and test commands, scripts, editor launchers, subprojects, and notable repository wiring in one terminal view.
  • Includes focused views for components, CI/CD, and dependency vulnerability matches, with an offline security inventory mode.
  • Formats file references as path:line links and supports OSC 8 hyperlinks for terminal-friendly navigation.

MooshRevolt

Open-source Android and Linux desktop client for the Mooshimeter Bluetooth LE multimeter.

Aug 2026– present
FlutterDartBluetooth LEAndroid
  • An independent Flutter and Dart companion for the Mooshimeter V.1, building on the device protocol and the earlier Android application.
  • Delivers live dual-channel readings with configurable units, ranges, floating-probe handling, and meter status controls.
  • Provides dual-axis, shared-axis, and split real-time charts alongside continuity audio, snapshots, screenshots, and a Linux CSV logger.
  • Includes a deterministic mock meter for UI development and testing, plus a protocol replay CLI for reliable Bluetooth LE workflow verification.

Track Atlas

Coming soon

Keep your activities, routes, and wellness history together on your own device. Track Atlas helps you explore your workouts and follow your progress.

Aug 2025– present
  • Bring your Garmin activities together in a personal activity archive.
  • Explore your workouts with maps, charts, and activity summaries.
  • Review your activity and wellness history while keeping your data on your device.

Boom Print

An app for streaming Bambu Lab X1C camera feeds over your local network and managing RTSP settings.

Apr 2025– Present
FlutterDartDesktopAndroid
  • Built a LAN-only interface that generates RTSP/RTSPS URLs for Bambu Lab printers and previews the stream configuration.
  • Support uploading files via FTP, and initiating new prints without Internet access or cloud connectivity.

PulseScan C++

A focused command-line network scanner for checking hosts and services you are authorized to test.

Jan 2026
C++20Boost.AsioCLI11vcpkg
  • Check TCP services and optionally read a short service banner.
  • Use UDP probes when a service does not behave like a normal TCP endpoint.
  • Control concurrency and timeouts so scans stay predictable on your network.

PCalc Express

A programmer’s calculator for C-like expressions, with Clang-powered C++ constexpr evaluation on supported native builds.

Apr 2025– Dec 2025
FlutterDartC++FFI
  • Enter C-like arithmetic and logic expressions directly in the calculator.
  • Evaluate typed C++20 constant expressions, including casts, with the Clang constexpr backend on supported Linux and Android builds.
  • Try the browser version without installing the native app; it uses a different expression backend.

Firewall Dashboard

Single-binary Go and Svelte dashboard for inspecting PF firewall traffic, states, rule counters, bandwidth, and authentication status.

Apr 2026– present
GoSvelteFreeBSDOpenBSD
  • Embeds a Svelte interface and JSON API into one Go binary for straightforward firewall deployment.
  • Provides read-only PF traffic, state, rule-counter, bandwidth, and ALTQ queue visibility on FreeBSD and OpenBSD.
  • Includes an experimental Linux nftables backend, optional OpenID Connect authentication, and native service packaging assets.

LW-3010EC Power Supply Controller

Rust CLI and browser-based WebSerial interface for controlling and monitoring a Topshak/Longwei LW-3010EC bench power supply.

Aug 2026– present
RustWebAssemblyWebSerialModbus RTU
  • Controls output voltage, current limits, and output state over Modbus RTU through a native Rust command-line tool.
  • Compiles the shared protocol core to WebAssembly for direct browser-to-device control without a backend service.
  • Tracks live volts, amps, watts, session energy, and peak consumption while supporting interactive commands and shell completions.