2022
  • UI/UX
  • Product
  • Branding
  • Iconography

Messaging app
with virtual phone numbers

Scope

We were tasked with developing a messaging app for both iOS and Android platforms. The app's primary function was to allow users to purchase virtual phone numbers from various countries for sending and receiving messages. The main use cases were:

  • Registering for services unavailable in the user's country
  • Providing a "virtual" number for online boards to maintain privacy

The app needed to support multiple virtual numbers per user and offer subscription-based pricing models.

Process

My process for developing mobile apps at Sentio follows a consistent pattern. For this app, the steps were:

  • Research competitors and analyze their features, pricing model, revenue and other metrics
  • Create UX wireframes to outline the app's structure and flow
  • Design high-fidelity mockups and prepare visual assets
  • Present designs to the development team and discuss implementation
  • Wait for the initial implementation to be completed to install and test the app on my phone
  • Document and report any inconsistencies or bugs to the development team
  • Iterate on designs based on technical constraints or new insights
  • Retest the app after developers address reported issues
  • Design app icons and App Store and Google Play screenshots for both iOS and Android platforms
  • Conduct a final review of the app before launch
  • Assist in preparing app store descriptions and metadata

This approach ensures a thorough development process from initial concept to final product launch, with multiple opportunities for refinement and quality assurance.

Wireframes. The messaging interface was straightforward, but I focused on designing an intuitive system for managing and swapping between multiple virtual numbers.

Search flow in the Messages app

The design prioritized simplicity and ease of use, with a focus on messaging functionality.

Search flow in the Messages app
Message screen inside the app
Quick actions for a message in the thread

Complex number management features were easily accessible but not prominent. Key features included setting default numbers for contacts and easy number swapping within chats.

Settings screen inside the app
Swap number flow inside the app
Setting default phone number in contact details
Swapping phone number from within the chat

I had a lot of fun making custom icons and visual assets for the interface

First onboarding screen of the app with some visual assets
Contacts screen with custom icons
Swipe action on the message thread
Second onboarding screen of the app with some visual assets
Some icons used in Messages app

Android design. I implemented Material 3 design principles for the Android version, redrawing some assets to better fit the Android design language.

The onboarding screen in Android app
Contact details screen in Android app
Inside the message thread in Android app
Home screen of Android app
Settings screen of Android app
State of attaching videos to the message in Android app
Subscription screen of Android app

Challenge

The main challenge stemmed from the business logic involving third-party virtual number services:

  • Numbers were rented for a minimum of one month
  • App offered free trials and weekly subscriptions
  • Cancelled numbers remained unused until released

Solution: We implemented a "pool" of pre-paid, unused numbers. During onboarding, new users were offered a number from this pool by default, with the option to choose a different number if desired. Analytics showed that most users accepted the default number, optimizing our number management process.

This approach streamlined the user experience while addressing the complexities of our business model and third-party integrations.

Subscription screen with the phone number from the pool
Menu offering two different types of a custom phone number
Screen with phone number country selection

Results

The app has turned out to be a real winner for our company. It's been steadily making money since launch, which is great because it lets us play around with building other apps without worrying too much about the bottom line.

People seem to love how easy it is to use and how it solves a real problem they have. We've built up a solid group of users who keep coming back, and that number is growing.