WabiSaviArt - Multi-Vendor Marketplace
WabiSaviArt is a marketplace that prioritizes genuine creators and transparent commerce. The experience blends discovery, storytelling, and verified reviews with strong admin oversight and seller tooling.
// screenshots





// overview
vision
Empower authentic makers and help buyers shop with confidence through verifiable signals and human review.
audience
Independent artisans, boutique sellers, and customers seeking trusted, handcrafted products.
outcome
A modular marketplace backend that supports scale, transparency, and feature growth.
// problem
The client needed a production-ready marketplace where sellers could manage products, orders, and shop identity, while buyers could browse, purchase, and communicate seamlessly. Beyond standard e-commerce, the platform had to support authenticity signals such as maker verification, imported reviews, transparent fees, and admin oversight of listings and disputes. The system also required reliable media handling and multi-seller payment flows without compromising performance or maintainability.
// solution
I delivered a modular backend built with NestJS and Prisma, designed around clear domain boundaries for users, sellers, catalog, orders, payments, and messaging. I integrated Stripe for checkout, refunds, and seller onboarding, implemented S3-compatible media uploads with presigned URLs, and added Redis-backed caching and sessions for stability. The API supports role-based workflows for buyers, sellers, and admins, enabling marketplace operations, verification features, and transparency reporting.
// my_role
Backend Developer
- › Architected and implemented core API modules for auth, catalog, orders, payments, and media
- › Built role-based access control for admin, seller, and customer workflows
- › Modeled and migrated the database schema with Prisma, including catalog variants and order lifecycle
- › Integrated Stripe checkout, refunds, and seller onboarding and payout flows
- › Implemented object storage uploads with presigned URLs and secure validation
- › Supported deployment with Docker and runtime configuration for production
// tech_stack
frontend
React, Vite, Refine, Material UI, TypeScript
backend
Node.js (Bun runtime), NestJS, Prisma ORM
database
PostgreSQL
infrastructure
Docker, Redis, Stripe, S3-compatible storage, Twilio, Nodemailer, Git
// key_features
- › Role-based auth for buyer, seller, and admin workflows
- › Product catalog with variants, inventory, and media galleries
- › Stripe checkout with seller onboarding and payouts
- › S3-compatible media uploads with presigned URLs
- › Order management with refunds and dispute tracking
- › Maker verification and authenticity badges
- › Messaging between buyers and sellers
// contributions
- › Built the core NestJS modules and API contracts for marketplace operations
- › Designed Prisma models for users, sellers, products, orders, refunds, and disputes
- › Implemented Stripe payment intent flow, refunds, and seller onboarding
- › Added media uploads using S3-compatible storage with presigned URLs
- › Introduced Redis-backed caching and session support for performance
- › Hardened validation and error handling across public-facing endpoints
- › Packaged the app for containerized deployment with Docker
// challenges_&_solutions
Multi-variant catalog and data integrity
Problem: The product catalog needed to support variants, inventory, and rich media while preserving consistency and fast queries.
Solution: I designed a normalized catalog schema with variant relationships and indexes, then enforced validation in the API to keep inventory, pricing, and media in sync.
Reliable media handling
Problem: Seller uploads had to be secure, scalable, and resilient to failed or partial uploads.
Solution: I implemented presigned URL uploads to S3-compatible storage with size and type validation, plus consistent cleanup patterns for failed uploads.
Payments, refunds, and seller payouts
Problem: The platform needed to handle multi-seller checkout, refunds, and payouts while keeping order and payment states consistent.
Solution: I integrated Stripe for checkout and seller onboarding, enforced order state transitions, and added webhook-driven updates for payment status and refunds.
// impact
Production-ready backend
Aligned with transparency and authenticity goals for a trusted marketplace.
Simplified deployment
Dockerized packaging reduced environment issues and sped up releases.
Secure payment flows
Stripe Connect ensured safe checkout, refunds, and seller payouts.
Maintainable architecture
Modular services and a well-structured schema support future growth.
// what_i_learned
This project deepened my understanding of scalable marketplace architecture, Stripe Connect workflows, and the operational trade-offs of building trust features such as verification and transparent reporting.