Algoace

Work / MasterPics

MasterPics

Industry
Photo contest app, US, Marketplace
Service lines
Mobile app engineering, App growth marketing, Video production
Stack
React Native, TypeScript, Firebase, RevenueCat, AppsFlyer, Mixpanel, AdMob
Engagement
Since July 2025
master-pics-banner

The Situation

MasterPics is a photography contest app for iOS and Android. Members join contests with keys, upload photos, vote on other entries, climb a ten-step rank ladder and win prizes. We built it from scratch, launched it on both stores, and now run its marketing, so what we learn from campaigns feeds straight back into the product.

The Constraint

Every screen is full of large photos, and many members are on slow or patchy mobile connections. Feeds had to load fast and scroll smoothly without phones running out of memory. Contest results decide prizes and ranks, so they had to be exactly right every time. And because growth was paid from the start, the app needed built-in reasons to invite friends and keep coming back.

What we did

We built every part of the app, from contests and swipe voting to ranks, chat, hosted contests, the key shop and the Pro subscription.

Uploads: photos are resized on the phone to 1,600 pixels before upload, with a progress bar, instead of sending the full-size original. This makes uploads much faster on weak connections and keeps storage costs down. Files that are too large get a clear message instead of a crash.

Loading and caching: each photo is downloaded once and kept in a disk cache, so scrolling back through a feed never reloads it or flashes white. On iPhone, the app checks a photo’s size before showing it and shrinks only files over 5 MB, no more than two at a time.

Offline: when the connection drops, a banner appears and screens the member has already loaded stay usable. Profiles and saved posts are cached for five minutes, so reopening them doesn’t refetch everything.

Fair results: prizes and ranks are worked out by a scheduled job on the server. Each contest is locked before scoring, so two runs can never award the same prize twice.

Growth: we built guests’ ability to browse before signing up, invite links credited on the server, shareable result cards, and rewarded ads capped at three a day. We also run the paid campaigns and the ad creative.

masterpics-what-we-did-banner-1
masterpics-what-we-did-banner-2
masterpics-what-we-did-banner-3

The trade-off

When the app can’t find out a photo’s size quickly (within four seconds), it loads the photo at full size rather than waiting or showing an empty card. On older iPhones, that occasionally uses more memory than we’d like. We accepted that because a blank contest card is worse for members than a slightly heavier image, and shrinking only the photos we know are large still prevents the crashes.

Outcome

MetricValueSourceDate
Downloads1,000+Google PlayOct 2026
Built from scratch to live on both storesBoth iOS and AndroidDelivery records2025
EngagementSince July 2025Repository historyOct 2026
Commits since launch806Repository historyJul 2025 to Oct 2026
Languages2 (English, French)App sourceOct 2026
Live versionsiOS 5.0.5 · Android 1.0.83Release recordsOct 2026

What we would do differently

We would set photo size limits and resizing on the first day. Early uploads went up at full size, and we later had to add size checks on the viewing side to keep older iPhones stable. Resizing at upload from the start would have kept every photo light from the beginning.

Ready when the work has to be right the first time.

A 30-minute scoping call with a senior engineer, designer or growth lead. You will leave with a written view of scope, risks and a realistic timeline, whether or not you hire us.

12 years40+ shipped products6 industries
Karachi and Sharjah