The device, background, and data layer .NET has been missing.
Cross-platform libraries for .NET MAUI, Blazor, ASP.NET Core and native apps — the background work, hardware access, offline storage and sync that every real app needs and every team writes badly once.
Documentation · Getting Started · Playgrounds · Blog · Commercial Support
Full documentation for every library — getting started guides, API usage, platform notes and release
notes. Start with the App Builder: pick the
features you need and it hands you the csproj and startup code.
Every library runs where the platform allows it: iOS, Mac Catalyst, macOS, Android, Windows, Linux,
and Blazor WebAssembly. Everything is Native AOT & trim-friendly, and many modules ship optional
*.Extensions.AI packages that expose them to LLM agents as Microsoft.Extensions.AI tools — an
opt-in allow-list of exactly the operations the model may call.
| Library | Package | What it does |
|---|---|---|
| Jobs | Shiny.Jobs |
Periodic background work on BGTaskScheduler, WorkManager, Windows background tasks, and a managed runner elsewhere |
| HTTP Transfers | Shiny.Net.Http |
Resumable background upload/download that survives suspension — with Azure Blob and AWS S3 request builders |
| Data Sync | Shiny.Data.Sync |
Bidirectional JSON sync over HTTP: outbox/inbox, tombstones, conflict resolution, backoff retry |
| Local Notifications | Shiny.Notifications |
Scheduled, repeating and geofence-triggered notifications with channels, badges and actions |
| Push Notifications | Shiny.Push |
Native APNs/FCM, Firebase, Azure Notification Hubs, and Blazor Web Push |
| AI Conversations | Shiny.AiConversation |
Real voice conversations with the model of your choice — wake word, STT/TTS, message store, tools |
| MAUI Shell | Shiny.Maui.Shell |
Shell navigation, dialogs and ViewModel lifecycle made pleasant, with source-generated routes |
| Configuration | Shiny.Extensions.Configuration |
Platform config sources, native preferences, and remote configuration for mobile |
| MSBuild Permissions | Shiny.Permissions.MSBuild |
Android manifest permissions and iOS plist values declared from your csproj |
| Templates | Shiny.Templates |
dotnet new and Visual Studio templates for Shiny apps, libraries and ASP.NET back ends |
| Library | Package | What it does |
|---|---|---|
| BluetoothLE | Shiny.BluetoothLE |
Scan, connect, GATT and L2CAP CoC — including the reconnect and background behaviour that only shows up on real devices |
| BluetoothLE Hosting | Shiny.BluetoothLE.Hosting |
Be the peripheral: GATT server, advertising, iBeacon broadcast, L2CAP listeners |
| Locations | Shiny.Locations |
Foreground/background GPS, geofencing and motion activity, with the permission dance handled |
| OBD | Shiny.Obd |
Vehicle engine communication over BLE with adapter auto-detection |
| Speech | Shiny.Speech |
Speech-to-text, text-to-speech, wake word and audio capture — on-device or via Azure, OpenAI, ElevenLabs, Typecast, Whisper |
| Library | Package | What it does |
|---|---|---|
| Music | Shiny.Music |
Device music library, playback, playlists, lyrics, album art and audio analysis |
| Health | Shiny.Health |
Read, write and observe HealthKit and Health Connect data through one API |
| Contacts | Shiny.Contacts |
Device contacts with CRUD and a fluent async query builder |
| Calendar | Shiny.Calendar |
Calendars and events with CRUD, recurrence handling and pushed-down date queries |
| Library | Package | What it does |
|---|---|---|
| Face Intelligence | Shiny.FaceIntelligence |
Enrollment and face recognition on-device via ONNX, with MAUI controls and pluggable stores |
| Voice Intelligence | Shiny.VoiceIntelligence |
Speaker enrollment and recognition on-device, with guided enrollment UI |
| Document Intelligence | Shiny.DocumentIntelligence |
Document scanning and field extraction |
| Library | Package | What it does |
|---|---|---|
| DocumentDb | Shiny.DocumentDb |
Schema-free JSON document store, 100% AOT, with LINQ, spatial, vector, full-text, encryption, OData and change monitoring |
| ↳ Providers | Shiny.DocumentDb.* |
SQLite (+SQLCipher), PostgreSQL, SQL Server, MySQL, MariaDB, Oracle, CockroachDB, DuckDB, Cosmos, DynamoDB, Mongo, Redis, RavenDB, Firestore, LiteDB, IndexedDB, Azure Table |
| ↳ Admin UI | — | Browse, query, geometry, vectors and blobs across every provider — plus a terminal UI |
| Spatial | Shiny.Spatial |
Dependency-free AOT geospatial database on SQLite R*Tree, with Shiny.Spatial.Geofencing |
| Stores | Shiny.Extensions.Stores |
Cross-platform key/value stores and persistent service binding |
40+ controls, each available for .NET MAUI and Blazor — see the full catalogue.
| Library | Package | Highlights |
|---|---|---|
| MAUI Controls | Shiny.Maui.Controls |
TableView, TreeView, DataGrid, ChatView, Scheduler, FloatingPanel, ImageEditor, Fab, Toast, SignaturePad, FrostedGlass |
| Blazor Controls | Shiny.Blazor.Controls |
The same suite for web, plus SheetView, Toolbar/TabBar, Splash Screen, Kiosk |
| CameraView | Shiny.Maui.Controls.Camera |
Frame analyzers, effects, face masks, AI document scanning and photo stylizing |
| Barcodes & QR | Shiny.Maui.Controls.Barcodes |
13 symbologies, pure-managed rendering, headless output to PNG/SVG |
| Desktop | Shiny.Maui.Controls.Desktop |
Tray icon, docking, on-screen keyboard |
| Markdown & Mermaid | Shiny.*.Controls.Markdown |
Markdown rendering and editing, Mermaid diagrams with theming |
| Library | Package | What it does |
|---|---|---|
| Mediator | Shiny.Mediator |
A mediator for .NET apps with the best middleware around — caching, resiliency, offline, replay, scheduling, HTTP contracts, AOT source generation |
| Dependency Injection | Shiny.Extensions.DependencyInjection |
Attribute-driven registration via source generators — keyed services, categories, multi-interface |
| Reflector | Shiny.Extensions.Reflector |
Reflection without the reflection, powered by source generators |
| Serialization | Shiny.Extensions.Serialization |
AOT-safe serialization used across the stack |
| Localization Generator | Shiny.Extensions.Localization.Generator |
Strongly typed IStringLocalizer from your .resx files |
| MAUI Hosting | Shiny.Extensions.MauiHosting |
Modular MAUI app configuration with IMauiModule and static host access |
| Web Hosting | Shiny.Extensions.WebHosting |
Modular ASP.NET Core configuration with IWebModule |
| Blazor Hosting | Shiny.Extensions.BlazorHosting |
The same module model for Blazor |
| Push (Server) | Shiny.Extensions.Push |
Server-side dispatch to APNs, FCM, Web Push and WNS — with targeting, topics, Live Activities and metrics |
| Library | Package | What it does |
|---|---|---|
| Orleans Database Providers | Shiny.Aspire.Orleans.* |
ADO.NET clustering, persistence and reminders wired through Aspire — hosting, silo and client |
| Gluetun VPN | — | Route Aspire containers through a Gluetun VPN sidecar |
| DocumentDb for Orleans | Shiny.DocumentDb.Orleans |
Grain persistence over any DocumentDb provider |
| Repo | What it is |
|---|---|
| skills | AI agent skills for every Shiny library — teach Claude, Copilot or Cursor to write Shiny code correctly |
| documentation | The source for shinylib.net |
| wonderland | A full sample app exercising most of the stack |
| mediatorsample | End-to-end Mediator sample, client through server |
No install, no simulator — these run in WebAssembly:
AI Conversation & Speech · Controls · Mediator · Shiny Core · DocumentDb Admin
These libraries are maintained by ShinySoft Technologies — the same people you can hire to build the thing they're for. 25+ years of shipping software for people who work away from a desk: fleets, warehouses, job sites, hospitals, connected hardware.
How teams engage us
| Engagement | What you get |
|---|---|
| Fractional CTO | Senior technical leadership without a full-time hire — architecture and technology strategy, roadmap, build-vs-buy and cost control, hiring and code review. |
| Team Augmentation | Drop-in senior engineering that ships from day one, unblocks stalled or inherited codebases, and leaves standards behind that stick. |
| Idea to Product | Discovery and business analysis that turns a rough concept into a scoped, costed, buildable plan with real estimates. |
What we build
- Mobile & cross-platform — production .NET MAUI, iOS and Android, including the background, offline and lifecycle work most teams get wrong
- IoT & Bluetooth — BLE central and peripheral, device fleets, hardware integration. We wrote the libraries above for this
- Fleet & field operations — location tracking, geofencing and telematics where connectivity isn't guaranteed
- Cloud & web — the ASP.NET Core services behind the device, built to stay cheap to operate and hold their shape under load
- Application modernization — legacy .NET Framework and aging mobile codebases onto current platforms without stopping delivery
- AI, done honestly — start where it pays, your data stays yours, people stay accountable, measured against real cases, no lock-in by default
Migrating off Xamarin? Every subsystem a mobile app actually needs — BLE, background jobs, location, push, storage, sync, speech, device data, barcodes, UI, app architecture — already has a maintained library here, so the port doesn't stall hunting for a replacement plugin. Talk to us about the migration →
Book a call · shinysoft.biz · [email protected]
Ontario, Canada · Eastern Time (UTC−5 / −4)
