Inspiration

I was scrolling through Facebook groups and kept seeing the same thing: people posting old damaged family photos asking if anyone could help restore them. Some were offering to pay, others were just hoping someone with Photoshop skills would help out. I started helping a few people for free, just running their photos through some AI tools I found online.

But it was a hassle. Download the photo, upload to a website, wait, download again, upload back to Facebook. And half the time people didn't know how to download the restored version properly. That's when I thought: why isn't there just an app for this?

What it does

Clever lets you restore old photos right on your phone. Take a picture of that damaged photo or select one from your gallery, and the app fixes it up: removes scratches, brings back faded colors, fixes tears. No need to ask strangers on Facebook or pay someone $50 to do it in Photoshop.

How we built it

Started with React Native because I wanted it on both iPhone and Android. Found this AI model on Replicate that was specifically trained for photo restoration, way better than generic image enhancement.

Biggest decision was keeping all photos on the device instead of uploading them to servers. People get weird about uploading family photos, and honestly, they should. So everything stays local except for basic user accounts.

Used Expo to speed up development and NativeWind for styling because CSS is just easier than React Native's style objects.

RevenueCat Integration: This is where it got interesting. Those Facebook posts showed two types of people: those happy to get free help, and those offering to pay for quality work. RevenueCat let us serve both. Free users get 3 restorations to try it out, then we offer weekly ($12.99 with 3 day free trial) or monthly ($29.99) subscriptions (testing).

What's cool is RevenueCat's analytics showed us exactly how people use the app: most do 1 or 2 photos to test it, then immediately want to restore their entire photo collection. That 3 day trial on the weekly plan converts like crazy because people can restore a bunch of photos before deciding. The remote config feature is clutch, we can adjust everything from the RevenueCat dashboard without app updates.

Challenges we ran into

The AI takes 5 to 7 seconds to process each photo. That's forever in app time. Had to add progress bars and animations so people don't think it crashed. Added a recovery system so people can recover lost photos incase they were processing and got a phone call or got sidetracked in a similar manner.

iOS was being a pain with provisioning profiles. Spent way too long figuring out why the app wouldn't build after adding some random config.

Also had to figure out the right image size limits. People's phone cameras are insane now, 50MB photos that the AI rarely couldn't handle. Had to add smart resizing.

RevenueCat challenges: The tricky part was handling edge cases: what happens when someone's subscription expires mid restoration? How do we handle offline scenarios when we can't verify their subscription? RevenueCat's SDK handled most of this, but we still had to design the UX around it. Ended up caching subscription status locally and gracefully degrading when offline.

Accomplishments that we're proud of

  • It actually works. Like, really well. The restorations are legit good. And people love it in socials, I continue to get amazing messages and love and feedback for the work and app I have created. I am also proud of launching my first app. Seeing that first subscription come in makes me want to never go back and I will be a forever builder.
  • People's photos never leave their phone
  • The before/after slider is satisfying to use
  • Free tier gives enough restorations for casual users
  • RevenueCat integration that just works: Users can subscribe, cancel, restore purchases across devices, all the payment stuff that usually breaks. RevenueCat's dashboard shows us real time metrics on conversions, churn, and lifetime value
  • Smart monetization: Found the sweet spot between helping people for free (like in those Facebook groups) and building a sustainable business
  • One Signal: Has been amazing to test push notifications which are a marketing hack. Feels good to have a product similar to revenue cat in terms of ease of use easy testing. I was using expo notifications initially and you really couldn't experiment in the manner you can with one signal.

What we learned

Mobile development is all about the little things and it's important to launch fast so that you can test and iterate over and over. Theres so much I still have to do and experiment with and the constant improvement and learning that comes from it will drive growth.

People really care about their family photos. Like, a lot. And they want a perfect output. Can't blame them. But thats why we try to stand out in the market by being the best restoration app in the market. We want to create a brand that is recognized as quality.

Those Facebook groups showed there's real demand for this. People were literally posting every day asking for help.

RevenueCat taught us: Don't build payment infrastructure yourself. Seriously. The amount of edge cases, store policies, receipt validation, subscription lifecycle management, it's insane. RevenueCat turned what would've been months of payment integration into a weekend. Their experiments feature even let us A/B test pricing without updating the app.

What's next for Clever: Photo Restore & Repair

Adding a social feed tik-tok style but for images so users can post there restorations and others with app can be helped directly in the app itself. Think paid users who do this as a hobby helping users who may not be able to pay for a service like this. Thinking about adding a community feature where people can help each other with tougher restoration and photoshop jobs, some photos need human touch up after AI processing, maybe an easy way for real experts to connect and help. To do this I am initially connecting a live support chat feature in app so users can send a photo they still want modified and someone on the backend (me) can fix that photo and send it back. I think the live support feature will give users a better sense of trust as well.

Want to add batch processing so people can restore whole albums. Maybe add a way to share directly back to those Facebook groups where people ask for help.

RevenueCat powered features coming:

  • More pricing tiers, maybe a middle tier between free and unlimited
  • Remote config is clutch, we can adjust free restoration limits without app updates based on usage patterns
  • A/B testing different onboarding flows through RevenueCat Experiments
  • Pay per photo option for casual users who don't want subscriptions
  • Using RevenueCat's webhooks to trigger special offers when users hit the free limit

The Facebook groups that inspired this were all about helping each other out. With RevenueCat handling the business side, we can focus on making the best restoration app possible while still keeping it accessible to everyone. I want to start developing apps frequently, I really enjoyed making this first one, I'm happy that payments is so easy so I can just focus on building the core app.

Built With

Share this project:

Updates