Skip to content

Case study

MOBROG

MOBROG connects members with paid research surveys. Its mobile app had fallen behind the web product and tied the team to a white-label framework they could barely change. Starting a survey could…

MOBROG mobile product composition

Rebuilding a global survey app without rebuilding the survey platform

MOBROG connects members with paid research surveys. Its mobile app had fallen behind the web product and tied the team to a white-label framework they could barely change. Starting a survey could send someone into the phone's browser with no reliable way back to the app.

The underlying survey and panel systems were already established and serving users across many markets. Replacing them would have introduced years of work that had little to do with the immediate mobile problem.

We built a Flutter application around MOBROG's existing platform. The app handles onboarding, navigation, notifications, loading, consent, language behavior, and account-aware configuration. Survey and profile content remains connected to the established web system, now inside a mobile product MOBROG owns and can extend.

Fixing the moment users left the app

The old survey flow undermined the reason to have an app. A member could tap the main action, move into an external browser, complete or leave the survey there, and never return to the mobile experience.

MOBROG's rebuilt app keeps the survey flow inside a controlled WebView. External research pages can open within that context, and the final return to MOBROG lands back in the application. Native navigation remains available around the experience.

We added the interception and state handling needed to distinguish login, survey, profile, reward, and return pages. The mobile shell decides whether a transition belongs in the current flow or should open as an external destination.

Surveys now feel like part of the app, not a website launched from it. Members keep the familiar content and account behavior, with continuity from the first tap to the final screen.

A native shell with a clear job

Hybrid applications can fail when the native and web layers duplicate each other or expose their seams. MOBROG needed the two sides to have distinct responsibilities.

The Flutter layer handles onboarding, bottom navigation, menus, loading states, push notifications, consent, analytics, and advertising. The established web platform still manages survey matching, member profiles, balances, rewards, and other account content.

Web pages shown inside the app omit the website header and footer, so they fit the native frame instead of looking like a second interface.

This split modernized the mobile experience without copying every survey-platform feature into another service. Device and app-store behavior lives in Flutter. Existing content stays in the system the business already operates.

Onboarding that explains the value before login

MOBROG needed to explain how members complete a profile, find suitable surveys, and receive rewards. The old app offered little control over that first impression.

We designed a native onboarding sequence with focused slides and clear imagery. It introduces the product in the device language before the user enters the web-based account flow.

Onboarding content comes from configuration outside the app release. MOBROG can change text and imagery by market without requiring a new installation.

Before registration, the onboarding explains why profile information matters and what members can expect. After authentication, the app switches from the device language to the language assigned to the member's account and survey market.

The survey button is the center of the MOBROG experience. Members do not need to browse a complicated catalogue; the platform already knows how to match them with an appropriate opportunity.

Priority Soft made "start survey" the prominent central action in the bottom navigation. Home, profile, rewards, and other frequent destinations remain nearby, while a side menu provides access to the longer list of account pages.

Menu items and destinations come from configuration. The client can add, remove, reorder, or translate navigation without rebuilding the Flutter interface for each change.

At logout, the native shell clears account-specific menus, session state, and cached web content together. Nothing from one account remains visible to the next person using the device.

Working with an existing identity system

MOBROG's panel platform already owned registration, login, and member accounts, but it did not provide a conventional mobile authentication API.

We created a secure bridge around the existing web session. Members authenticate through the familiar account pages. The app detects a successful login and uses that session to retrieve the configuration and content required after authentication.

The bridge lets the web and native layers share one MOBROG identity. The app refreshes session context as pages change and removes it at logout.

The app keeps session handling behind the interface. From the member's point of view, sign-in works once and every part of the product understands who they are and which market they belong to.

Language support that follows the member

A global survey panel has a different localization problem from a general consumer app. Language can relate to the member's country, profile, and the surveys they are eligible to receive.

MOBROG uses the device language for the logged-out and onboarding experience. After sign-in, it follows the language associated with the member account. The web destinations and native navigation then use the same locale.

Priority Soft built configuration and menu content so translations can be maintained outside the binary application. New or revised language content can reach users without creating a separate app for every country.

We also handled locale-aware links and fallback behavior. If a translation is unavailable, the product falls back to a supported version instead of leaving labels blank or opening the wrong regional page.

Push notifications independent of the legacy app

Survey opportunities are time-sensitive, so notifications need to open an available survey directly. The previous notification infrastructure belonged to the white-label system MOBROG was leaving.

Priority Soft built a standalone Django notification service around Firebase Cloud Messaging. The Flutter app registers the device after account access is established, and notifications can carry the destination required for a particular survey or product message.

Tapping a notification opens the relevant in-app route, even when the application was closed. Delivery and interaction states let the client track whether the channel is working.

Asynchronous processing allows notification work to happen outside the immediate web request. The mobile product can therefore support a large global audience without making the survey platform responsible for app delivery mechanics.

Enough native value to deserve a place in the stores

Apple and Google expect mobile applications to provide more than a website behind an icon. That requirement aligned with the experience MOBROG needed to fix.

The application layer owns onboarding, navigation, notifications, deep links, branded loading, consent, review prompts, analytics, and advertising support. The WebView is only one part of the mobile product.

We also tested the awkward transitions that determine whether the hybrid approach feels credible: the keyboard must not move the central navigation, login state has to change the menu, loading should match the brand, and a notification must reach the correct destination from every app state.

The product passed review and launched on iOS and Android. MOBROG now controls its mobile codebase and store presence instead of depending on a white-label app it cannot evolve.

A platform designed to keep changing

The mobile application uses Flutter and Dart with BLoC-based state management. A hybrid WebView layer presents the existing survey platform inside native navigation. Dynamic configuration provides onboarding, menus, localized destinations, and app-level settings.

A Python and Django service manages push registration and delivery. PostgreSQL stores service data, and asynchronous workers handle scheduled processing. Firebase supports mobile notifications and analytics. Native SDK integrations provide consent, advertising, reviews, and app engagement functions.

Priority Soft separated environments for development, testing, and production so integration work could be verified without affecting the released audience. The client also received the service and deployment documentation needed to operate its independent notification backend.

Web-based areas can stay on the established platform until MOBROG decides to rebuild them in Flutter. Each area can move independently without replacing the shell.

What Priority Soft brought to MOBROG

Direct mobile APIs for the panel platform were not available. Waiting for the white-label provider would have kept MOBROG dependent on the system it wanted to leave.

We preserved the existing web operations while giving MOBROG ownership of its app. Our team designed the hybrid boundary, session bridge, language and menu configuration, independent notification service, and native experience around the survey content.

The central product decision was deciding which parts belonged in Flutter, which could remain web-based, and where users or app-store reviewers might notice the boundary.

The outcome

MOBROG launched a new iOS and Android application that keeps survey participation inside the app. Members get onboarding, account-aware navigation, localized content, rewards access, and notification links to relevant opportunities.

Priority Soft gave the client control over its mobile future without asking it to rebuild the global survey platform underneath. MOBROG can now extend the native product, adjust content across markets, and operate its own notification channel while members experience one continuous app.

Plan the next version

Need help with a new product or its next release?

Bring us the idea, the workflow, or the product that needs work.