Trabalhos / Marketplace de viagens

Um marketplace de viagens, no iOS e Android em quatro meses

Hospedagens, passeios e restaurantes para assinantes, com split de pagamentos, sincronização de calendário com Airbnb e Booking.com, e uma API que agentes de IA conseguem consultar.

Papel
Engenheiro líder e DevOps, pela Pyp System
Período
Mar 2025 — atual
Contexto
Uma startup brasileira de viagens
Stack
NestJS, PostgreSQL, Redis, Next.js, React Native, Docker

O produto

Um clube de viagens por assinatura. Os assinantes reservam hospedagens, passeios e restaurantes com preço de membro. Os anfitriões cadastram seus imóveis, passam por verificação de identidade e recebem automaticamente.

A Pyp System construiu o produto do zero. Eu liderei arquitetura, entrega e DevOps enquanto um time de desenvolvedores construía a maior parte das funcionalidades, e escrevi as partes em que um erro custa mais caro: deploys, sincronização de calendário, a API usada por agentes de IA e segurança.

O que entregamos

  • API (NestJS + PostgreSQL). Chat em tempo real via Socket.IO com adapter de Redis, notificações push e um worker separado para que as rotinas financeiras agendadas tenham exatamente um escritor.
  • Web (Next.js) em português, inglês e espanhol, e apps mobile (React Native com Expo) na App Store e no Google Play.
  • Pagamentos de marketplace. Cartão e PIX com split de repasse para os anfitriões, verificação de identidade dos recebedores e rotinas de conciliação.
  • Sincronização de calendário com Airbnb e Booking.com via iCal e um channel manager, para que uma data reservada em qualquer lugar fique bloqueada em todos.
  • Mapas, login com Google e Apple, e eventos de conversão server-side para anúncios.

Linha do tempo

  1. Mar 2025

    Primeiro commit na API, na web e nos apps.

  2. Jun 2025

    Builds de produção e publicação na App Store e no Google Play, cerca de quatro meses depois.

  3. Fev 2026

    Um segundo marketplace com necessidades quase idênticas: fiz um fork da plataforma para um produto novo em vez de começar do zero.

  4. Jul 2026

    Saímos de reinícios no próprio servidor para deploys blue-green com Docker, sem downtime.

  5. Out 2026

    Auditoria de segurança nos seis repositórios dos dois produtos.

Três histórias de engenharia

  1. Quando a sincronização de calendário quebrou

    Sincronização de calendário é onde um marketplace perde a confiança: uma data bloqueada errada e o anfitrião perde uma reserva. Quando a sincronização via iCal começou a bloquear datas incorretamente em produção, publicamos uma correção no mesmo dia, levamos a correção para o segundo produto e fizemos em seguida uma release de reforço nos seis repositórios.

    Eu mesmo escrevi a explicação do incidente para o cliente. Quando você é o time de engenharia de alguém, assumir a explicação faz parte de assumir a correção.

  2. Upload de fotos mais barato

    Os anfitriões sobem muitas fotos. Refazer o pipeline de upload reduziu a memória por requisição de 150 MB para 25 MB, deixou a codificação das imagens 2,5× mais rápida e gerou arquivos WebP 36% menores. O processamento pesado roda em um worker BullMQ com Sharp, fora do caminho da requisição.

  3. Abrindo espaço para agentes de IA

    O catálogo é exposto por um servidor MCP, para que agentes de IA consultem os dados em tempo real. Um concierge de IA no WhatsApp usa esse servidor para responder leads sobre hospedagens e sobre o clube.

    RestriçãoÉ somente leitura, de propósito, autenticado com chaves de API comparadas em tempo constante, e limitado a 300 requisições por minuto.

Revisão de segurança

Em outubro de 2026 auditei os seis repositórios dos dois produtos: reforço da autenticação, revisão do controle de acesso em todos os endpoints, regras de CORS por ambiente, credenciais de nuvem com privilégio mínimo para backups e armazenamento versionado com regras de ciclo de vida para os backups diários do banco.

Resultado

~4 mesesdo primeiro commit à App Store e ao Google Play
6×menos memória por upload de foto (150 MB → 25 MB)
2produtos em produção, construídos sobre a mesma plataforma

O nome do cliente, as regras de negócio e os números financeiros não são divulgados. O código é privado.