Building an AI-first Photos app with Expo and Coreviz SDK
Key Points
- Expo-only app — no native code
- Virtualized grids + cross-fade pinch-to-zoom
- AI edit & bulk tagging via Coreviz SDK
Summary
A compact, high-performance Photos app was built with Expo (no native code) and the Coreviz SDK to combine a native-feeling photo grid UX with embedded AI capabilities. The implementation recreates iOS-style pinch-to-zoom using multiple virtualized grids and cross-fading, while Coreviz powers in-context AI features like "Edit with AI" and prompt-driven bulk "Tag with AI" labeling.
Key Points
- Architecture: pure Expo / React Native app (0 native modules) to keep portability and fast iteration.
- Scrolling & zoom: use multiple virtualized grids at different scales and cross-fade between them to simulate pinch-to-zoom with low memory and high frame rates.
- Performance practices: aggressive virtualization, lazy thumbnail loading, reuse item renderers, and minimizing re-renders for libraries with thousands of photos.
- AI features: integrate Coreviz SDK for model-backed actions — on-photo editing (e.g., Gemini/Nano Banana) and bulk labeling via natural-language prompts (e.g., detect closed eyes, jersey numbers).
- UX: combine pro-grade organization (tagging, flagging, bulk edits, search) with a simple, consumer-friendly interface.
Practical engineer takeaways
- Prototype fast with Expo; keep native-free unless a platform limitation forces otherwise.
- Implement pinch-to-zoom by swapping between virtualized lists/grids and cross-fading to avoid rendering the entire dataset at multiple scales.
- Wire AI flows through the Coreviz SDK or similar: batch inference for bulk tagging and lightweight on-device or cloud calls for per-photo edits to preserve responsiveness.