Ir para o conteúdo principal
  1. Artigos/

30 Dias de Vibe Coding - Dia 18 - PollBox

Nuno Coração
Autor
Nuno Coração
Principal Product Manager @ Docker
Índice
30 Days of Vibe Coding - Este artigo faz parte de uma série.
Parte 18: Este artigo

Dia 18. Queria algo colaborativo. Algo em que pudesses partilhar um link e imediatamente ver outras pessoas a interagir com ele. Uma app de votações em tempo real pareceu a escolha certa.

O Prompt
#

“Constrói uma app de criação e votação de sondagens em tempo real. Os utilizadores devem poder criar sondagens com múltiplas opções, partilhá-las por link, e ver os resultados a atualizar ao vivo com gráficos de barras animados.”

Experimenta tu mesmo aqui

Como Foi Construído
#

O Watchfire dividiu isto em 31 tarefas. É bastante para uma app de votações, mas a lista de funcionalidades cresceu depressa assim que começas a pensar em todas as pequenas coisas que tornam uma experiência de votação completa.

O núcleo veio primeiro: integração com a base de dados em tempo real do Firebase, fluxo de criação de sondagens, mecânicas de votação e a vista animada de resultados. Depois foram-se adicionando camadas com tudo o resto. Categorias e templates para criação rápida de sondagens. Melhorias de acessibilidade. Skeletons de carregamento para que a app não mostre conteúdo vazio. Uma página 404 como deve ser. E claro, a habitual ronda de correções de deployment no final.

A integração com Firebase foi a espinha dorsal de tudo. O Firestore trata da persistência, os listeners em tempo real enviam atualizações de votos para cada cliente ligado, e a autenticação anónima significa que ninguém precisa de criar uma conta só para votar em algo.

O Que Obtive
#

O fluxo de criação é surpreendentemente completo para algo construído num dia.

Formulário de criação de sondagem

Tens um título, descrição, etiquetas de categoria, múltiplas opções e até um seletor de tema de cores. Também há suporte para imagem de capa, sondagens agendadas, proteção por password e datas de expiração. Na parte de baixo, há templates para tipos comuns de sondagens como “Sim ou Não”, “Avalia de 1 a 5” e “Votação de Equipa” para que possas saltar a configuração toda.

Opções de criação com temas e templates

A página de resultados é onde fica divertido. Depois de votares, as barras animam-se, a opção vencedora destaca-se e confetti explode pelo ecrã.

Resultados ao vivo com confetti

Cada página de sondagem também tem reações com emoji, uma secção de comentários, links de partilha com geração de código QR e opções de exportação tanto para dados CSV como imagens. É muita área de superfície.

Resultados da votação de equipa

Resultados da sondagem de avaliação

O dashboard “As Minhas Sondagens” mantém o registo de tudo o que criaste, com pesquisa e filtros por categoria. Cada sondagem mostra o seu estado, número de opções, número de votos e tem um botão de duplicar para reutilização rápida.

Dashboard As Minhas Sondagens

Os Bug Reports
#

A ronda de deployment foi o principal ponto de dor. A configuração do Firebase precisou de ajustes para produção e houve os habituais problemas específicos do Vercel para resolver. Nada de incomum para um projeto que depende de serviços externos. A imposição de um voto por utilizador precisou de transações Firestore para funcionar corretamente, o que levou alguma iteração até ficar bem.

Experimenta
#

Experimenta o PollBox

Cria uma sondagem e partilha o link. Não é preciso conta.

Veredicto do Dia 18
#

A lista de funcionalidades aqui é densa. Uma app de votação em tempo real com Firebase, resultados animados, partilha por QR, reações com emoji, comentários, exportação CSV, exportação de imagens, templates, categorias, proteção por password e um dashboard. Isso é uma lista de funcionalidades de produção espremida num único dia.

A parte de tempo real é o que faz isto parecer vivo. Partilhas um link, alguém vota e as barras mexem-se no teu ecrã. Sem precisar de atualizar. Os listeners em tempo real do Firebase mais as animações do Framer Motion fazem com que tudo pareça responsivo e polido de uma forma que resultados estáticos nunca conseguiriam.

31 tarefas no Watchfire, e a profundidade nota-se.


Este é o dia 18 de 30 Dias de Vibe Coding. Acompanha enquanto lanço 30 projetos em 30 dias usando programação assistida por IA.

30 Days of Vibe Coding - Este artigo faz parte de uma série.
Parte 18: Este artigo

Relacionados