Certi-Lock® Mobile App — Platform Documentation
Welcome to the technical documentation for Certi-Lock®, the Scottsdale Mint mobile application for verifying precious metals through QR/barcode scanning and sealed image verification.
This documentation is intended for developers and mobile engineers working with the Certi-Lock® codebase.
What Is This App?
Certi-Lock® is a lightweight, offline-first mobile application that enables customers to verify the authenticity of Scottsdale Mint precious metals products. The app provides:
- QR/Barcode Scanning — Real-time camera-based scanning using React Native Vision Camera with a custom native frame processor running at 1 FPS.
- Product Verification — Instant product lookup via the Algolia search API, matching serial numbers to the Scottsdale Mint product catalog.
- Sealed Image Retrieval — Fetches and stores high-resolution sealed item images from the Certi-Lock Image API with SHA256 hash verification.
- Offline-First Architecture — All scanned items, images, and banners are cached locally in SQLite, enabling full offline access after initial scan.
- Promotional Banners — Home screen carousel with 24-hour cached promotional content fetched from the WordPress REST API.
- Item History Management — Searchable list of all scanned items with swipe-to-delete functionality and automatic 24-hour data refresh.
- Error Monitoring — Sentry integration for real-time crash reporting and performance monitoring across iOS and Android.
Technology Stack
| Category | Technology | Version |
|---|---|---|
| Framework | Expo (Expo Router) | ~6.0.19 |
| Runtime | React Native | 0.81.5 |
| Language | TypeScript | ^5.9.3 |
| Styling | NativeWind (Tailwind CSS) | 3.4.19 |
| State Management | TanStack React Query | ^5.90.12 |
| Database | Expo SQLite + Drizzle ORM | 0.45.1 |
| Camera | React Native Vision Camera | ^4.7.3 |
| Error Tracking | Sentry | ~7.2.0 |
| Build/Deploy | EAS (Expo Application Services) | CLI >=16.0.1 |
App Configuration
| Property | Value |
|---|---|
| App Name | Certi-lock® |
| Slug | scottsdale-mint-mobile-app |
| Version | 1.1.0 |
| URL Scheme | scottsdale-mint |
| Owner | rhinogroup |
| iOS Bundle ID | com.scottsdalemint.app |
| Android Package | com.scottsdalemint.app |
| Apple Team ID | 3QV77NV5D9 |
| EAS Project ID | d99628bd-d434-41de-971e-269dab7a473b |
Documentation Structure
| Section | Description |
|---|---|
| Architecture & Navigation | Expo Router file-based navigation, screen structure, data flow, and provider hierarchy |
| API Integrations | Algolia product search, Certi-Lock Image API, WordPress REST API, and error logging |
| Database & Local Storage | Drizzle ORM schema, SQLite configuration, migrations, image file storage, and AsyncStorage caching |
| Camera & QR Scanning | React Native Vision Camera setup, custom native QR frame processor module, and scan-to-save flow |
| UI & Styling | NativeWind/Tailwind CSS configuration, custom fonts, component patterns, and toast notifications |
| Development Setup | Prerequisites, environment variables, build commands, EAS deployment, testing, and debugging |
Source Code
The mobile app source code is located at:
Z:\Repos\scottsdale-mint-mobile-app
Key Contacts
- Owner Organization: Rhino Group (
rhinogroupon Expo) - Platform: iOS and Android (no tablet support on iOS)
- Distribution: App Store and Google Play via EAS