Booray Cards
iOSAndroidWeb
A full cross-platform app — iOS, Android, and web — for playing and scoring the card game Booray. It's local-first: an on-device SQLite database keeps things instant offline and syncs to a Cloudflare Workers API, with user accounts and live pot and round tracking.
Built withReact Native · Expo · TypeScript · Drizzle ORM · SQLite · NativeWind · Clerk · Cloudflare Workers · Hono
Winona Lake Conditions
Web appWeather
A fully server-rendered Cloudflare Worker that turns live Open-Meteo forecasts into go / marginal / no-go scores for lake sports — eFoil, wakesurf, wakeboard, and water ski — on Winona Lake. Wind, gusts, rain, and daylight, with the forecast cache warmed on a schedule.
Built withCloudflare Workers · Hono · TypeScript · Workers KV · Cron Triggers · Open-Meteo API
Winona Lake Timelapses
AutomationVideo
An automated pipeline that captures the lake camera's RTSP stream and renders daily sunrise, sunset, and full-day timelapses on a schedule, then publishes them to a Cloudflare R2–backed gallery — hundreds of clips archived and growing every day.
Built withNode.js · FFmpeg · RTSP · Docker · Cron · Cloudflare R2 · Cloudflare Workers
Winona Lake, 2025
Computational photographyData viz
A computational-photography recap of a full year of sky over Winona Lake — roughly two million frames distilled into sun-locked timelapses, star trails, keograms, and 'weather-removed' median videos. A Python pipeline does the analysis; an Astro site presents it.
Built withPython · OpenCV · pvlib · PyTorch · FFmpeg · Astro · Cloudflare Workers
eFoil Sync Companion
MobileWebCLI
A cross-platform toolkit for eFoil ride logs, built on protocols reverse-engineered from the board's own wireless traffic. It pulls rides off the board over WiFi (MAVLink dataflash), parses them to JSON, and surfaces them in a web viewer and an Expo mobile app with an optional Cloudflare Workers sync backend.
Built withTypeScript · Node.js · Expo · React Native · Cloudflare Workers · MAVLink
Coming soon