{ M.Ghaly }
← All Projects
Mobile App

Meshwarak App

Stop searching and start your journey with Meshwarak, the app that brings you the best ride offers from different ride-hailing companies in one place!

Year

2024

Company

Freelance

Status

Live

App Store

Download →

Play Store

Download →

FlutterBloc/CubitClean Architecture

Overview

Meshwarak is a Flutter mobile app that helps users plan and coordinate group trips and outings with friends and family — from deciding on a destination to syncing the final itinerary with everyone in the group.

The Challenge

Group trip planning is inherently collaborative and messy: multiple people need to agree on plans, itineraries change frequently, and everyone needs to see updates in real time without refreshing. The challenge was building a state model that stays consistent across a shared trip without requiring a complex real-time sync backend.

My Role

Flutter Developer — responsible for the full mobile UI, state management architecture, real-time update integration, and navigation system.

Architecture & Technical Decisions

State Management → Cubit + Freezed

I chose Cubit over full BLoC because the event-driven complexity of BLoC wasn't warranted here — Cubit's simpler method-call model is easier to reason about for CRUD-heavy screens like itinerary editing. Each screen maps to a dedicated Cubit with Freezed sealed states (initial, loading, success, error), making every possible UI state explicit and exhaustively handled.

Navigation → GoRouter

Used GoRouter for declarative, deep-link-ready navigation. This was important for trip invite flows — users receive a link and land directly on the relevant trip screen with full navigation history intact, handled entirely through GoRouter's route configuration.

Real-Time Updates

Shared itinerary changes pushed from the server are reflected in the UI immediately through stream-based state updates, keeping all participants in sync without requiring manual refreshes.

Key Features

  • Group trip creation and member invitation via shareable deep links
  • Shared itinerary with real-time updates for all participants
  • Clean, accessible mobile UI built with Flutter
  • Deep-link navigation for direct trip access from invites

Results

  • Live on App Store & Google Play
  • Used by groups to coordinate trips end-to-end from planning to departure