Projects
Public projects and private contract work, built with the habits I bring to production: clear architecture, CI, honest error handling, and real users on the other end — across accessibility, offline audio, weather, computer vision, and CRM.
Accessibility-focused Android launcher for older adults and the visually impaired, plus a caregiver companion app that configures it remotely. Large color-coded buttons, hold-to-activate SOS with fall detection, medication reminders, photo speed dial, magnifier, voice commands, and a usage-ranked row of real apps with notification dots. The caregiver app pairs with a 6-digit code — contacts edited on one phone land on the other in seconds, with Firestore security rules enforcing which side owns what.
260+ unit tests · multi-module · GitHub Actions CI
A weather app built natively twice — Android in Kotlin/Compose, iOS in Swift/SwiftUI. Swipeable saved cities, multi-day forecasts, embedded radar, and daily briefings scheduled with WorkManager. Offline-first: per-city caching paints instantly and refreshes in the background.
GitHub Actions CI on Android and iOS
ZamZow — Offline Wake Word Detection
Android proof-of-concept using PocketSphinx for fully on-device wake word recognition. Designed to help hearing-impaired users notice when they’re being addressed — no cloud, no network dependency. Background audio service, configurable sensitivity, heads-up notification on detection. My most starred and forked repo.
Whiteboard Camera
Android prototype using OpenCV and the Android NDK to process live camera input, isolate whiteboard content in real time, and stream an enhanced feed to conferencing platforms. On-device computer vision — no server-side processing required.
Rolo — CRM
A relationship-first CRM built for a fractional CMO consultancy, replacing a spreadsheet. A configurable follow-up rules engine schedules each contact’s next touch; a dashboard surfaces overdue and due-this-week, and a scheduled daily digest reports what’s due and what was logged yesterday.
400+ PHPUnit tests · server-rendered · no build pipeline
Commercial Translation Diagnostic
A paid AI analysis product. Clients pay through Stripe, upload a pitch deck and supporting documents, and complete a survey; the system parses PDF/Word/PowerPoint, runs the analysis, and drafts a report for human review before it reaches the client.
440+ PHPUnit tests