Problema
Instaladores de ar-condicionado fazem o orçamento no papel ou no WhatsApp, calculam a potência de cabeça e perdem vendas porque não sabem quem viu a proposta e quem esfriou.
Meu papel
Projeto pessoal: produto, design, código e testes.
Solução
- Calculadora de carga térmica por ambiente (BTU/h) usada na visita.
- Orçamento com os preços do próprio instalador, enviado por link; o cliente aprova com o nome e vê o Pix do sinal (BR Code) gerado com a chave do instalador.
- Painel com quem abriu, quem está parado e quais manutenções vencem.
Como foi feito
Next.js 16 (App Router), React 19, TypeScript estrito, Tailwind 4, componentes no padrão shadcn/ui, Auth.js, Drizzle + Postgres (PGlite no modo demonstração), Stripe Billing com webhook idempotente, Resend, Zod, Vitest e Playwright.
Resultados
Roda inteiro em modo demonstração com pnpm dev, sem nenhuma chave. Lighthouse 100 no desktop e teste ponta a ponta do cadastro à aprovação e ao upgrade de plano. É uma demonstração: não há servidor publicado.
Stack
- Next.js 16
- React 19
- Drizzle
- Postgres
- Auth.js
- Stripe
- Playwright


