LB
AppEm Produção2024

Ciclou

App Flutter publicado na Play Store que conecta quem descarta óleo de cozinha com coletores autorizados

FlutterDartFirebase Functions

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ção

02

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

01

Dois perfis de usuário

Cadastro separado para usuários (quem descarta) e coletores (quem recolhe), com fluxos e telas distintas para cada perfil.

02

Solicitação de Coleta

Usuário informa quantidade de óleo, endereço de retirada e horário preferencial — fluxo em poucos passos.

03

Proposta e Aceite

Coletores visualizam solicitações disponíveis e enviam proposta; usuário aceita ou recusa dentro do app.

04

Histórico de Coletas

Ambos os perfis têm acesso ao histórico completo de solicitações e coletas realizadas.

05

Autenticação Firebase

Login seguro com Firebase Authentication, com fluxo de cadastro e recuperação de senha nativos.


05

Tecnologias

Front-end

FlutterDart

Back-end

Firebase Functions

Banco de Dados

Firebase Firestore

Deploy

Google Play StoreFirebase Hosting

Integrações

Firebase AuthenticationFirebase StorageFirebase Dynamic LinksFirebase Cloud Messaging

06

Demonstração

Ciclou — screenshot 1
Ciclou — screenshot 2

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.