Skip to content
@shinyorg

Shiny.NET

We make Shiny things for .NET
Shiny

Shiny .NET

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.

Docs NuGet Downloads License

Documentation · Getting Started · Playgrounds · Blog · Commercial Support


Start here

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.


The libraries

Foundation

Library Package What it does
Core Shiny.Core The host, platform abstractions, lifecycle hooks, startup tasks and device monitoring every Shiny module builds on
Mediator Shiny.Mediator A mediator for .NET apps with the best middleware around — caching, resiliency, offline, replay, scheduling, HTTP contracts, AOT source generation
Actors Shiny.Actors Orleans-style virtual actors without the ceremony — in one process anywhere .NET runs, including MAUI and Blazor WebAssembly
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
Hosting Models Shiny.Hosting.Maui / .Native Run Shiny inside MAUI, native .NET iOS/Android, or a host you wire up yourself

Hardware & connectivity

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, L2CAP listeners
BluetoothLE Hubs Shiny.BluetoothLE.Hubs SignalR-style hubs over BLE — one device hosts, nearby devices call it through a source-generated typed proxy
Universal Hubs Shiny.UniversalHubs The same hubs over Wi-Fi and BLE — write it once, clients connect over whichever link they can reach
Beacons Shiny.Beacons iBeacon & Eddystone ranging, region monitoring and broadcasting
Locations Shiny.Locations Foreground/background GPS, geofencing and motion activity, with the permission dance handled
OBD Shiny.Obd Vehicle diagnostics over BLE, Wi-Fi and serial adapters, with auto-detection, Mode 06, VIN decoding and an emulator
Network Discovery Shiny.Net.Discovery mDNS/DNS-SD (Bonjour), SSDP/UPnP and WS-Discovery — browse, resolve and publish
Wi-Fi Shiny.Net.Wifi Scan, join and leave networks, manage saved networks, monitor the current one, and host a hotspot
Wearables Shiny.Wearables Talk to a companion Apple Watch or Wear OS app — messages, shared context, queued transfers and files
Screen Recording Shiny.ScreenRecorder Record the screen to MP4 with microphone and system audio
Gamepads Shiny.Gamepad Game controllers — sticks, triggers, buttons, rumble, battery, motion and light bars
Game Center Shiny.GameCenter Achievements, leaderboards and friends over Apple Game Center and Google Play Games, with an offline queue
Printing Shiny.Printing Thermal/receipt printing (ESC/POS, TSPL) over BLE and Wi-Fi, plus OS-native PDF, image and HTML printing

Device data

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
App Store Shiny.AppStore Check for a newer version, deep-link to store and review pages, request the native review prompt
In-App Purchases Shiny.Mobile.InAppPurchases StoreKit and Google Play Billing behind one API, with server-side receipt validation
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
Call Directory Shiny.Mobile.CallDirectory Block and identify incoming calls on iOS and Android from a list your app owns — no Xcode project

AI & intelligence

Library Package What it does
AI Conversations Shiny.AiConversation Real voice conversations with the model of your choice — wake word, STT/TTS, message store, tools
Speech Shiny.Speech Speech-to-text, text-to-speech, wake word and audio capture — on-device or via Azure, OpenAI, ElevenLabs, Typecast, Whisper
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 on-device extraction of receipts, invoices, licenses, passports and cards

Background & delivery

Library Package What it does
Jobs Shiny.Jobs Periodic background work on BGTaskScheduler, WorkManager, Windows background tasks, and a managed runner elsewhere
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
Live Activities Shiny.Mobile.LiveActivities iOS Live Activities and Android Live Updates, driven from C#
App Functions Shiny.AppFunctions Declare your app's functions once in C# — Siri/App Intents on iOS, Gemini AppFunctions on Android, tools for your own LLM
HTTP Transfers Shiny.Net.Http Resumable background upload/download that survives suspension — with Azure Blob and AWS S3 request builders

MAUI app

Library Package What it does
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
App Device Bridge Shiny.AppDeviceBridge.* Host a Blazor, React or any static web app inside MAUI — served from the device, updated over the air, calling native features through typed C# and TypeScript clients
Templates Shiny.Templates dotnet new and Visual Studio templates for Shiny apps, libraries and ASP.NET back ends

UI controls

80+ 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, Gantt, Kanban, FloatingPanel, ImageEditor, Fab, Toast, FrostedGlass
Blazor Controls Shiny.Blazor.Controls The same suite for web, plus Toolbar/TabBar, Splash Screen and themes (Aurora, Material, Ocean, Terminal)
Office Shiny.*.Controls.Office Spreadsheet, document and slide viewers/editors for .xlsx, .docx and .pptx, plus Notebook
CameraView Shiny.*.Controls.Camera Frame analyzers (barcode, face, OCR, motion, documents), effects and AI photo stylizing
MediaElement Shiny.*.Controls.MediaElement Audio/video playback with a themed transport bar, lock-screen controls and Picture-in-Picture
Diagram & Floor Plan Shiny.*.Controls.Diagram / .FloorPlan Flowcharts, node diagrams and interactive floor plans
Barcodes & QR Shiny.*.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

Data & storage

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
Data Sync Shiny.Data.Sync Bidirectional JSON sync over HTTP: outbox/inbox, tombstones, conflict resolution, backoff retry
Stores Shiny.Extensions.Stores Cross-platform key/value stores and persistent service binding

Server & cloud

Library Package What it does
HTTP Server Shiny.Net.HttpServer HTTP/1.1, HTTP/2 & HTTP/3 that runs anywhere .NET runs — including inside a MAUI app, where ASP.NET Core can't. WebSockets, SSE, auth, tunnels, gRPC, WebDAV, MCP
ASP.NET Extensions Shiny.AspNet.* Modular IWebModule startup, WebDAV, CalDAV/CardDAV, tus, file sync, NuGet & npm feeds, ACME TLS, webhooks, idempotency, tunnels
Push (Server) Shiny.Extensions.Push Server-side dispatch to APNs, FCM, Web Push and WNS — with targeting, topics, Live Activities and metrics
Orleans Database Providers Shiny.Aspire.Orleans.* ADO.NET clustering, persistence and reminders wired through Aspire — hosting, silo and client
Aspire Gluetun VPN Shiny.Aspire.Hosting.Gluetun Route Aspire containers through a Gluetun VPN sidecar
Aspire Tunnelling Shiny.Aspire.Hosting.Tunnel.* Public addresses for Aspire resources — quick tunnels, SSH, Azure Relay, Cloudflare and ngrok
DocumentDb for Orleans Shiny.DocumentDb.Orleans Grain persistence over any DocumentDb provider

Also here

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
SwiftDotNet SwiftUI-style declarative UI in C#, rendered as real native controls on iOS, Android, Windows, Linux and the web
mauiplatforms Community .NET MAUI backends for Apple TV (tvOS) and macOS (AppKit)
wonderland A full sample app exercising most of the stack
kmlrecorder Record GPS tracks to KML/GeoJSON, with CarPlay and Android Auto dashboards
mediatorsample End-to-end Mediator sample, client through server

Try it in the browser

No install, no simulator — these run in WebAssembly:

AI Conversation & Speech · Controls · Mediator · Shiny Core · DocumentDb Admin


Need more than a NuGet package?

ShinySoft Technologies

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 · allan@shinysoft.biz

Ontario, Canada · Eastern Time (UTC−5 / −4)


Free help first. Open an issue on the relevant repo — that's what they're there for. Free, MIT-licensed, and staying that way.

Docs · BlueSky · X · YouTube · LinkedIn · NuGet

Pinned Loading

  1. shiny shiny Public

    .NET Framework for Backgrounding & Device Hardware Services (iOS, MacOS, tvOS, Android, Windows, Linxux, & Web)

    C# 1.6k 248

  2. controls controls Public

    Controls for .NET MAUI & Blazor

    C# 22 4

  3. mediator mediator Public

    A Mediator for your .NET Apps with some of the most awesome middleware around

    C# 55 7

  4. DocumentDb DocumentDb Public

    The ULTIMATE DocDB Library - Works with all the popular database & on all .NET platforms - 100% AOT

    C# 20 2

  5. appdevicebridge appdevicebridge Public

    A .NET web server that serves up everything your OS has to offer (thought HTTP)

    C#

  6. universalhubs universalhubs Public

    C#

Repositories

Showing 10 of 43 repositories