Project overview
Blaia helps neighbourhood shops sell online while preserving local, in-person collection. Customers discover nearby stores, reserve and pay for products, and collect orders using a confirmation flow.
Sellers manage products, inventory, promotions, orders, and payouts from a dedicated operational dashboard.
The challenge
The marketplace needed to support local discovery and several product types without creating a complex experience for small retailers.
Payments, seller payouts, refunds, inventory, and pickup status had to remain coordinated across customer and seller surfaces.
The solution
Built a customer storefront, seller/admin application, and backend services around a shared marketplace domain model.
Used Stripe Connect for marketplace payments and designed validation around standard, variable, and weight-based products.
My contribution
- Delivered the customer storefront, seller/admin dashboard, and backend services.
- Implemented catalog, inventory, ordering, notifications, payments, payouts, refunds, and dispute workflows.
- Added location-based discovery, discounts, bulk catalog import, localization, and search-friendly pages.
- Created end-to-end release checks for critical shopping and checkout paths.
Key features
- Nearby store discovery
- Flexible product catalog
- Secure checkout and pickup
- Seller order management
- Marketplace payouts
- Bulk product import
Technical challenges
Representing products sold as standard items, by weight, or with selectable options.
Created explicit product variants and validation rules so incomplete or inconsistent listings could not be published.
Coordinating customer payments with seller payouts and post-order changes.
Integrated Stripe Connect around controlled order-state transitions, refunds, and payout tracking.
Architecture
- Turborepo workspace
- Next.js customer and operational applications
- NestJS API
- PostgreSQL and Prisma
- Stripe Connect and Resend integrations
Outcome
Delivered a live multi-surface marketplace covering the complete browse-to-pickup workflow.
Product screens



