De uma frota com concierge a um marketplace náutico.
A Orvelas conecta quem tem o mar a quem quer estar nele, começando pelo Rio de Janeiro. Anfitriões verificados anunciam, convidados reservam e pagam pela plataforma, e a Orvelas cuida da verificação, do pagamento, do repasse e do suporte. Antes da primeira tela, o modelo inteiro foi decidido e escrito.
- Três papéis, um login
Convidado, anfitrião (armador pessoa física ou agência) e equipe Orvelas, com áreas próprias e acesso da equipe só por e-mail da empresa.
- Quatro ofertas
Locação da embarcação inteira, passeio vendido por pessoa, serviço a bordo e embarque compartilhado aberto por um convidado.
- Pagamento antes da confirmação
Nenhuma reserva confirma sem pagamento: sinal de 50% na locação, total no passeio e no serviço, com prazo visível e cancelamento automático no vencimento.
As telas, como foram construídas.
Capturas e gravações do produto rodando, sem montagem.












Como o sistema se organiza.
Camadas da aplicação e a estrutura real do repositório.
- WebNext.js 16 · React 19 · Tailwind 4 · Lucide
- iOSSwiftUI nativo, iOS 18+ · mesmos dados e navegação
- BancoSupabase: Postgres, Auth, Storage e Realtime
- RegrasRLS por papel · funções de cobrança · prazos de pagamento
- ValidaçãoBanco testado offline em PGlite antes de subir
orvelas/ ├─ docs/marketplace.md ... papéis, ofertas, taxas ├─ docs/database.md ..... banco documentado ├─ docs/brandbook.md ..... marca e interface ├─ web/ ................. Next.js · 42 rotas ├─ ios-native/ .......... SwiftUI · 33 telas ├─ db/migrations/ ....... 5 migrações ├─ db/check/ ............ 213 testes └─ tools/brand/ ......... marca gerada por script
Decisões que sustentam o produto.
- 01
Uma decisão, três camadas
As regras de cobrança (taxa do convidado, comissão do anfitrião, sinal e repasse) valem iguais no web, no iOS e no banco; os catálogos são os mesmos arquivos nos dois apps.
- 02
Acesso pelo banco
Políticas de segurança por linha garantem que o convidado veja as próprias reservas, o anfitrião os próprios anúncios e a equipe só entre com e-mail da Orvelas.
- 03
Reserva que se cuida sozinha
Prazo para pagar contado da reserva ou do aceite do anfitrião; vencido, a reserva cai e a data volta a ficar livre.
- 04
Dividir o investimento
O grupo divide a locação e a reserva confirma quando as partes pagas somam o sinal; embarques compartilhados abrem lugares da própria locação.
- 05
Revisão de design e contraste
Tokens de cor com versões para texto pequeno, estados em linguagem de cuidado e telas revisadas no web e no iOS.
O que foi entregue.
Um marketplace inteiro navegável no computador e no iPhone, com o banco desenhado, migrado e testado: falta ligar os apps ao Supabase e ao gateway de pagamento.
- 42rotas no web
- 33telas no app iOS
- 5migrações do banco
- 213testes de valores, acesso e fluxos
- Modelo do marketplace
- Aplicação web
- App iOS nativo
- Banco Supabase com RLS
- Fluxo de reserva e pagamento
- Painéis do anfitrião e da equipe
Protótipo funcional: os apps rodam com dados de demonstração e as fotos são provisórias. O banco está migrado e testado; os próximos passos são ligar os apps ao Supabase, integrar o gateway com split para o anfitrião, trocar as fotos pelas oficiais e ativar as notificações.
métricas de uso a incluir quando medidas em produção