Projects
MY OPEN SOURCE PROJECTS
Shiny Mobile
Cross-platform framework for Bluetooth, GPS, notifications, and other device services with robust background processing across iOS and Android
Shiny Mediator
A powerful mediator pattern for .NET apps featuring a rich middleware pipeline, source-generated contracts, and seamless integration across MAUI, Blazor, and ASP.NET
AI Conversation
All-in-one AI conversation service for .NET - text chat, push-to-talk voice, hands-free wake word activation, audio feedback, persistent chat history with AI self-lookup, and observable state management across MAUI, Blazor, and ASP.NET
DocumentDB
A multi-database document store for .NET supporting SQLite, LiteDB, CosmosDB, SQL Server, PostgreSQL, MySQL, and IndexedDB (Blazor WASM) — with named/keyed stores, multi-tenancy, spatial geo-queries, optimistic concurrency, LINQ querying, and full AOT compatibility
Shiny Controls
A growing collection of UI controls for .NET MAUI and Blazor - including a settings-style TableView, scheduling/calendar views, sheet views, Mermaid diagram rendering, pills, and more - all built with pure native MAUI controls, fully AOT-safe with no XAML required
MAUI Shell Extensions
Simplified .NET MAUI Shell navigation with source-generated routes, typed parameter passing, and streamlined page/ViewModel wiring
App Extensions
Cut the DI boilerplate with attribute-driven service registration via source generators, plus cross-platform persistent key/value stores for your app settings
Reflector
AOT-compliant property access, JSON serialization, and assembly metadata without runtime reflection - all generated at compile time via source generators
App Templates
Ready-to-go dotnet CLI and Visual Studio project templates for scaffolding Shiny-powered mobile and server apps
Localization Generator
Source-generated strongly typed wrappers around IStringLocalizer, turning your .resx files into compile-time safe localization calls
MAUI Platforms
Community-driven .NET MAUI backends bringing Apple TV (tvOS) and macOS (AppKit) support to platforms not officially covered by MAUI
OBD
.NET library for vehicle diagnostics through OBD-II adapters, featuring a command-object pattern, adapter auto-detection, and pluggable transports including Bluetooth LE
Music
Unified .NET API for accessing device music libraries on Android and iOS - browse artists, albums, and tracks with metadata querying, playback controls, file export, and built-in permissions handling
Contact Store
Cross-platform device contact management for .NET MAUI - create, read, update, and delete contacts with LINQ querying, search, and integrated permissions handling
MSBuild Permissions
Declare .NET MAUI permissions once in your csproj and let MSBuild auto-generate the matching Android manifest entries and iOS Info.plist keys at build time
Shiny Aspire
Zero-friction .NET Aspire integrations that auto-provision Orleans ADO.NET schemas across PostgreSQL, SQL Server, and MySQL, plus Gluetun VPN container routing
GeoSpatial DB
A dependency-free geospatial datastore and geofencing library powered by SQLite R*Tree indexing with custom geometry algorithms - lightweight and perfect for .NET MAUI apps
Health
Apple HealthKit and Android Health Connect integration for .NET MAUI - query health metrics like steps, heart rate, calories, sleep, blood pressure, and more with a unified cross-platform API
DataSync
AOT-compliant data synchronization engine for .NET mobile and desktop apps - bidirectional sync with change tracking, background scheduling, soft-delete strategies, and observable lifecycle events
Speech
Cross-platform speech services for .NET MAUI and Blazor WebAssembly - speech-to-text, text-to-speech, audio capture, and playback with pluggable cloud providers like Azure AI Speech and ElevenLabs
SAMPLE APPS
Canadas Wonderland Ride Times
Live ride wait times for Canada’s Wonderland - a showcase of Shiny Mediator paired with background Shiny jobs for real-time data fetching
Heads Up Clone
A clone of the popular Heads Up party game built with .NET MAUI featuring accelerometer-driven gestures and category-based card decks
Bluetooth Digital Scoreboard
A Bluetooth LE client and peripheral hosting sample using Shiny - demonstrates real-time score syncing between devices over BLE
Mediator Sample
End-to-end Shiny Mediator sample showcasing request/response handlers, event publishing, and middleware pipelines in action
Where Are You
Background GPS tracking done right - a .NET MAUI app using Shiny Locations for continuous position updates streamed to a .NET Orleans backend
Beat The Bank
A voice-powered trivia game using speech-to-text and text-to-speech, built with .NET MAUI, Shiny Mediator, and the Community Toolkit
KML Recorder
A .NET MAUI app for recording GPS tracks and exporting them as KML or GeoJSON files, with full CarPlay and Android Auto dashboard integration
TUNE Games
A music guessing and trivia game built with .NET MAUI and Shiny.Music - plays clips from your own library and challenges you to name the tune
Plex Suggest
A personalized recommendation engine for Plex libraries - analyzes your watch history to surface unwatched content with scored suggestions, available as both a .NET MAUI app and CLI tool
SUPPORT MY WORK
Want to help out? There are several ways to do that
- Help write documentation/samples
- Fix bugs listed with “Help Wanted”
- File defects with complete test cases
- Be A GitHub Sponsor