MAMI

Aug 2025

E-commerce platform ~3 months (ongoing refinement) Live
Next.js React TypeScript Tailwind NextAuth.js Prisma ORM PostgreSQL Stripe Cloudflare R2 Resend Framer Motion Vercel

Overview

Custom e-commerce platform for MAMI — a handmade jewelry brand where every piece is unique and sells only once. Built as a Shopify alternative: fully customizable, nearly free to run, and easy to extend. Complete admin panel with product management, order tracking, discount codes, and a built-in CMS.

Key features

One-of-a-Kind Inventory

Each product sells once and disappears from the shop. No quantities, no restocking — the whole store is built around this model.

Dual-Currency Checkout

Every product has a PLN and EUR price. Customers toggle currency — cart, totals, and Stripe payment all follow.

Full Admin Dashboard

Products, orders, customers, discount codes, homepage content — all in one panel, built for exactly what the business needs.

Built-in CMS

Hero carousel, featured sections, photo gallery, scrolling marquee — all editable without code or a separate CMS service.

Stripe Payments

Secure checkout with automatic order creation, confirmation emails, and product status updates.

Discount System

Percentage and fixed-amount codes with usage limits, expiration, and per-currency values.

Screenshots

The Problem

MAMI makes handmade jewelry — each piece is one-of-a-kind.

The owner needed a store but Shopify didn’t fit: monthly fees for unused features, rigid templates, no control over the admin experience, and a quantity-based model that doesn’t work when every item is unique.

He needed a store that costs almost nothing to run, does exactly what his business requires, and can grow with it.

Design

The client came to me with a rough sketch drawn in a notebook — a minimalistic layout, clean and simple. I took that sketch and translated it into a working design preview, keeping the feel he was going for while filling in the details he hadn’t thought about yet. Everything was designed and approved before development started — no mid-build surprises.

Approach

Near-zero running costs. Vercel for hosting, Prisma Postgres for the database, Cloudflare R2 for images. At low traffic the monthly cost is essentially zero — only Stripe’s transaction fee on actual sales. Everything scales smoothly if traffic grows.

Admin panel built for this business. Not a generic settings page — a full management tool:

  • Products — CRUD, batch image upload with auto-compression, dual pricing, collections, categories
  • Orders — status tracking, full details with addresses, refunds
  • Customers — list with order history and contact info
  • Discounts — percentage or fixed codes, usage limits, expiration, dual-currency values
  • CMS — hero carousel, two featured product sections, photo gallery by photographer, marquee, nav carousel. One tabbed page, no external service

One-of-a-kind inventory. Products go from available → ordered → sold. Payment automatically removes the product from the shop. No stock counts, no race conditions.

Dual currency. Each product has a PLN and EUR price set by the owner. Customer picks currency, everything follows — cart, discounts, Stripe checkout. No exchange rate APIs.

Guest checkout. No accounts, no passwords. Details, payment, confirmation email. Done.

Built to extend. Wishlist, blog, shipping integrations, customer accounts — these are additions to a clean codebase, not fights against a platform’s limitations.

Challenges

Bulletproof payment flow. One Stripe confirmation triggers order creation, address saving, product status change, discount usage, and confirmation email — all atomically. Failures roll back cleanly. Duplicate webhook calls are handled gracefully.

CMS image lifecycle. Upload, reorder, delete images from the admin — with automatic R2 compression, storage cleanup, and database sync happening behind a simple UI.

Discounts across currencies. Percentage codes work universally. Fixed-amount codes need separate PLN and EUR values — the system validates the right one exists before applying it.

ShopifyMAMI (Custom)
Monthly cost~$30-80/mo + apps~$0 at low traffic
Transaction feesStripe + Shopify cutStripe only
Admin panelGeneric, bloatedBuilt for this business
Inventory modelQuantity-basedOne-of-a-kind native
Dual currencyRequires appsBuilt in
CMSTheme editor limitsFull control
New featuresApp marketplace onlyAdd anything
OwnershipRentingOwn the code

Results

Full purchase flow from browsing to confirmation email — zero manual steps for the owner

Near-zero monthly costs — Vercel free tier, Prisma Postgres, Cloudflare R2

Owner manages everything independently — no developer needed for day-to-day

No vendor lock-in — new features are additions, not migrations

Need a site, a custom tool, or full e-commerce build?

Send scope, budget range, and timeline. I will reply with a realistic plan.

hello@fao.dev