NOCTURNAL FIELD GUIDE • PET SAFETY ENGINE

Cat Plants

Point your phone at a plant. Find out whether it can hurt your cat.

An engineering solution for in-store safety decisions. Built around one unwavering principle: Identification names the plant; an offline ASPCA database determines safety.

APP INTERFACE & VERDICT WORKFLOW
Cat Plants Lens Capture Screen
1. LENS & OCR CAPTURE

Three Ways In

Camera framing, on-device ML Kit tag OCR, or offline fuzzy name search. Wakes the cloud proxy when camera intent starts.

Cat Plants Toxic Result Screen
2. DETERMINISTIC VERDICT

High-Contrast Signal Band

Red "KEEP AWAY" or green "ALL CLEAR" band, exact taxonomy match, toxicity symptoms, and Wikipedia reference photo.

Cat Plants Visual Compare View
3. VISUAL VERIFICATION

Check Its Work

Side-by-side comparison of user photograph vs. reference shot with raw confidence score metrics.

569

ASPCA Plant Species

1,784

Common Name Aliases

< 50ms

Offline Search Latency

30.5 MB

ARM64 Optimized Release
SYSTEMS ENGINEERING PHILOSOPHY

Asymmetric Failure Mode Design

In physical systems engineering, a false negative safety call is a catastrophic failure mode. Software for pet safety must treat ambiguity with the same conservatism.

Decoupled Identification & Safety Authority

PlantNet identifies botanical names. It knows nothing about cats. The safe/toxic call is strictly a map lookup against a bundled ASPCA-derived JSON database.

Toxic-Biased Genus Fallback

If a species is unlisted but belongs to a genus with any toxic member, the lookup engine resolves as Toxic. Exact species matches always take precedence over genus defaults.

Zero AI Hallucination Risk

Unindexed or low-confidence species return an explicit "Not in our database — treat as potentially unsafe" warning. It never guesses or queries an LLM.

FULL STACK & PLATFORM PIPELINE

Technical Architecture

Flutter Background Isolate Index

Flutter / Dart

569 species and 1,784 aliases indexed once at load on a background isolate, enabling instant O(1) map hits without UI thread stutter.

On-Device ML Kit Label Scanning

Google ML Kit

Scans nursery plant tags on-device using ML Kit OCR. Runs completely offline without network latency or API key requirements.

Serverless Azure Proxy & Pre-Warming

Azure Container Apps

Dart `shelf` backend proxy gates API keys, hashes images for caching, and caps daily calls. Pre-warms container on camera-open intent to eliminate 17s cold start.

Release Binary Size Optimization

R8 / ABI Splitting

Split per-ABI release builds reduce APK size from 79.4 MB to 30.5 MB by packaging only native ML Kit binaries required for arm64.

DATA FLOW & EXECUTION PIPELINE

From Photo to Safety Verdict

STEP 1

Intent & Capture

Camera frames plant or OCR reads tag. Background ping wakes serverless Azure proxy from zero-scale state during framing.

STEP 2

Proxy Identification

Azure Container Apps Dart proxy verifies client token, checks SHA-256 image cache, and retrieves taxonomy name from PlantNet.

STEP 3

ASPCA Rule Evaluation

On-device isolate queries ASPCA dataset. Resolves toxic-biased fallback rules and renders high-contrast signal band.

ROTHENBERG INDUSTRIES • SOFTWARE ENGINEERING

Need Custom Mobile & Cloud Engineering?

We bring mechanical and systems engineering discipline to software development—building robust mobile apps, IoT integrations, and cloud infrastructure.