Why I Built Inner Gallery
The story behind the first Jungle Labs product -- a simple problem, disappointing apps, and the decision to build a photo vault from scratch.
Existing photo vault apps charge a subscription to store your photos... locally. They embed ad tracking in an app that's supposed to protect your privacy. Inner Gallery was born from that contradiction.
I hadn't planned on building a photo vault.
One day I wanted to save images on my iPhone without them ending up in Photos or iCloud. Just locally. Nothing complicated in theory.
I searched the App Store. There are dozens of apps for this. I tried several.
The Problem
Some wanted an email and password to create an account. For a local app. Others charged $10/month -- to store files on my own phone, with no server involved. A few had interfaces that hadn't changed in years. And several backed up to iCloud by default, which defeated the whole purpose.
The iOS Hidden folder? Everyone knows where it is. It's protected by the same passcode as the phone -- the one you type in public every day. And it syncs to iCloud.
What I wanted came down to four points:
- Photos on my device only
- Actually encrypted
- No tracking
- No subscription
Sounds simple. Nothing on the market did it.
The Decision
I could have let it go and moved on. But the thing with simple problems poorly solved is that they don't go away. They linger in the background and nag at you.
So I opened Xcode.
New SwiftUI project. Blank slate, one rule from day 1: zero external dependencies. Every third-party lib is a potential attack surface, something to maintain, something I can't audit line by line. For an app that asks people to trust it with their photos, that's not a minor detail.
Everything runs on three Apple frameworks: Foundation, SwiftUI, and CryptoKit. Nothing else. Inner Gallery communicates with no server.
The Choices
Every decision in Inner Gallery stems from the same question: would I trust this app with my own photos?
No user account. You open the app, create a PIN, and get started. Nothing to hack because nothing is stored online.
No cloud. If you lose your phone, the photos are gone. That's the honest trade-off. The alternative is your photos on a server you don't control -- and that's a very real risk. Reddit posts from people who lost all their Keepsafe photos overnight are proof enough.
No analytics. I don't know how many photos people store. I don't know how often they open the app. I know nothing and that's by design. When I see that Keepsafe was tracking 6 billion events via Amplitude -- in a privacy app -- it reinforces that choice.
One-time purchase. Why charge a subscription when there are no servers? Inner Gallery has a free tier (2 spaces, 50 media items), and one-time purchases if you want more.
Building Alone
Jungle Labs is me. One developer, one studio. The app is 6,325 lines of Swift. That's small -- and that's the point. One person can read, understand, and audit every line.
Competing apps make millions a year. I'm an indie developer in France. But I have an advantage that big companies don't: I have zero pressure to add cloud, tracking, or subscriptions. I can just build the app I want to use.
And I use it every day.
What's Next
Inner Gallery is the first Jungle Labs product. Others will follow, with the same DNA: local, encrypted, no subscription.
If you're interested in following the journey of an indie studio -- the technical choices, the launches, the mistakes -- it's on Twitter/X.
Further reading: