Ciclou
App Flutter publicado na Play Store que conecta quem descarta óleo de cozinha com coletores autorizados
01
Visão Geral
O Ciclou nasceu de um problema real: pessoas com boa intenção ambiental não conseguem encontrar coletores de óleo usado de forma simples. O aplicativo cria uma ponte entre dois lados — quem tem óleo para descartar e quem coleta e recicla — com um fluxo claro: o usuário solicita a coleta informando quantidade, endereço e horário preferencial; coletores cadastrados recebem a solicitação e enviam uma proposta; o usuário aceita ou recusa. Tudo rastreável e com histórico para ambos os lados.
Meu papel
Desenvolvedor Front-End & Mobile — responsável pela interface Flutter, fluxos de usuário e integração com Firebase. Projeto desenvolvido em parceria com Rafael Almeida (back-end e design).
Categoria
App
Ano
2024
Status
Em Produção02
O Problema
O descarte correto de óleo de cozinha usado é ambientalmente importante, mas logisticamente difícil. Coletores autorizados existem, mas não são facilmente encontráveis. Usuários sem canal estruturado acabam descartando o óleo incorretamente.
03 — Solução
Plataforma two-sided em Flutter: de um lado, o usuário solicita coleta com dados da sua localidade e volume de óleo; do outro, o coletor recebe as solicitações disponíveis na sua área e envia propostas. O aceite acontece dentro do app, gerando um histórico de coletas para ambas as partes.
04
Funcionalidades Principais
Dois perfis de usuário
Cadastro separado para usuários (quem descarta) e coletores (quem recolhe), com fluxos e telas distintas para cada perfil.
Solicitação de Coleta
Usuário informa quantidade de óleo, endereço de retirada e horário preferencial — fluxo em poucos passos.
Proposta e Aceite
Coletores visualizam solicitações disponíveis e enviam proposta; usuário aceita ou recusa dentro do app.
Histórico de Coletas
Ambos os perfis têm acesso ao histórico completo de solicitações e coletas realizadas.
Autenticação Firebase
Login seguro com Firebase Authentication, com fluxo de cadastro e recuperação de senha nativos.
05
Tecnologias
Front-end
Back-end
Banco de Dados
Deploy
Integrações
06
Demonstração


07
Decisões de Design
Interface limpa com foco no fluxo principal — solicitar uma coleta deve levar menos de um minuto. A separação de perfis (usuário/coletor) é feita no onboarding, evitando complexidade na tela inicial. Verde como cor primária reforça o contexto ambiental sem ser óbvio.
08
Desafios Técnicos
Gerenciar o estado em tempo real das solicitações de coleta para que o usuário veja quando um coletor enviou uma proposta sem precisar atualizar manualmente. Solução: Firestore com listeners em tempo real no Flutter, atualizando a UI automaticamente ao receber novos dados no snapshot.
09
Resultados
- Aplicativo publicado e disponível na Google Play Store
- Fluxo completo two-sided funcionando: solicitação, proposta, aceite e histórico
- Cross-platform: uma base de código Flutter para Android e iOS
10
Aprendizados
- Desenvolvimento cross-platform com Flutter: gerenciar estados distintos para dois perfis de usuário (cidadão vs. coletor) na mesma base de código
- Firebase como backend serverless: Firestore para dados em tempo real, Functions para lógica de negócio, Auth para identidade
- Design de fluxo two-sided: equilibrar a experiência de dois tipos de usuário com necessidades e contextos completamente diferentes
- Deploy na Google Play Store: configuração de release, assinatura de APK e processo de publicação
Gostou desse projeto?
Tem uma ideia parecida ou quer construir algo diferente? Vamos conversar.