Original Idea
Appliance Manual Vault A mobile app that stores appliance manuals by scanning model numbers, with quick access to troubleshooting and warranty info.
Product Requirements Document: Appliance Manual Vault (AMV)
1. Executive Summary
The Appliance Manual Vault (AMV) is a high-performance mobile application designed to simplify home maintenance by digitizing the lifecycle of household appliances. By leveraging cutting-edge OCR, AI-driven diagnostics, and automated manual retrieval, AMV allows users to manage appliance manuals, track warranties, and troubleshoot errors from a single digital interface. Built on a resilient, offline-first architecture, the platform aims to reduce the friction of home ownership and property management by providing instant access to critical technical data.
2. Problem Statement
Homeowners and property managers face three primary pain points:
- Information Loss: Physical manuals are often misplaced, and searching for model-specific PDFs online is time-consuming and prone to incorrect results.
- Financial Waste: Users miss warranty windows due to lost receipts or forgotten dates, and often pay for professional service calls for simple issues (e.g., clogged filters) that could be resolved via troubleshooting.
- Fragmented Documentation: Appliance data (serial numbers, purchase dates, receipts) is scattered across emails, physical folders, and stickers behind heavy appliances.
3. Goals & Success Metrics
- OCR Accuracy: Achieve >95% accuracy in model number extraction from appliance labels.
- Efficiency: Reduce the time to find a specific troubleshooting step from ~10 minutes (manual search) to <15 seconds.
- User Retention: Target 40% of users setting at least one warranty reminder within the first 30 days.
- System Performance: PDF manual rendering in <2 seconds regardless of file size (up to 200MB).
4. User Personas
4.1. Busy Homeowner (Alex)
- Need: Needs to know why the dishwasher is flashing "E15" without calling a plumber.
- Pain Point: Doesn't know where the receipt is; wants a quick fix.
4.2. Professional Property Manager (Sarah)
- Need: Manages 50+ units; needs a centralized database for all HVAC and water heater serial numbers for maintenance audits.
- Pain Point: Difficult to track multiple warranties across different properties.
4.3. DIY Enthusiast (Mark)
- Need: Access to exploded parts diagrams to order specific OEM components.
- Pain Point: Standard manuals are often too basic; needs deep technical documentation.
5. User Stories
- As a user, I want to scan a sticker on my fridge so that I don't have to type in a long serial number.
- As a user, I want to receive a push notification 30 days before my oven warranty expires so that I can report issues while covered.
- As a user, I want to access my dishwasher manual while my internet is down so that I can fix a leak during a storm.
- As a property manager, I want to switch between different apartment profiles so that I can see the appliance list for Unit 4B specifically.
- As a user, I want to ask an AI chatbot about an error code so that I get a personalized step-by-step fix.
6. Functional Requirements
6.1. Smart Identification Engine
- Real-time OCR scanning using a "Region of Interest" (ROI) camera overlay.
- Support for barcode and alphanumeric model number extraction.
- Validation against manufacturer databases (Bosch, Samsung, LG, etc.).
6.2. Digital Vault & PDF Management
- Automated PDF retrieval from aggregators (Icecat) and manufacturer APIs.
- Offline-first viewing capability with O(1) memory complexity for large files.
- Full-text search within PDF manuals.
6.3. Warranty & Receipt Management
- Photo upload for physical receipts with AI-based data extraction (Purchase Date, Price, Store).
- Automatic calculation of expiration dates based on standard manufacturer terms if the user doesn't specify.
6.4. AI Diagnostic Assistant
- Natural language interface for troubleshooting.
- "Agentic" workflow: The bot can look up the specific manual and the user's appliance history to provide a grounded answer.
7. Technical Requirements
7.1. Frontend (Mobile)
- Framework: React Native 0.83.x (Bridgeless Mode / New Architecture).
- Engine: Hermes with Fabric renderer.
- OCR:
react-native-vision-camera(v4+) with@bear-block/vision-camera-ocr(Google ML Kit v2). - PDF Rendering:
react-native-pdf-jsi(Android 15 16KB page-aligned). - Local Data: WatermelonDB (for relational sync) and MMKV (for key-value).
7.2. Backend (Cloud-Native)
- Framework: NestJS 11.1.12 on Node.js 22.x LTS.
- Architecture: Lambdalith deployed via SST (Serverless Stack) or Mau.
- API: REST with Zod validation.
- AI: Vercel AI SDK v6 (Streaming Tool Calls) + Amazon Bedrock (Claude 3.5/4).
7.3. Infrastructure & Security
- Database: PostgreSQL 16+ with Row-Level Security (RLS).
- Storage: AWS S3 with Dual-Layer SSE-KMS (DSSE-KMS) and Object Lambda for PII redaction.
- Auth: Firebase Authentication or Clerk.
- Observability: OpenTelemetry (OTel) + SigNoz.
8. Data Model
| Entity | Key Attributes | Relationships |
| :--- | :--- | :--- |
| User | id, email, tenant_id | 1:N with Properties |
| Property | id, name, address, tenant_id | 1:N with Appliances |
| Appliance | id, model_no, serial_no, brand_id | 1:1 with Manual, 1:1 with Warranty |
| Manual | id, pdf_url, content_hash, is_linearized | Referenced by Appliance |
| Warranty | id, expiry_range (tsrange), receipt_url | Referenced by Appliance |
| AuditLog | id, action, timestamp | Linked to Tenant/User |
9. API Specification (Selected Endpoints)
POST /v1/scan/identify
- Request: Image (Base64/Multipart)
- Response:
{ model_number: "SHPM65Z55N", brand: "Bosch", confidence: 0.98 }
GET /v1/manuals/{applianceId}
- Request: Appliance UUID
- Response: Pre-signed S3 URL with byte-range support for partial loading.
POST /v1/chat/diagnose
- Request:
{ message: "E15 error code", applianceId: "..." } - Response: Streamed text with grounded citations from the manual.
10. UI/UX Requirements
- Camera UI: Clear ROI box with haptic feedback when text is detected.
- Dashboard: High-level cards for "Warranties Expiring Soon" and "Recent Appliances."
- PDF Viewer: Sticky zoom, page thumbnails, and a "Troubleshooting" shortcut button that jumps to the index.
- Accessibility: Support for Dynamic Type (large fonts) and WCAG 2.1 compliant contrast ratios.
11. Non-Functional Requirements
- Availability: 99.9% uptime (AWS Lambda multi-AZ).
- Security: PII data (receipts) must be encrypted; user data must be isolated via Postgres RLS.
- Performance: App launch to camera-ready in <1.5s.
- Compliance: GDPR-ready "Export My Data" and "Delete Account" features.
12. Out of Scope
- IoT integration for real-time appliance monitoring (Phase 2).
- Marketplace for buying new appliances.
- Peer-to-peer manual sharing (copyright risks).
13. Risks & Mitigations
| Risk | Mitigation |
| :--- | :--- |
| OCR fails on metallic/glaring labels | Implement "Guided Scan" UI and fallbacks for manual text entry. |
| Manufacturer APIs block access | Use Icecat/1WorldSync aggregators as primary sources; use scrapers as last resort. |
| High storage costs for PDFs | Use S3 Intelligent-Tiering and PDF linearization to reduce data transfer. |
| Large PDF crashes app | Use JSI-based react-native-pdf-jsi to maintain O(1) memory complexity. |
14. Implementation Tasks
Phase 1: Project Setup & Architecture
- [ ] Initialize React Native 0.83.x project with TypeScript and Bridgeless Mode.
- [ ] Set up NestJS 11.1.12 backend with SST (Serverless Stack) for AWS deployment.
- [ ] Configure PostgreSQL with Row-Level Security (RLS) policies for multi-tenancy.
- [ ] Set up OpenTelemetry (OTel) instrumentation for backend monitoring.
Phase 2: Core Scanning & Identification
- [ ] Implement
react-native-vision-camerav4 with ROI overlay. - [ ] Integrate
@bear-block/vision-camera-ocrfor real-time model detection. - [ ] Build NestJS service to fetch model metadata from Icecat/Manufacturer APIs.
- [ ] Implement local caching for appliance metadata using MMKV.
Phase 3: Vault & Document Management
- [ ] Integrate
react-native-pdf-jsifor high-performance PDF viewing. - [ ] Set up AWS S3 with DSSE-KMS and lifecycle policies for receipt storage.
- [ ] Build PDF linearization worker to optimize large manuals for "Fast Web View."
- [ ] Implement WatermelonDB for offline-first appliance/property management.
Phase 4: AI Diagnostics & Warranty
- [ ] Integrate Vercel AI SDK v6 in NestJS for agentic troubleshooting.
- [ ] Implement RAG (Retrieval-Augmented Generation) using pgvector for manual indexing.
- [ ] Build
pg_timetablelogic for warranty expiration push notifications. - [ ] Develop AI receipt parser using Amazon Bedrock for purchase data extraction.
Phase 5: Launch & Optimization
- [ ] Conduct Android 15 (16KB page size) compatibility audit.
- [ ] Implement S3 Object Lambda for automated PII redaction on receipt views.
- [ ] Perform E2E testing with Detox for the "Scan-to-Vault" user flow.
- [ ] Finalize GDPR/CCPA data deletion and export endpoints.