Skip to content
All projects

Service operations

Plano Limpo

A fixed-price marketplace for home services: the customer books and pays on the spot, the vetted professional receives the offer and checks in, the manager runs everything from the back office.

services in the catalog
8
cities served
3
Illustration of Plano Limpo: the customer app booking a cleaning at a fixed price, the manager's dashboard with weekly revenue, and the professional's app with the route to the next job.
Customer, manager and professional in one system

Architecture

CustomerProfessionalAdminNext.js appSupabaseStripe
  • TypeScript
  • Tailwind
  • Leaflet

Features

  • Catalog of 8 services — from standard cleaning to post-construction, ironing and furniture assembly — with add-ons, editable by the manager.
  • Customer area: pick the service, day and time, see the price instantly and pay by card. The quote is signed on the server and valid for 30 minutes: the price shown is the price charged.
  • Weekly, biweekly and monthly subscriptions, charged to the saved card by a daily routine.
  • Professional area: offer feed as a list and a map, vetting with document upload, check-in and check-out on the job, and Pix for payouts.
  • Automatic matching by ranked rounds, with expiry and re-offer; an order stuck for over 30 minutes is highlighted so the manager can assign it by hand.
  • Back office: KPIs and revenue, professionals, customers, orders, payouts, support tickets and a price simulator per region.
  • Real-time chat between customer and professional that masks phone and e-mail; the full address only appears after acceptance.

Infrastructure

  • Next.js, React and TypeScript in a monorepo; a dependency-free pricing engine in its own package, with rules versioned in the database — changing prices needs no deploy.
  • Supabase: Postgres with RLS on 30 tables, Auth, Realtime, Storage and pg_cron; 45 migrations applied and validated in CI.
  • Stripe Checkout with authorization at order time and capture only after check-out, plus webhook.
  • Continuous deployment on Vercel with crons; Sentry; maps with Leaflet and OpenStreetMap; addresses via ViaCEP.

What it solves

  • Booking with no phone call, no WhatsApp and no paper notes — and the price the customer saw is what they pay.
  • Professionals only see what matters to them: nearby offers, and the customer's details after acceptance.
  • Money is only captured once the job is done, which protects both sides.
  • Revenue and payouts come straight out of the system instead of being added up by hand.

Want something similar?

Tell me how your process works today. In a quick call I get to know the problem and send a proposal with scope, timeline and price.