Craftee: A New Repo for Commerce Experiments
Why Craftee Exists
I wanted to see how far I could go by combining Firebase and Stripe inside a Next.js repo without over-engineering. That became Craftee—a small experiment that already feels like a foundation for something bigger. It’s not about recreating Shopify or building a full-blown marketplace. It’s about proving that a lean commerce stack can be enough to support real ideas.
The Core Pattern
The repo centers around a clean admin panel. Collections, products, stores, and orders each get their own page, wired directly into Firestore. The logic is minimal: fetch, list, edit, save. No external CMS, no middle layers. Just data moving in and out quickly. It feels close to the metal while still being safe.
On the checkout side, Stripe payment intents are created with metadata that backfill orders into Firestore. That gives me both real-time payments and a canonical order record I can extend later. Admin pages for orders and products are live-updated through Firestore subscriptions, so I don’t have to build polling or complicated jobs.
Goals: Stickers and T-Shirts
One of the first use cases I want to stress-test is merch printing—stickers and t-shirts. Both are simple, repeatable product types but they touch different parts of the flow:
- Stickers: low-cost, high-volume, and ideal for testing shipping logic, bulk discounts, and repeat orders.
- T-Shirts: more complex, with variants (size, color, design), inventory tracking, and fulfillment workflows.
By proving these two categories, I cover the spectrum from “lightweight swag” to “apparel with variants.” If Craftee can handle that, it can handle most small commerce needs.
Multi-Tenancy from the Start
I’ve been building with multi-tenancy baked in: every store gets its own workspace, its own catalog, and its own Stripe configuration. That makes Craftee not just a personal project but something I could hand to other creators, collectives, or small businesses who want to spin up their own storefront without bloat.
Multi-tenancy also forces good discipline:
- Every query is scoped by tenant.
- Branding and theming can live at the tenant level.
- Payments and payouts are isolated by Stripe Connect accounts.
This isn’t just technical—it’s about creating a system where one repo powers many brands without leaking data or complexity.
Reusability Across Ideas
What’s striking is how little code it takes to get a storefront + admin + payments experience. Most of the work is choosing the right boundaries: Firestore for product data and order history, Stripe for the money, Next.js for the interface.
The same foundation could run:
- A merch store for creators.
- A booking flow for events.
- A digital product shop.
- A hybrid model (subscriptions, memberships, bundles).
Where It Stands Now
Craftee isn’t finished, but it’s already useful as a sandbox. It proves that I can run an e-commerce backbone with Firebase auth, Firestore collections, and Stripe, all while keeping the admin UI approachable. That’s enough of a win to keep pushing it forward.
The next push is clear: make stickers and t-shirts real. Get them live, prove fulfillment, and refine the multi-tenant flows. If that works, Craftee will already have crossed the line from experiment to product.