Transparência Pública: O que Aprendi Construindo o Fiscaliza Brasil
O Fiscaliza Brasil é uma plataforma de transparência que monitora a atividade de parlamentares do Congresso Nacional usando dados abertos do governo. Foi, sem dúvida, o projeto mais desafiador que já trabalhei.
O Problema
O acesso a dados parlamentares existe, mas é fragmentado, em formatos inacessíveis para a maioria das pessoas e sem padronização em alguns casos.
A Solução Técnica
Back-end (Python + FastAPI)
Criamos crawlers que coletam e normalizam dados de diferentes fontes APIs governamentais e centralizamos os dados em uma unica api própria com padrões próprios. O backend baixa fotos, importa dados cacheados e inicia os scrapers em background.
def fetch_votacoes_ano(ano, data_dir=None):
if data_dir is None:
data_dir = os.path.join(DATA_DIR, "camara", "votacoes")
os.makedirs(data_dir, exist_ok=True)
ano_atual = datetime.now().year
merged_path = os.path.join(data_dir, f"{ano}.json")
# Anos passados: cache do consolidado bate direto
if ano < ano_atual:
cached = load_json_if_valid(merged_path)
if cached is not None:
return cached
url = "https://dadosabertos.camara.leg.br/api/v2/votacoes"
all_items = []
all_failed = True
...
Front-end (Vue 3 + Vite)
Escolhemos Vue pela sua curva de aprendizado mais suave para o time e pelo excelente ecossistema de visualização de dados.
Dados (PostgreSQL)
Todos os dados são coletados e armazenados em um banco de dados centralizado de maneira automatica quadrimestralmente garantindo que a aplicação tenha sempre dados atualizados. Os dados que exibimos é uma cópia dos dados disponíveis pelas APIs oficiais e só são armazenados pelo nosso sistema para evitar inatividade do nosso sistema caso uma das APIs fique fora do ar.
Desafios
- Volume de dados — parlamentares tomam centenas de decisões por mês
- Qualidade dos dados — APIs governamentais têm inconsistências frequentes em nomes próprios e formatação de valores numéricos e datas.
- UX — apresentar dados complexos de forma acessível ao público geral
Conclusão
Projetos de impacto social com dados abertos são tecnicamente desafiadores, mas extremamente gratificantes. A transparência é um pilar da democracia, e a tecnologia pode ser uma aliada poderosa nesse processo.