
PokeData
Pokédex moderna feita por fãs (Flutter, Android + Web): explorar Pokémon e regiões, buscar e filtrar, abrir perfis ricos — e jogar Guess the Pokémon (local ou competitivo com ranking). Favoritos e modo competitivo com conta; navegação completa como convidado. Publicada na Play Store e em pokedata.kaique.site.
Contexto
Muitos demos Flutter param no protótipo de API. O desafio foi fechar o ciclo de um produto mobile-first a custo zero de infra: PokéAPI com cache local, auth Firebase, favoritos sincronizados, jogo com API própria (Workers + D1), i18n PT/EN, compliance de loja e pipeline até Play Store + web Wasm — sem tratar web como afterthought.
O que o produto entrega
- Lista estilo National Dex com busca rápida e filtros por tipo e geração; regiões e perfis com stats, fraquezas, evolução, flavor text e gritos
- Guess the Pokémon: modo local (catálogo embutido) e competitivo autenticado com leaderboards e publicação de score
- Favoritos no Cloud Firestore (conta) e modo convidado para consultas rápidas; login só quando a feature exige
- Cache Drift offline-friendly e UI bilíngue PT/EN alinhada ao texto da PokéAPI
- Distribuição real: Android na Play Store (com.kaiquesimao.pokedex) + web Wasm em domínio próprio, stack free-tier de propósito
Sinais de engenharia
- Flutter + Riverpod 3, go_router e arquitetura por features (data / domain / presentation)
- Dio → PokéAPI; Drift para cache local; Firebase Auth (e-mail/senha; Google Sign-In no Android) + Firestore
- API do jogo: Cloudflare Worker + D1, catálogo versionado no repo (sem PokéAPI em runtime), rate limits e verificação de token Firebase
- Web Wasm multi-thread com COOP/COEP no Cloudflare Pages; Google Auth só no mobile por trade-off consciente
- GitHub Actions: analyze/testes, deploy web/Worker, upload de AAB e monitor de uso free-tier (Workers/D1)
Projeto público e não oficial (PokéAPI). Código no GitHub, demo em pokedata.kaique.site e app na Play Store.