
- Status
- LiveShipped and publicly available.
- Started
- Updated
- Role
- Product Design, Architecture, QA, Release Management, Development Orchestration
- Built with
Overview
Flashbackz is an iPhone game built around a simple question: how well do you remember when the moments in your own life happened?
The game chooses memories from the user’s camera roll, shows a previous memory and a new one, and asks whether the new photo happened before or after the previous one. A correct answer extends the streak and turns that photo into the next reference point.
The interface is intentionally simple. The difficult part became deciding which photos deserve to appear at all.
The Real Problem Was the Camera Roll
A large photo library contains much more than memories: screenshots, memes, paperwork, monitors, saved graphics, blank frames, bursts, selfies, receipts, random objects, and technically valid photos with almost no autobiographical value.
The first prototype used metadata, clustering, and scoring to reduce my roughly 21,770-photo library to about 4,951 candidates. That was enough to prove the game worked, but device testing exposed the deeper problem: “valid photo” and “good memory” are not the same thing.
One especially useful failure was a photo of a video-game screen. Semantic analysis saw faces, people, and scenery and assigned strong positive context, even though the entire scene existed on a monitor.
That shifted the project from simple photo filtering toward a more interesting question: what does an autobiographical recall trigger look like computationally?
Building the Selection Pipeline
Flashbackz is built with React Native, Expo, and TypeScript, with a custom local iOS module using Apple Vision for image classification, face detection, text detection, and rectangle detection.
The selection pipeline evolved in layers:
- metadata and provenance remove obvious weak candidates;
- Vision adds semantic information;
- structural heuristics target documents, saved graphics, screenshots, and display-dominated scenes;
- a strict gameplay gate provides the final rejection layer.
Eventually, filtering itself became the wrong abstraction. A photo can survive every junk filter and still be boring.
I added a separate Memory Intelligence layer that scores signals such as social context, activity, travel, temporal richness, favorites, isolation, redundancy, and occasion membership. Photos are grouped into temporal neighborhoods and representative limits prevent one burst, trip, or heavily photographed event from dominating the game.
The Product Got Simpler as the System Got Smarter
Early versions included Daily mode, Free Play, different question rules, and phased gameplay. I removed them.
V1 ended with one mechanic: decide whether the New Memory happened BEFORE or AFTER the Previous Memory and keep the streak alive.
The app also remains local-first. Photo scanning, Vision analysis, memory selection, and gameplay happen on the iPhone. No Flashbackz account is required, and personal photos are not uploaded to a Flashbackz photo-processing backend.
Shipping Problems
One of the last major failures happened below the React Native layer. The first AdMob-enabled development build crashed before Metro could log anything. The native Google Mobile Ads SDK was still autolinked while the required native application identifier was missing.
The eventual build configuration always emits a valid native App ID and rejects contradictory production/test settings before a binary is created.
Another important decision was knowing when not to rewrite. Some cleaner fixes would have required native changes, cache invalidation, and a complete photo-library reanalysis. I deferred them when the release candidate already met the threshold for shipping.
Current State
Flashbackz is live on the App Store, published as a free iPhone download on 20 August 2026 after clearing review.
The production baseline includes local photo-library analysis, Memory Intelligence, Before/After streak gameplay, full-screen memory viewing with pinch/zoom, local persistence, support/privacy pages, and production AdMob integration. Final repository verification reported 876/876 checks passing and Expo Doctor at 20/20.
The remaining product question is subjective rather than structural: how consistently does the ranking system surface moments a person is genuinely happy to see again? That is the natural next place to keep improving.
Milestones
Camera-roll prototype
Proved the core concept on a real library of more than 21,000 photos.
Local semantic analysis added
Added an iOS Vision module and layered structural/provenance filtering.
Memory Intelligence introduced
Shifted from rejecting junk to ranking photos for autobiographical recall value.
V1 submitted to Apple
Production build 1.0.0 build 3 was tested through TestFlight and submitted for App Store review.
Released on the App Store
Flashbackz 1.0 cleared review and was published as a free iPhone download.

Flashbackz


