Skip to content
Wesam Kahwaji
All work

Case study 01

ShopChat — Engineering a Multi‑Feature Commerce Platform

Architecture, full-cycle mobile engineering, and cross-functional delivery for an integrated digital marketplace.

Company
ShopChat Portal
Role
Senior Flutter Engineer & Project Manager
Period
Apr 2025 — Present
Platforms
iOS · Android
Stack
  • Flutter
  • Dart
  • BLoC
  • Clean Architecture
  • Dependency injection
Marketplace · Mobile
ShopChat home screen with search, delivery location, a promotional banner and category grid
Adding a used product with the AI Listing Assistant, step 1 of 4: details
Shopping cart with two items, quantities and a checkout button

01

Context

ShopChat brings product discovery, buying, selling, payments, and order fulfilment into one commerce experience. Its customer-facing app is built in Flutter and ships to iOS and Android, with Arabic, English and Urdu throughout, alongside the official website at shopchat.ae.

  • Onboarding welcome screen with English, Arabic and Urdu language options
  • Login with email or mobile number, plus UAE PASS and Google sign-in
Onboarding and authentication: language choice, email or mobile login, UAE PASS and Google sign-in.

02

Role & ownership

As the primary engineer responsible for the customer-facing Flutter application, I lead its architecture, development, production releases and ongoing evolution. I have held this role, Senior Flutter Engineer & Project Manager at ShopChat Portal, since April 2025.

Alongside hands-on engineering, I coordinate work across back-end, front-end and UI/UX teams, turning business requirements into technical plans and API contracts. I also lead back-end delivery and supervise front-end implementation.

03

Engineering challenge

A marketplace touches every part of commerce at once, from authentication to logistics, while mobile, back-end, front-end and UI/UX work moves in parallel.

That creates two problems at once: an architecture that can absorb that breadth without slowing down, and a delivery process that keeps every workstream aligned on the same contracts and milestones.

04

Clean Architecture

I designed and evolved a feature-based Clean Architecture. Each feature is a module with clear boundaries and its own presentation, domain and data layers.

  • Presentation: UI driven by BLoC, so state changes are explicit and testable.
  • Domain: use cases and entities that express business rules and don't depend on frameworks.
  • Data: repositories that implement domain contracts and talk to APIs and third-party services.
  • Dependency injection wires the modules together at their boundaries, so features stay replaceable.

Select a layer to see what I own at each level:

Fig. 01 — Clean Architecture, as practised on ShopChat

What users touch

  • Feature screens driven by BLoC state, from onboarding to checkout
  • Responsive UI, deep links and push notifications wired into each journey
  • Performance and stability checked before every release
  • Bloc<Event, State>
  • Widgets
  • Routes · Deep links

What the business means

  • Business requirements turned into use cases, entities and delivery milestones
  • API contracts agreed with back-end before implementation starts
  • Framework-free rules that every feature module shares
  • UseCase
  • Entity
  • Repository (contract)

Where it comes from

  • Repositories implementing domain contracts over REST APIs and Firebase
  • Secure third-party integrations across payments, wallets and analytics
  • Environment configuration and production issue resolution
  • RepositoryImpl
  • RemoteDataSource
  • Models
Feature-based Clean Architecture with BLoC, dependency injection and modular boundaries.Dependencies point inward. Domain depends on nothing.
LayerAuthDiscoveryCheckoutWalletsOrdersChat
PresentationBLoC · UI
DomainUse cases · Entities
DataRepositories · Sources
Fig. 02. Each feature module carries its own presentation, domain and data layers. Illustrative; columns follow the delivered scope.

05

Marketplace scope

I delivered or coordinated these capabilities across the teams, grouped by the part of the product they serve:

01

Discovery & commerce

  • Onboarding
  • Authentication
  • Product discovery
  • Seller experiences
  • Cart
  • Checkout

02

Transactions & fulfilment

  • Payments
  • Wallets
  • Order management
  • Logistics

03

Engagement & platform

  • Chat & messaging
  • Notifications
  • Analytics
  • Deep links
  • ShopChat home screen with search, delivery location, a promotional banner and category grid
  • Suggested product reels and new local products from UAE warehouses
  • Adding a used product with the AI Listing Assistant, step 1 of 4: details
Discovery & commerce: home and categories, product reels and local products, and selling with the AI Listing Assistant.
  • Shopping cart with two items, quantities and a checkout button
  • Profile overview with wallet balance and tools for products, orders, returns and sales
  • Shared products with per-sale earnings, clicks and purchases
Transactions, fulfilment and engagement: cart and checkout, wallet and order tools, and share-to-earn tracking.

06

Cross-functional delivery

The engineering only works if the teams around it move together. I lead cross-functional execution across mobile, back-end, front-end and UI/UX:

  • Turn business requirements into technical plans, priorities, API contracts and delivery milestones.
  • Guide back-end implementation and supervise front-end delivery through solution reviews, dependency management and acceptance criteria.
  • Run technical troubleshooting and release-readiness checks before every release.

Contracts before code. Readiness before release.

I also set up the engineering practices the product runs on: maintainability standards, code review, environment configuration, production issue resolution, performance and stability work, and secure third-party integrations.

07

Web platform

The product also has a public face on the web. For shopchat.ae I built the front end, supervised its implementation and led its delivery alongside the mobile app. The site introduces the marketplace, explains the separate paths for sellers and shoppers, and points visitors to the app.

  • shopchat.ae
    shopchat.ae homepage hero with the ShopChat wordmark and calls to get the mobile app
  • shopchat.ae
    Choose Your Path section with seller and customer registration cards
  • shopchat.ae
    Why ShopChat Marketplace section with buyer features beside the app
  • shopchat.ae
    Innovative Highlights diagram connecting sellers, users, orders and payments around the app
shopchat.ae: homepage, seller and customer paths, buyer features, and the platform highlights diagram.

08

Engineering outcomes & delivery

  1. 01

    End-to-end product engineering

    Led architecture, implementation, production releases, and ongoing improvements of ShopChat's customer-facing Flutter application across iOS and Android.

  2. 02

    Maintainable architectural foundation

    Designed and evolved a feature-based Clean Architecture with BLoC, dependency injection, and modular presentation/domain/data boundaries.

  3. 03

    Integrated marketplace delivery

    Delivered and coordinated interconnected workflows across authentication, discovery, seller experiences, checkout, payments, wallets, orders, logistics, notifications, and messaging.

  4. 04

    Web platform delivery

    Built the front end of shopchat.ae, supervised its implementation, and led its delivery as part of the same product ecosystem.

  5. 05

    Cross-functional technical leadership

    Coordinated mobile, back-end, front-end, and UI/UX workstreams through technical planning, API contracts, code reviews, acceptance criteria, issue resolution, and release readiness.

09

Stack & links

Flutter and Dart, with BLoC for state management, dependency injection and a feature-based Clean Architecture, shipped to iOS and Android.

Building something ambitious?

Get in touch