Cüte at a glance

A 60-second orientation — what the product does, how money moves, and where to read next

What we're building

A resale marketplace for close communities. Two moves matter:

  1. Sellers take a photo. The app writes the title, description and a suggested price. Posting takes under a minute.
  2. Buyers pay with the method their market uses. Cüte holds the money, produces the shipping label, and releases the payout once the buyer confirms.

Why it works: a closed community starts from trust, the whole fulfillment loop runs without manual ops, and nobody has to negotiate delivery in a chat thread.

Cüte runs on several markets from one codebase — EU (the launch market) and BR are live, AR is parked. See Multi-market rails.

One transaction, end to end

StepActorOrderPaymentFulfillmentPayout
ListSeller————
PayBuyerpending_payment → activepending/analyzing → paidawaiting_sellerhold
ShipSelleractivepaidlabel_generated → postedhold
DeliverCarrieractive → awaiting_buyer_confirmationpaiddeliveredhold
ConfirmBuyer→ completedpaiddeliveredreleased

Every arrow is a state machine transition. The full picture: State machines.

Where the money sits

  1. The payment provider takes the buyer's money — Stripe in the EU, Pagar.me in BR — and the seller's cut lands in their own account with that provider.
  2. Cüte's ledger tracks it in two buckets: held until the order completes, then available.
  3. The payout moves available money to the seller's bank when they ask for it.

Cüte never holds the buyer's money itself. See Payout lifecycle.

The stack

  • Next.js 16 App Router, Turbopack, Cache Components
  • Drizzle ORM (relations v2) on Supabase Postgres
  • Tailwind v4, Shadcn, next-intl (en, es, pt, de)
  • Restate for durable execution on the money path
  • Stripe and Pagar.me for payments; Sendcloud and Melhor Envio for labels
  • Socket.io chat on Fly.io; Upstash Redis for rate limits and unread counts
  • Vercel for every Next.js app

apps/ holds web, admin, brand, splash, docs and socket. packages/ holds the rest — most importantly @repo/commerce (rules and state machines) and @repo/features (product code).

  1. State machines — start here if you are touching business logic.
  2. System architecture — start here if you are setting up or changing the shape of things.
  3. Features — start here if you are implementing something specific.
  4. Roadmap — what is being considered, and what has already landed.

For the company context — mission, brand, why the ü is a smile — see Mission, Manifesto and Brand guidelines.

On this page