Retinelle: Simple and Local-first Photo Inventory
Retinelle is a local-first iOS app for building photo inventories in minutes: snap photos, group them into projects, and export polished PDFs while every image stays on your device for privacy.

Why I Built Retinelle
Retinelle exists because I needed a better way to create a photo inventory. When I tried cataloging one of my family homes and its belongings, every app I tested felt bloated, slow, or overly cloud-dependent. I ended up copy-pasting thumbnails into a Google Sheet and emailing it.
Retinelle grew out of that frustration: a lightweight, local-first iOS app that builds a clean photo inventory and lets you share it without friction.
What Makes a Good Photo Inventory
These are the principles that guided the architecture from day one.
- Simplicity: Adding a photo should happen in seconds, without digging through menus. Retinelle keeps the UI intentionally narrow so you can capture without thinking.
- Local-first speed: When everything stays on-device by default, latency disappears and privacy improves. Cloud sync can be useful later, but the baseline has to feel instant.
- Shareable outputs: Eventually you need to hand the inventory to someone else. I chose PDF export because it is universal, printable, and easy to archive.

Technical and Product Hurdles
Shipping the app still came with a few bruises along the way:
SwiftUI growing pains
I started the app in 2020, when SwiftUI felt exciting but half-baked. List reused cells unpredictably, NavigationView loved to duplicate pushes, and layout tools like GeometryReader behaved differently on iPhone vs. iPad—so UIKit’s maturity was hard to ignore. Things are more stable today.
Learning to respect Core Data
Core Data gave me the persistence I needed, but my first implementation abused it. Refactoring the store so inserts, edits, and deletes stayed predictable was a turning point for reliability.
Crafting a great PDF export
Matching the on-device layout in a PDF took some iterations:
- Exposing only the options users actually care about (layout, image size, etc.).
- Compressing images enough to keep file sizes small without losing detail.
- Handling huge inventories where pagination, memory pressure, and background processing matter.
Localization wasn’t a silver bullet
Before LLM tooling, translating the entire app required professional translators. It cost real money, and the impact on adoption—especially in Asia—was minimal. It reminded me that translating strings alone does not unlock new markets if distribution and cultural fit lag behind. Retinelle is now localized for English (US), French (FR), Hindi (IN), Japanese (JP), Portuguese (BR), Simplified Chinese (CN), and Spanish (ES).
Unexpected rebrand
The app originally launched as Pictory (“picture inventory”). A US trademark complaint forced me to rename it to Retinelle. The process was stressful, but the new name ultimately felt more distinctive and future-proof.
Free Today, Pro Tomorrow
Retinelle is free because most people need a photo inventory once per year. Charging them upfront never felt right. The users who truly need daily cataloging—restorers, designers, property managers—are the ones I plan to serve with upcoming paid add-ons:
- Pro option: publish a simple website straight from a local inventory so teams or clients can browse it without PDFs.
- Supporter option: unlock extra visual polish (covers, color themes) while keeping the same core features as the free tier.
The casual experience stays free, while professionals get tools worth paying for when they are ready.
Where to get Retinelle
If your current “inventory system” is still a spreadsheet glued together with screenshots, Retinelle is meant to be the local-first, sharable upgrade. You can grab it at retinelle.app and build a catalog in minutes.
Author Vinzius
LastMod 24 November, 2025