Inspiration
Removing or swapping a photo's background used to mean either a subscription to full-blown editing software or ad-heavy free tool that mangled hair and fine detail that did not always work. As a solo developer building a small portfolio of focused, single-purpose apps, I wanted something that did exactly one thing — remove and replace a background using AI since that is the age we are in— and did it well, instantly, on a phone, with no learning curve at all and actually worked!
What it does
ErazerBG removes the background from any photo in seconds using AI, then lets you replace it with one of 21 curated backgrounds — or have AI suggest the one that works best. The user is always in control of the final selection. Non-subscribers get a real, free path too: watch a few short ads and walk away with one genuine high quality free result and one free background replace, no account required. Premium subscribers get ongoing credits, regenerations, local history with an option to delete images, optional cloud backup of their history, and an ad-free experience.
How we built it
The app is built in React Native/Expo, with Supabase handling authentication, storage, and backend logic through serverless Edge Functions. Real background removal runs through a dedicated third-party API behind a secure, server-side proxy — the client app never touches the actual API key. Subscriptions and entitlements are managed through RevenueCat layered on top of Google Play Billing, ads run through AdMob, Sentry gives real-time visibility into production issues and Sightengine does the content moderation. Anthropic's API also powers a genuinely useful feature: analyzing an uploaded photo to suggest which of the 21 backgrounds will look best, rather than making the user guess.
Challenges we ran into
Real, live testing surfaced problems no amount of code review alone would have caught. A core Expo SDK update silently broke every single background-removal call through an incompatible file-upload format — invisible until tested on an actual device. A billing library quirk meant every subscription upgrade was stacking as a brand-new, separately-billed subscription instead of replacing the old one, something only caught by watching a real account get billed three times over. And with our original API provider announcing its shutdown, we had to migrate the entire core feature to a new provider mid-build — verifying, side by side, that quality held up before ever flipping the switch in production.
Accomplishments that we're proud of
First app Google Play Store and Stage One Apps. Completing the app end to end in two months with twelve hours given per shift. Building a real, working app (with features like history and cloud save that is not always an option) for the satisfaction of users and subscribers. Building a safety net around every one of these failures: rate-limiting and permanent bans protecting against abuse, a server-side ledger closing a real exploit where reinstalling the app could reset someone's credit balance for free, and genuine, forced-failure testing proving every "Try Again" path needed for API resubmissions actually works without billing the user and before ever releasing ErazerBG. Getting approved by Google Play on the first submission, and getting approved for AdMob monetization immediately after, felt like real validation that the underlying app — not just the idea is solid.
What we learned
That real devices and real, forced failures reveal things a clean codebase and a passing type-check never will — and that a genuinely good user experience is built by imagining, deliberately, every way a real person's situation could go sideways: a canceled subscription, a slow network, a photo with wispy hair, a free trial user who already earned their reward. The technical fix is often the easy part; deciding what's fair to the user in each of those situations is the harder, more important work.
What's next for ErazerBG: AI Background Remover & Replacer
Regional data-processing controls for stronger privacy compliance as the user base grows internationally and continued expansion of the Stage One Apps portfolio — with ErazerBG's own architecture and lessons already directly shaping the next app in the lineup.
Built With
- admob
- expo.io
- react-native
- revenuecat
- sentry
- sightengine
- supabase
Log in or sign up for Devpost to join the conversation.