CASE STUDY / FLUTTER ×3; LARAVEL API

Three Flutter apps, one real-time calling and payments platform.

Paid social platform built on one-to-one audio and video calls, wallet credits and agent earnings, with two Flutter apps, an agent app and a Laravel API.

BUILD FOCUSPaid social communication
ENGINEERINGFlutter × 3
DELIVERYFlutter + Laravel
01 · PROJECT CONTEXT

The product challenge

Three app surfaces have to agree on a single call lifecycle. Discovery and agent availability lead into incoming-call UI, connection, active-session billing and a final settlement; interruptions and push delivery must not leave either side in a stale state.

MY CONTRIBUTION

Built the two customer Flutter apps and the dedicated agent app, alongside Laravel API and integration work for calls, wallet billing, payments and notifications.

02 · IMPLEMENTATION

Implementation & engineering decisions

  1. 01Separated customer and agent experiences while keeping call states and account data aligned through Laravel APIs and real-time events.
  2. 02Integrated LiveKit for one-to-one audio/video sessions and WebSocket events for ringing, connection, active-call and end-call transitions.
  3. 03Connected per-second wallet debits and agent earnings to the call lifecycle; integrated Cashfree, Razorpay and in-app purchase paths.
  4. 04Handled incoming-call and background delivery paths with Firebase messaging, APNs VoIP and native CallKit / Android Telecom integration.
ENGINEERING NOTES

Where the implementation needed care

Architecture

Three Flutter clients use Laravel APIs for application data and wallet/payment workflows. LiveKit carries audio/video; WebSockets communicate changing call state, while push and native call surfaces handle incoming calls when the app is backgrounded.

Key challenge

Keep billing, call status and agent/customer views consistent across asynchronous call events, app backgrounding and network transitions.

Delivered

Three Flutter app surfaces, Laravel API integrations, real-time call flows, wallet billing integration and platform-specific incoming-call handling.

03 · PRODUCT CAPABILITIES

Key features & flows

The implementation connects two customer app variants plus one agent app with one-to-one livekit audio and video calls, supported by per-second wallet billing and agent earning records and the integrations listed here.

  • Two customer app variants plus one agent app
  • One-to-one LiveKit audio and video calls
  • Per-second wallet billing and agent earning records
  • Agent availability and incoming-call flows
  • Cashfree, Razorpay and in-app purchase integrations
  • Push notifications and real-time call-state updates
3 APPSAPILIVEKIT

ARCHITECTURE & INTEGRATION

Three Flutter apps share a Laravel-backed call and wallet lifecycle.

The two customer app variants and the dedicated agent app use Laravel REST APIs for product data and wallet workflows. LiveKit carries the audio/video session; WebSockets communicate changing call states, while Firebase messaging and native incoming-call integrations support notifications and call entry points.

Flutter × 3Laravel REST APIsLiveKitWebSocketsFirebase / FCM

HAVE A SIMILAR CHALLENGE?

Building something in paid social communication?

I can help shape the user journey, integration plan and delivery scope for a paid social communication product—from implementation through release.

← Back to all projects