Skip to content
Document DB v12 - Improved Interceptors with Soft Delete Integration, AI protections, & Admin UI with Aspire Integration! How!?

Getting Started

GitHubGitHub stars for shinyorg/recogintelligence
DownloadsNuGet downloads for Shiny.DocumentIntelligence
Frameworks
.NET
.NET MAUI
Operating Systems
Android
iOS
macOS

Shiny.DocumentIntelligence is two halves of one pipeline:

  1. IDocumentScanner — launches the platform’s own document camera (edge detection, perspective correction, multi-page) and hands back clean page images.
  2. IDocumentExtractor — turns those images into typed data: receipts, invoices, driver’s licenses, passports and payment cards.

Everything runs on-device. No cloud OCR service, no per-page cost, no document leaving the phone.

Terminal window
dotnet add package Shiny.DocumentIntelligence
builder.Services.AddDocumentIntelligence();

That single call registers IDocumentScanner, ITextRecognizer, IBarcodeReader, IDataDetector and IDocumentExtractor — the native implementation for the current platform in each case.

PlatformRequired
iOS / Mac CatalystNSCameraUsageDescription in Info.plist
AndroidNothing — see below
macOS (AppKit)Nothing — the user picks files through NSOpenPanel

Or generate the full set of files — packages, registration, manifests and permissions — with the builder below:

Shiny.DocumentIntelligenceNuGet package Shiny.DocumentIntelligence
public class ExpenseService(IDocumentScanner scanner, IDocumentExtractor extractor)
{
public async Task<ReceiptData?> CaptureReceipt()
{
if (!scanner.IsSupported)
return null;
var scan = await scanner.ScanAsync(new DocumentScanRequest { PageLimit = 1 });
if (scan.IsCancelled)
return null;
var doc = await extractor.ExtractAsync(scan, DocumentType.Receipt);
return doc.Receipt; // Merchant, Date, Subtotal, Tax, Total, Currency, Items
}
}
PlatformScannerOCRBarcodesData detector
iOS / Mac CatalystVisionKit document cameraApple VisionApple VisionNSDataDetector
AndroidML Kit document scanner (can emit PDF)ML KitML Kit
macOS (AppKit)File picker + Vision deskewApple VisionApple VisionNSDataDetector
Windows / bare net10.0throwsthrowsthrowsinert

Gate your UI on IsSupported rather than on a platform check — it also covers OS-version floors (the iOS document camera needs iOS 13+).

DocumentTypeStrategyResult
ReceiptOCR + heuristicsReceiptData — merchant, date, subtotal, tax, total, currency, line items
InvoiceOCR + heuristicsInvoiceData — vendor, number, dates, totals, line items
DriversLicenseAAMVA PDF417 barcode decodeLicenseData — name, DOB, licence number, address, plus the full AAMVA element map
PassportICAO 9303 MRZ parsePassportData — names, passport number, nationality, dates, with check-digit validation
CreditCardOCR + Luhn validationCreditCardData — PAN, network, expiry, cardholder
UnknownOCR onlyRawText

See Extraction for the details, including the deliberate security choices in the payment-card path.

  • Scanning — the modal scanner, per-platform behaviour, PDFs
  • Extraction — typed results, OCR layout, the seams you can replace