Cüte at a glance
A 60-second orientation — what the product does, how money flows, and where to read deeper.
What we're building
Cüte is a resale marketplace for Brazilian condominium communities. Two moves matter:
- Sellers snap a photo. AI writes the title, description, and suggested price. They post in under 30 seconds.
- Buyers in the same condo (or a nearby condo network) buy with PIX. Cüte holds the money, generates the shipping label, and releases the payout once the buyer confirms.
Why it works: closed communities create trust by default, PIX makes payments instant, and the entire fulfillment loop runs without manual ops.
How one transaction flows
| Step | Actor | Order status | Payment | Fulfillment | Payout |
|---|---|---|---|---|---|
| 1. List | Seller | — | — | — | — |
| 2. Pay | Buyer | pending_payment → paid | analyzing / pending → paid | — | — |
| 3. Ship | Seller | paid → active | paid | label_purchased → in_transit | — |
| 4. Confirm | Buyer | active → completed | paid | delivered | scheduled |
| 5. Settle | System | completed | paid | delivered | released |
Every arrow is enforced by a state machine. See core concepts for the full lifecycle of items, offers, orders, fulfillment, payouts, and disputes.
Where money sits
Three layers, in order:
- Pagar.me — the payment rail. Holds buyer funds during the protection window.
- Cüte held funds — internal double-entry ledger (append-only audit table) tracking what's owed to each seller.
- Seller wallet — withdrawable balance, paid out through the provider-managed payout account.
The split is documented in Payments & anti-fraud and Payout lifecycle.
The stack
- Next.js 16 App Router, Turbopack, Cache Components (
"use cache") - Drizzle ORM (relations v2) on Supabase Postgres
- Tailwind v4 + Shadcn + next-intl (pt / en / es)
- Pagar.me payments + Melhor Envio shipping
- Socket.io chat on Fly.io, Upstash Redis for rate limits and unread counts
- Vercel for every Next.js app
The monorepo splits into apps/ (web, admin, brand, docs, socket) and packages/ — most importantly @repo/commerce for state machines and business rules, and @repo/features for product code. See Commerce package and Enforcement layers.
Read next
- Core concepts — state machines for every entity. Start here if you're touching business logic.
- System architecture — caching, routing, infra, monorepo layout. Start here if you're setting up dev.
- Features — playbooks for checkout, payments, images, observability. Start here if you're implementing something.
- Roadmap — what's coming, what's deferred.
If you want the company context — mission, brand, the "ü is our smile" — see Mission, Manifesto, Brand guidelines.