DEV Community

Rachid
Rachid

Posted on

title: "How We Built a Scalable Multi-Service Marketplace: Architecture & Lessons Learned"

Connecting service providers with homeowners in real time comes with tough technical challenges: asynchronous job requests, local geofencing, real-time status updates, and scaling database indexing for dozens of categoris.

When we built Bricole, our goal was to create a fast, seamless service marketplace where users can connect directly with verified local professionals—from plumbing and electrical work to home healthcare.

In this article, Ill break down the architectural choices, tech stack, and key technical lessons we learned along the way.


Real-Time Matching

Instant connection between users and local service providers.

Scalable Backend

Cloud infrastructure structured for high concurrency and regional queries.

🛠️ The Tech Stack Overview

To balance mobile performance,rapid iterations, and developer velocity, we settled on a modern stack:

Mobile Frontend

Native Android built with Jetpack Compose and Material Design 3, giving us declarative UI rendering and smooth 60fps layout animations .

Backend & Infra

Powered by Firebase (Firestore, Cloud Functions, Auth) for real-time data sync and rapid API scalability across service hubs.


Key Architectural Challenges

1. High-Performance Mobile UI State

Managing asynchronous UI updates across job creation, provider tracking, and active status feeds required strict state boundaries. By leveraging Jetpack Compose state hoist strategies, we minimized unnecessary re-renders when polling position or processing updates.

2. Category & Location Indexing
A marketplace with categories ranging from plumbing to home care needs to serve fast search results without triggering heavy database reads. We restructured our database schemas to decouple static provider data from dynamic availability indexes.


Explore the platform on Bricole App


Lessons Learned

  1. Keep Web & App Roles Clear: Use your web footprint as a high-converting gateway for discovery and SEO, while keeping deep provider interactions inside a responsive mobile application.
  2. Optimize for Core Web Vitals Early: Web landing pages and gateway routes must load rapidly to maximize app install conversion rates.
  3. Decouple Dynamic Data: Static metadata (service descriptions, standard pricing) should be aggressively cached, keeping real-time listeners strictly for active requests.


Looking for verified home services or interested in our engineering approach? Check out Bricole!
Visit Bricole

Top comments (0)