Lancei meu primeiro micro-SaaS: o Polotrip!
Fala pessoal!
Depois de alguns meses trabalhando nas horas livres, finalmente lancei o Polotrip! Um micro-SaaS que criei para resolver uma dor pessoal: a forma frustrante como compartilhamos nossas viagens atualmente.
Sempre achei complicado mostrar fotos de viagens para família e amigos. Fotos incríveis acabavam esquecidas em meio a pastas perdidas no Google Drive, Dropbox, Google Photos, ou então eram enviadas em galerias feias e bagunçadas pelo WhatsApp. No Instagram, a limitação do formato vertical prejudicava muito a experiência. Em resumo... a essência das memórias das viagens sempre se perdia.
Pensando nisso, construí o Polotrip, uma plataforma para criação de álbuns digitais interativos. A ideia é simples, mas com uma experiência bem especial: você sobe as fotos, organiza visualmente por uma timeline e marca locais visitados num mapa interativo, e também, caso presentes, automaticamente já puxa esses dados através dos metadados das imagens sem precisar inserir manualmente, tudo isso para criar uma experiência mais próxima dos antigos álbuns físicos que mostrávamos aos amigos e família.
Embora eu atue há 4 anos profissionalmente como desenvolvedor frontend, decidi que nesse projeto iria me desafiar: além de frontend, também fiz toda a parte de Backend e UI Design (Figma).
Gostaria também de destacar que o Polotrip foi muito inspirado em projetos de pessoas aqui da comunidade de SaaS que admiro bastante: o Loveyuu do André Elias e o AlertPix/AbacatePay de Daniel Lima e Christopher Ribeiro.
Acabei de liberar a primeira versão, e adoraria receber feedbacks sinceros. Quero muito ouvir vocês!
O link está logo abaixo pra quem quiser conhecer e testar:
https://polotrip.com/pt
Contexto técnico e tecnologias utilizadas:
O Polotrip foi construído em um monorepo com PNPM Workspaces e Turborepo, permitindo que frontend e backend compartilhem código, configs e pacotes reutilizáveis de forma escalável.
Frontend:
• Next.js 14 com App Router, React Server Components, Server Actions e o novo hook useActionState.
• Tailwind CSS + Shadcn/ui para a UI.
• React Query (scroll infinito e requisições no client-side) e ky (wrapper elegante para instância global da Fetch API).
• React Hook Form para formulários no client-side.
• Zod para validações de dados.
• Framer Motion para animações.
• Stripe para pagamentos.
• Leaflet para o mapa interativo.
• Pipeline de compressão no front com CompressorJS, preservação de metadados com exif-js e piexifjs para evitar sobrecarga no backend.
Backend (Node.js, TypeScript):
• Fastify (micro-framework).
• Arquitetura em camadas com separação clara entre rotas HTTP e lógica de negócio.
• Drizzle ORM com PostgreSQL (via Docker para ambiente de desenvolvimento e Neon para ambiente de produção).
• Cloudflare R2 Buckets com upload via Signed URLs.
Para autenticação, utilizei a nova queridinha do momento dos indie hackers, compartilhando o código entre backend e frontend: BetterAuth.
Valeu demais pessoal, estou à disposição para perguntas!