Coding

Apps, experiments, and practical tools I build to solve real problems β€” for myself, for communities I care about, and for clients. A working inventory that grows as I add screenshots and demos.

Most of these aren’t public yet. If you’d like to try one out or learn more about any project below, let me know!
Status: Live Active development Prototype Backburner Commit counts hint at time & attention spent.
Tags: 🌐 Platform Language Framework / tool Client / extends

Community & communication

πŸ‘‹Hangs

In devJun 2026

Coordination-light social network: people post what they’re already doing and others join with one tap β€” no RSVP, no organizing. Magic-link login, SMS reminders, and phone invites.

19 commitsWebNext.jsSupabaseVisit

πŸŽ™οΈRunMeets

PrototypeJun 2026

AI-assisted live workshop facilitation: records and diarizes a room, keeps a running summary and action ledger, and clusters discussion into idea cards on a shared, editable board.

47 commitsWebTypeScriptSwiftVisit

Discourse plugins

Reusable plugins and services that extend the Discourse community platform.

πŸ“…Events & Calendar

LiveApr 2026

First-class events for Discourse: event content, calendar rendering, RSVP and waitlists, imports, and reminders, with venues wired to the Places plugin.

297 commitsDiscourseRubyEmber

πŸ“ŒPlaces / POIs

LiveMay 2026

Adds a first-class, map-able Place content type β€” replacing brittle shared Google Maps lists β€” that also serves as event venues.

102 commitsDiscourseRubyEmber

πŸ”€Activity Views

LiveMay 2026

Serves an /activity route that merges categories, chat channels, and topics into a single interleaved activity feed for a community.

27 commitsDiscourseRubyEmber

🧭Owned Sidebar

In devJun 2026

Replaces the Discourse sidebar with a fully JSON-configurable block layout, including a collapsible chat-navigator tree, DMs, and threads.

15 commitsDiscourseRubyEmber

πŸ”ŽUnified Search

In devJun 2026

Permission-aware search across chat, places, events, and posts, with per-row access scoping and a dedicated endpoint for AI bots.

15 commitsDiscourseRubyPostgres

🎨Showcase

In devJun 2026

A member project-showcase surface with tags, sandboxed iframe embeds, an approval workflow, voting, and search.

13 commitsDiscourseRubyEmber

Also: Telegram Bridge, Agent Plaza Provisioner, Agent Village Commons, Chat Channel Categories, Topic From Form, and a set of theme components.

BigRigTravels

A live truck-camera and streaming system for a long-running trucking broadcast.

🌐Interactive Website

LiveDec 2025

The dynamic side of the site: a live driver-position map with local tile caching, an elevation and route profile, an RV stats widget, upcoming and current trip listings, a live / YouTube go-live indicator, the embedded truck-camera viewer, and route and trip-planning tools.

174 commitsWebPHPWordPressVisit

πŸ“ΊStream Overlay

LiveDec 2025

The live broadcast overlay: shows the truck’s current position (city and street), passing road signs, live weather, and subscriber-milestone celebrations, with a newer server-side renderer that rasterizes the overlay to WebP. Delivered as raster images for use in any livestreaming app, now driven by the custom BRT Broadcaster.

73 commitsWebPHPNode

πŸ“ΉBRT Broadcaster

LiveDec 2025

A fully custom livestreaming app built for long-haul drives: broadcasts simultaneous live video and interval stills with independent controls, live bitrate and focus adjustment, and continuous position logging that feeds the site’s live map and overlays.

102 commitsAndroidKotlinCameraX

Personal & productivity tools

πŸ€–Personal Assistant

In devDec 2025

A native Mac AI assistant that proactively checks in through the day: context-aware chat, task integration, long-term memory, and hybrid local/cloud model routing.

113 commitsmacOSSwift

πŸ—£οΈLogAssistant

In devApr 2026

Voice-logging system: record notes, background-upload, transcribe and summarize server-side, then review with high-speed playback, full-text search, and a Claude-backed chat assistant over your notes.

71 commitsAndroidKotlinPython

πŸ“ŠActivityAI

BackburnerDec 2025

Personal productivity analytics: imports computer-activity data, sessionizes it into blocks, and uses an LLM to classify and report how your time was actually spent.

19 commitsWebJavaScriptSQLite

πŸ’ΈAPISee

LiveApr 2026

Local-first cost tracker for API usage: syncs cloud billing, prices calls in real time, warns before you blow a budget, and exposes it all over MCP and a menubar dashboard.

11 commitsmacOSRustTauri

πŸ“–CookIndex

Prototype

Search your physical cookbook collection by ingredient: OCR-ingests each book’s index pages so you can find which book has the recipe you need.

WebPHPAlpine.js

πŸ”ygrepUI

In devJan 2026

A desktop control panel for the ygrep code-search CLI: manage indexed folders, rebuild text and semantic indexes, and run per-folder file-watch jobs.

macOSRustTauri

πŸ“„WPConverter

UsableApr 2026

A drag-and-drop Mac app that converts legacy WordPerfect (.wpd) documents to plain text, decoding the old multi-byte formatting codes.

2 commitsmacOSSwift

Also β€” smaller tools & exporters: iMessageExport, telegram-export, otter-date-extractor, yt-subscription-dl, video-maint.

Health & habits

⏳Slow Your Scroll

In devJul 2026

Turns an infinite feed into a finite one: selected social feeds quietly wind down so they feel finished instead of endless. A local VPN gently injects latency past a scroll threshold, never a hard error.

25 commitsAndroidiOSKotlin

⏰Alarm Face

In devJun 2026

Native alarm clock that fires reliable OS-level alarms and gates dismissal behind on-device face detection β€” you have to actually look awake to turn it off.

8 commitsiOSAndroidMediaPipe

🧘MeditationTree

LiveJun 2026

A calm, scrolling recommender that guides you to meditation practices matching your temperament and goals, driven entirely by editable metadata.

4 commitsWebJavaScriptGoogle SheetsVisit

Music

🎀Karaoke Any Song

LiveDec 2025

Self-hosted AI karaoke: pulls any song, separates the vocals, transcribes word-level timing, and serves a player with real-time lyric highlighting and a synced video mode.

12 commitsWebPythonDemucsWhisper

🎢SingingTutor

PrototypeSep 2025

A practice tool for singers: organize warmups and songs across local files, YouTube, and Spotify into a simple three-playlist workflow.

11 commitsWebJavaScript

🎡Singing Events Organizer

PrototypeMar 2026

A custom app for invite-only singing-event coordination: contacts, scheduling, tokenized participant responses, performer intake, payment tracking, and reminder batching. Built for a client.

8 commitsWebPHPLaravelClient

Maps, places & data

πŸ‘¨β€πŸ³ChefLines

In devFeb 2026

A knowledge graph of 20 years of SF Bay Area dining: chunks a 12,000-article archive, extracts people, places, and roles with an LLM, resolves them into a canonical database, and visualizes the lineage.

9 commitsCLIPythonTypeScript

πŸ—ΊοΈKeap Maps

LiveFeb 2026

Store-locator map built for a client (Keap Candles), with separate Stockists and customer-Recommendations views and local map-tile caching for speed.

16 commitsWebPHPLeafletClientVisit

🍸RS Roadtrips

PrototypeJan 2026

Built for my gin company, Redwood Shire Gin: a β€œGrove to Glass” road-trip directory of partner wineries, bars, and shops, with a filterable list and an interactive map with detail views.

15 commitsWebPHPLeaflet

Photography tools

πŸ“·Personalized AI Photo Culling

In dev

Learns your personal taste from your existing Lightroom library and ranks new shoots by predicted preference, writing results back as Lightroom metadata. Unlike most AI cullers, it isn’t limited to people, portrait, or event work β€” it handles landscape, wildlife, product, and any subject.

CLIPythonPyTorch

πŸ–ΌοΈimmich-dng-extended

LiveJul 2026

An extension for the Immich photo server that adds RAW/DNG decoding it can’t do out of the box (Lightroom HDR/pano merges, newer phone RAW), by building patched image libraries with self-verification and automatic rollback. Open source.

4 commitsImmichBashDocker

Calendars & feeds

🌊TideCal

LiveJan 2026

Generates subscribable calendars of NOAA high/low tide events with height and daylight filters, plus optional sunrise/sunset events.

10 commitsWebPHPNOAA APIVisit

🌦️WeatherCal

LiveFeb 2026

Generates subscribable weather-forecast calendars (with air quality) for any location, ready to add to Google, Apple, or Outlook.

WebPHPOpen-MeteoVisit

Games

πŸ¦–Isla Nublar Brawl

PlayableJul 2026

An unofficial fan-made dinosaur-island parody beat-’em-up: a canvas side-scroller with original arcade art, combat, and sound. Pure browser, no backend.

7 commitsWebJavaScriptCanvas

Browser userscripts

Small Tampermonkey scripts that add features to sites I use.

🏠Airbnb Per-Person Pricing

In useJan 2026

Adds per-person-per-night pricing across Airbnb and VRBO listings, search cards, and map pins β€” for comparing group-travel value at a glance.

UserscriptJavaScript

πŸ₯ΎAllTrails Calorie Estimator

In useJan 2026

Estimates calorie burn for a hike from its distance and elevation gain, with pack-weight and rucking support.

UserscriptJavaScript

▢️YouTube Playlist Autoclean

In useJan 2026

Automatically removes each video from a playlist once you finish watching it, so your queue stays current.

UserscriptJavaScript