Photo sharing social network: Speeding up development by 38% with React and React Native

Project overview
On social media, algorithms decide what goes viral and what doesn’t. So, cutting through the noise and gaining exposure isn’t as straightforward as simply having cool content and enough likes and comments.
This means that professional and amateur photographers' vision and creativity aren’t always properly rewarded by algorithms. Our client, a U.S. startup, decided to change that.
That’s how the idea for PikMe was born. This disruptive social media app for sharing photos would allow users to gain recognition only thanks to the votes of their peers. PikMe would also include a marketplace to meet photographers' needs so that users could capitalize on their craft.
To validate the idea, however, our client needed an expert in cross-platform mobile development to build a responsive, fast, and scalable app based on existing wireframes and prototypes.
Services


Challenges
We were brought on board to develop a mobile app for PikMe. As our client already had UI/UX wireframes and prototypes for the solution, we had to turn them into a fully functional mobile app. In line with our client’s priorities, we focused on optimizing the codebase for responsiveness, performance, and scalability.
As our client was a startup, PikMe had to be developed fast and on a tight budget, making a cross-platform tech stack the obvious choice. So, we had to ensure the Android and iOS mobile apps would offer native-like user experiences while complying with app stores’ policies.
Our exhaustive discovery phase revealed the following business needs and technical requirements that guided PikMe’s development:
Strategic business needs
01 Launch a social media app for photographers for both Android and iOS devices with a built-in marketplace
02 Minimize development costs and speed up development time with a cross-platform stack
03 Achieve a user retention rate of at least 40% within the first three months
04 Reach a user satisfaction rate of at least 80% based on early testing and feedback
Technical requirements
01 Develop a cross-platform mobile app for sharing and selling photos
02 Ensure compliance with Google Play Store and Apple’s App Store developer guidelines
03 Implement a voting system, marketplace for buying and selling photos, leaderboard, contests, and wallet
04 Limit the app start time to 500 ms under various loads and request rates
05 Implement multi-factor authentication
06 Ensure smooth functioning and responsiveness across screen sizes
07 Achieve an application performance index (Apdex) score of at least 85
08 Reach a scalability index of at least 85 to ensure consistently high performance
09 Secure a system usability scale (SUS) score of at least 80
10 Keep the application error rate below 10% at various workloads
11 Ensure application availability of at least 95%
We’ll select the most suitable cross-platform tech stack while ensuring optimal performance, scalability, and responsiveness.


.webp)
Solutions
To meet our client’s requirements on responsiveness, performance, and scalability, we opted for React and React Native. Thanks to their component-based approach to frontend development, the two technologies were the best choice for building a fast interface where visuals had to be the center of user attention.
The mobile app, optimized for both Android and iOS app stores, included:
- Sign-up and sign-in with multi-factor authentication support and password recovery
- Photo uploading and sharing
- User profiles with a photo roll
- Voting system
- Marketplace for selling photos
- Leaderboard
- Photo contests
- Push notifications
- Feed based on the user’s votes
- Payments and wallet
Thanks to multiple rounds of testing and improvement, we delivered a fast and responsive cross-platform mobile app for PikMe. Advanced error handling kept the error rates below 5%. Comprehensive stress testing, in turn, limited the app’s start time to 500 ms and response time to 400 ms even during spikes in request rates.



Registration and user profiles
PikMe welcomes users with a simple login and sign-up screen. We implemented validation rules for the registration form to prevent errors. To secure access to user accounts, we implemented multi-factor authentication that uses email verification codes.
Once logged in, users can upload their profile pictures, share photos, vote in contests, follow other photographers, and accept follow requests. The profile displays the number of followers, contests, and votes received and given, as well as all uploaded photos in a photo roll.
Our modular architecture and performance optimisations ensured that the app could handle large volumes of photo uploads without dips in speed.

Feed and voting
The voting system is PikMe’s core differentiator: users can browse others’ photos and upvote them, both during contests and outside of them. Their feed, in turn, is based on their follows and upvotes.
We paid extra attention to the app’s performance to drive engagement with the visual content, making the browsing experience and interactions smooth. Fast response time, below 400 ms even during spikes in requests, helped the app secure an 86% satisfaction rate among early users.

Marketplace and wallet
Photographers who want to earn money from their craft can seamlessly add their photos to the marketplace when uploading them to PikMe. Buyers, in turn, can browse the marketplace using keywords and filter results using various criteria. For example, they can choose to view only contest-winning photos and select a price range.
We minimized latency during testing to turn the marketplace search and browsing into convenient, frictionless experiences.
PikMe also has a dedicated wallet screen where users can add payment methods, review transaction history, and withdraw earnings. We thoroughly tested the third-party integrations with a payment gateway to ensure that adding funds was fast and smooth.
.png)
Photo contests
On PikMe, any user can create and publish contests with native-like duration, entry, and prize selection menus. Besides the contest’s details, every page includes a ranking and a gallery of submitted photos. At the same time, to ensure a level playing field across the platform, PikMe enforces official contest rules.
With multiple rounds of testing, we ensured the app’s contest module could handle large numbers of submissions and users. We also minimized the latency and loading time for the submitted photos to make user experiences truly frictionless.

Leaderboard
PikMe includes a leaderboard that lists the photographers with the highest vote counts to foster engagement and reward top-performing contributors. The leaderboard also has a separate ranking for trending photographers who have gained a lot of votes in a short time.
We minimized latency to enable truly real-time ranking updates. This real-time data refreshment, however, doesn’t jeopardize performance in any way, and error rates remain below 5%.

Notifications
Last but not least, we implemented push notifications to help users stay on top of the latest contests, purchases, and votes. Push notifications come with granular settings, allowing users to choose what notifications they want to receive.
Thanks to our optimizations, push notifications are sent with minimum latency and integrate seamlessly with the device’s native OS features.
.webp)
Tech stack
.webp)
Impact
Thanks to our focus on the mobile app’s performance, scalability, and native-like user experience, PikMe showed strong outcomes across the board, including:
We’ll design and develop a modular, flexible solution that shows top-notch performance as the number of users and requests grows.


Related case study
Connect with us
.webp)
We are a tech partner that delivers ingenious digital solutions, engineering and vertical services for industry leaders powered by vetted talents.