Inspiração
Pequenos negócios, vendedores informais e prestadores de serviços em Moçambique frequentemente dependem de WhatsApp, Facebook e contactos diretos para divulgar produtos. Criar um anúncio visualmente consistente, escrever uma legenda convincente e manter um histórico confiável da origem do conteúdo exige tempo, ferramentas e competências que muitos vendedores não têm.
O Boladas-ponto-com nasceu para transformar informações simples — produto, preço em Meticais, localização, contacto, público e objetivo — num post pronto a publicar, mantendo a origem de cada ficheiro verificável.
O que faz
A aplicação gera conteúdo publicitário para redes sociais e organiza cada execução como um fluxo auditável:
- imagem quadrada 1080×1080;
- legenda, chamada para ação e hashtags;
- composição determinística de nome, preço e CTA sobre a imagem;
- manifesto de proveniência em JSON;
- hash SHA-256 por ficheiro;
- armazenamento durável no Backblaze B2;
- verificação pública ao vivo contra os objetos atualmente existentes no bucket.
Além do gerador, a aplicação inclui perfis pessoais e empresariais, diretório de negócios, feed público, comparação de preços em Meticais, cálculo de proximidade por GPS, mensagens associadas aos produtos, comentários, reações e moderação.
Como foi construído
O backend e o frontend são servidos por uma aplicação FastAPI com Jinja2. Os utilizadores autenticam-se por sessão assinada e passwords protegidas com bcrypt. Os dados relacionais ficam numa base SQLite, enquanto os ativos gerados, legendas, miniaturas e manifestos ficam no Backblaze B2.
O Genblaze é usado para orquestrar a geração de imagem. A aplicação suporta dois provedores:
- Gemini, através de um provider integrado no Pipeline do Genblaze;
- GMICloud como alternativa.
A saída do modelo é normalizada para PNG quadrado. Depois, Pillow adiciona deterministicamente elementos comerciais como nome do negócio, preço e chamada para ação. Esse desenho híbrido evita depender de texto embutido por modelos de imagem, que frequentemente produz letras deformadas.
Backblaze B2 e proveniência
Cada post utiliza o seguinte layout:
posts/<post_id>/image.png
posts/<post_id>/caption.txt
posts/<post_id>/provenance.json
posts/<post_id>/thumbnail.webp
O upload não é considerado concluído apenas porque o objeto existe. Depois do envio, a aplicação descarrega novamente os bytes do B2, recalcula o SHA-256 e compara com o conteúdo local. Qualquer divergência impede que o post seja marcado como concluído.
A página pública de proveniência oferece uma verificação ao vivo: o sistema volta a descarregar cada ficheiro declarado no manifesto e apresenta o resultado individual. Se um objeto for substituído mantendo a mesma chave, a alteração é detetada.
Princípio: Nunca fingir
O produto segue uma regra simples: nunca apresentar uma operação não verificada como sucesso.
- Falhas de armazenamento mantêm o post como
failed. - O diagnóstico testa ligações reais ao B2 e aos provedores de IA.
- Se a moderação por IA não responder, o estado é “não verificado”, não “limpo”.
- Se a geração de imagem não estiver disponível por quota, a proveniência regista explicitamente que nenhuma imagem de IA foi gerada.
- Quando todos os provedores falham, a aplicação conserva e apresenta as razões reais.
Desafios
Os maiores desafios foram integrar provedores diferentes sem contornar o Genblaze, verificar o conteúdo realmente armazenado no B2 em vez de confiar apenas em metadados e manter o produto funcional quando quotas gratuitas de geração de imagem ficam indisponíveis.
Outro desafio foi adaptar o fluxo ao uso móvel e à realidade de pequenos negócios: publicação individual simples por omissão, suporte a empresas com vários gestores, preços em Meticais, contacto direto e páginas públicas partilháveis sem exigir conta do visitante.
Realizações
- Pipeline real de geração integrado ao Genblaze.
- Armazenamento e revalidação criptográfica no Backblaze B2.
- Proveniência pública e verificável por qualquer visitante.
- Arquitetura multi-provider com erros transparentes.
- Plataforma completa para utilizadores individuais e empresas.
- Moderação local, por IA e por reporte humano.
- Interface responsiva para telemóveis.
- Mais de 115 testes automatizados documentados no repositório.
Próximos passos
Os próximos passos incluem ampliar testes de produção, melhorar observabilidade, adicionar métricas de utilização, facilitar a exportação direta para diferentes redes sociais e validar o produto com mais vendedores e pequenos negócios moçambicanos.
Log in or sign up for Devpost to join the conversation.