← All projects
Retail & e-commerce

LojaPronta

Every sale becomes a row in the data warehouse — and the merchant sees the BI without exporting anything.

A studio-owned product, built as a white-label platform: two brands — BuyBuy and ACME — running on the same codebase and the same backend.

Technical demo · white-label platform with 2 brands

BigQuery
every sale becomes a row in the warehouse
< 1h
from signed contract to branded app, per the runbook
2
brands on one codebase
>70%
test coverage

The problem

Anyone starting a digital retail operation picks between two extremes: an off-the-shelf platform where the brand is reduced to a theme and the data stays locked inside, or a bespoke store that costs months before the first sale. Either way the sales report comes from a manual spreadsheet export — when it comes at all. The merchant knows the revenue; not which category carries the margin, which payment method dominates, or what the discounting actually costs.

The solution

One codebase, one backend, many brands: each merchant gets an app with its own identity — icon, splash, palette and name — and its own data space under the store’s path. An order placed in the storefront fires Cloud Functions that load the sale and each line item into BigQuery; ready-made views slice that data per store and feed a Looker Studio report the merchant opens inside the console, alongside catalog, orders and their own brand settings.

The platform on screen

Click any screen to enlarge.

Storefront home: banner, categories and the new-in and top-selling rails
Storefront home: banner, categories and the new-in and top-selling rails
Top-selling and new-in rails, with discount badge and favourite on each card
Top-selling and new-in rails, with discount badge and favourite on each card
Product page with gallery, sizes and colors
Product page with gallery, sizes and colors
Cart with shipping, discount and payment method
Cart with shipping, discount and payment method
My purchases: the shopper’s order history
My purchases: the shopper’s order history
Merchant console: order table and the order status transition menu
Merchant console: order table and the order status transition menu
Merchant console: product editing with price, sizes, colours and images
Merchant console: product editing with price, sizes, colours and images
Brand settings: colors, identity and the BI dashboard address
Brand settings: colors, identity and the BI dashboard address

Commercial highlights

Checkout to BI, with no manual hop

The order written to Firestore fires two Cloud Functions that load the sale and every line item into BigQuery, in the Brazilian region. Four views shape that data for Looker Studio — no export, no spreadsheet, no human step between the sale and the chart.

White-label you can see, not just claim

Two brands run on the same codebase today: same storefront, same backend, different identities. Switching brand is a single command — and the onboarding runbook goes from signed contract to an installable branded app in under an hour.

The merchant runs it themselves

A dedicated console for catalog, orders and brand settings — including colors and the BI dashboard address. Each owner sees only their own store, because the scope comes from their access credential rather than a filter on the screen.

Architecture that survives the next brand

Clean Architecture with separated layers, Bloc for state and dependency injection, test coverage above 70% across unit, widget and integration tests, and a build-and-distribution pipeline on Codemagic with Firebase Test Lab.

Technology

FlutterFirebase Auth / FirestoreCloud Functions (TypeScript)BigQueryLooker StudioCodemagic + Firebase Test Lab

Want something like this for your niche?

This product was born from a real problem. Yours can be too.