Left Right: Photo Cleaner
Allora Foundry
Swipe a camera roll clean.
- Platforms
- iOS, Android
- Period
- Aug 2026 – present
- Role
- Lead mobile engineer
An on-device photo cleaner: swipe right to keep, left to delete, then clear out duplicates and screenshots. I took it from first commit to App Store and Google Play review in about six weeks, with about 95% of the commits.
What I built
Native modules in Kotlin and Swift
Three hand-built Expo modules. media-hash computes a perceptual hash of every photo on a cancellable background thread with progress events. media-stats counts the library by month and folder in a single pass. screen-state tells the biometric app lock when the phone itself was locked.
The whole money stack
RevenueCat subscriptions (weekly, annual, and a discounted annual plan, with three-day trials) behind a paywall I built myself. AdMob native, interstitial and rewarded ads behind UMP and App Tracking Transparency consent. AppsFlyer attribution linked to RevenueCat, and Sentry with session replay and PII deliberately switched off.
Built test-first
1,759 tests across 185 suites, with TypeScript clean before every commit. Store builds refuse to compile if a RevenueCat, AppsFlyer or Sentry key is missing, so a misconfigured release cannot ship.
Hard problems, solved
A duplicate group that swallowed 212 photos
On a real device, chained similarity matching pulled 212 unrelated photos into one ‘duplicate’ group. I redesigned grouping around seed photos and filtered out low-information hashes, then re-verified on Android and iOS.
A 17-second freeze after deleting
Bulk deletes stalled the JavaScript thread for 17 seconds. I found the cause and removed it, so the app stays responsive straight after a delete.
4K video crashing Android
ExoPlayer's buffer ran the app out of memory on 4K clips in the swipe deck. Traced and fixed.
A misleading PhotoKit error on iOS
Hashing failed with PhotoKit error 3303, which pointed at the wrong cause. I traced it, then switched iOS to reading asset data and downsampling with ImageIO.
Information
- Client
- Allora Foundry LLC
- Role
- Lead engineer, about 95% of 708 commits
- Platforms
- iOS and Android
- Built with
- Expo SDK 57, React Native 0.86, TypeScript, Kotlin, Swift, Reanimated
- Monetization
- RevenueCat, custom paywall, AdMob, AppsFlyer
- Monitoring
- Sentry errors and traces, source maps from builds and OTA
- Privacy
- Everything runs on the device. No backend, no account.
Version history
In review on both stores
Oct 3, 2026
iOS 1.0 waiting for review. Google Play production release 1.0.0 (9) set for full rollout to 177 countries and regions.
TestFlight build 1.0.0 (2)
Sep 28, 2026
Real purchase verified
Sep 23, 2026
Google Play Billing tested end to end on a real phone through internal testing.
First commit
Aug 22, 2026
Next: CLPPER