Mobile App Development Case for Xlocat

Streaming service · Livestream platform Estonia

Our client is a startup founder from Estonia with an idea to develop a platform that connects users with local operators to explore any location live and vice versa allows individuals to become operators to stream their surroundings.

Client Requirement

This project required the development of a mobile application that enables:

  • Explorers to select any place in the world, connect with available operators in the chosen area, and experience live streams as if they are physically present.
  • Operators to accept requests, transform their smartphones into live portals streaming unique perspectives, and receive payments seamlessly for every live experience delivered.
Technology Stack

PHP 8.2, Laravel 11, MySQL 8+, Dart, Flutter, Freezed, Flutter bloc, Rest Api(dio), Image picker(for working with media storage), Google maps flutter, Widget to marker(for working with custom markers in google maps), Permission handler, Ably flutter, Firebase Messaging, Flutter local notifications, Google Places API, Get storage(DB), Shared preferences(DB), Appsflyer, Stripe SDK, In-app web views, Geolocator(geolocation, work with gps), Video player(for translate video in app), Device info plus(get data about gadget), Custom chats(websocket), Stream IO chats API(chats inside stream), Flutter dotenv(Secure part), Lazy load(pagination), Flutter Multi Formatter + Custom Formatter, Photo view(for working with images), Stream video Flutter SDK(for working with stream and storage)

Outcomes

Location Selection

Users can choose any location worldwide to explore through live streaming and check the available operators with the detailed profiles on the map.

Operator Connection

The app displays operators available in the selected area ready to provide real-time video. Operator profiles information includes their rating, device they use, price they charge and even uploaded streaming videos.

Live Interaction

Users can immerse themselves in the live stream, interacting with the operator to experience the location as if they’re physically there. This interaction can be done via the angle correction buttons we implemented for the better experience. Also, if user prefers they can leave comments to the operator on the stream.

Monetization for Operators

Individuals can become live stream operators, accept requests, and receive payments for their services via a secure system integrated with Stripe.

User Roles

The app supports role-switching, allowing users to function as explorers or operators, adding flexibility to the user experience.

Responsive Design

Users can switch between being a Customer and an Operator at any time, and the app’s interface will adapt to their current role.



Challenges

Challenges

Live streaming

One of the key challenges in developing this app was implementing a seamless live streaming experience. To achieve this, we:

  • Designed and developed a custom UI for an intuitive and engaging streaming experience.
  • Integrated Getstream.io SDK to power the live streaming functionality.
  • Implemented an angle control feature, allowing users to shift the stream’s viewing angle by tapping directional arrows.
  • Enabled real-time engagement by allowing viewers to comment and react during the stream.
  • Developed a recording and download feature, allowing users to save the live stream to their device once the event concludes.

This solution ensured a high-quality, interactive live streaming experience that met the needs of both event organizers and viewers.



Map integration

Designing an intuitive map interface that allows users to easily switch your location, locate operators, initiate streams by hiring (for customers) or applying to orders (for operators) and interact without confusion. We also provided detailed filters for the users to filter operators/customers via location, radius of the users and price for the operator stream. We used high-accuracy location APIs (Google Maps), and implemented location smoothing algorithms to reduce errors.We also ensured consistent behavior and rendering of maps across iOS and Android devices, using cross-platform library (Google Maps SDK), and thorough testing on multiple devices.



Push notifications

The app has various types of notification for both customer and operator. We ensured that push notifications reach users instantly, especially for time-sensitive actions (e.g., when an operator accepts a request or starts a stream). We also faced the challenge of sending notifications only to relevant users (e.g., an explorer receiving a notification when an operator in their selected area becomes available).



Stripe Integration for Payment Features

Implementing the payment system was challenging,  especially with the requirement to avoid reliance on third-party services like Apple Pay or Google Pay.  We designed a secure system where users grant access to their payment method only once. After that, all payments happen automatically and safely.



Real-Time Chat Integration

Integrating a real-time chat feature into the applications proved to be a complex task. We encountered and resolved issues with time zone discrepancies and timestamp displays, as well as challenges with custom bubble rendering in the chat interface. These fixes ensured a seamless and user-friendly chat experience.



contact us

Request a free consultation with our experts & estimate your project

Lets talk