Keeping Marketplace Deals Moving After the Buyer Closes the Laptop

A services marketplace runs on conversation, and conversation stops when the buyer closes the laptop. Chat, order completion and web-login approval moved onto the phone in one Flutter codebase.

Start your project

The build

Legiit Messenger is the mobile companion app for the Legiit services marketplace, built by Aipxperts in Flutter for iOS and Android.

It puts buyer and seller communication and the order workflow on the phone: real-time chat, order management with reviews, push notifications, and a multi-device account security layer including web sign-in approval and two-factor authentication.

The problem

A services marketplace runs on conversation. A buyer asks a question, a seller answers, the order progresses. Every hour between those steps is an hour the deal can cool, and marketplace transactions compete with the buyer simply changing their mind. The desktop-only constraint created three specific problems:

Sellers were tied to a machine to answer, so evening and weekend enquiries waited.

Order actions lived away from the conversation, so completing or reviewing an order meant leaving the thread it was discussed in.

Account security had not scaled to how people actually sign in

Users log in from several devices, and there was no way to see or control that from a phone.

There was also an operational piece running underneath: the app had to migrate to the platform's v4 API while maintaining a steady release cadence to both stores.

What we built

We built the app around the chat thread rather than around a navigation menu.

Real-time one-to-one chat

Pusher Channels with quick-reply templates, file and image attachments, an emoji picker, a multiline composer, copy-message, read receipts, and block or report-as-spam.

Conversation inbox

Infinite-scroll pagination with shimmer loading states.

In-chat order management

Order list plus in-thread order details, complete-order and complete-with-review flows, and seller ratings.

Notification centre

Per-category toggles separating order notifications from chat, with delete.

Full authentication suite

Registration, email and password login, phone verification with country codes, OTP, two-factor authentication and password reset.

Web sign-in approval

A web login can be approved or blocked from the phone with a "Yes, it's me" or "No, block access" prompt.

Logged-device management

Every signed-in device visible, with multi-device force-logout and account deletion.

Platform polish

System-following dark and light theming, connectivity handling and a force-update dialog.

The outcome

Delivery scale from the project itself: roughly 149 Dart files and 24,000 lines across 483 commits since September 2023, shipped through Android 1.41 and iOS 3.0.4, with the whole application migrated to the platform's v4 API mid-life without interrupting the release cadence.

Before
marketplace conversations and order actions were tied to the desktop, so replies waited and deals cooled.
After
live chat and order completion on the phone, with messages arriving over Pusher and push notification as fallback, and account security that lets a user approve or block a web sign-in and force-logout every other device from their handset.

Tools and Technologies

Flutter
Dart
BLoC
Pusher Channels
Firebase Cloud Messaging
REST API v4
Bitbucket Pipelines

Planning something similar?

If your marketplace conversations only happen at a desk, you are losing the deals that come alive in the evening.

Start the conversation