Skip to main content
Serenata de Amor is an open-source project using AI to monitor Brazilian congressional expense reimbursements. The system automatically flags suspicious claims and makes the findings accessible to every citizen.

Quick Start

Get Rosie and Jarbas running in minutes with Docker

How It Works

Understand the AI pipeline from raw data to public suspicion reports

Rosie (AI Engine)

Learn about the machine learning classifiers that detect fraud

API Reference

Query reimbursement data, suspicion scores, and company info

What is Serenata de Amor?

The project has two core components working together:

Rosie

A Python-based AI robot that reads congressional expense receipts, applies machine learning classifiers, and produces a dataset of suspicious reimbursements.

Jarbas

A Django-powered web dashboard and REST API that serves Rosie’s findings to the public, allowing citizens to browse and validate each suspicion.

Get started

1

Clone the repository

git clone https://github.com/okfn-brasil/serenata-de-amor.git
cd serenata-de-amor
2

Set up environment variables

cp contrib/.env.sample .env
Edit .env with your database URL and API keys.
3

Run Rosie to detect suspicious expenses

docker-compose run --rm rosie python rosie.py run chamber_of_deputies
Rosie downloads datasets, runs all classifiers, and outputs a suspicions.xz file.
4

Start Jarbas to explore the findings

docker-compose run --rm django python manage.py migrate
docker-compose run --rm django python manage.py suspicions /mnt/data/suspicions.xz
docker-compose up django
Browse the dashboard at localhost:8000.
Serenata de Amor currently focuses on Brazil’s Chamber of Deputies (lower house) and the Federal Senate. The project is open source under the MIT license — contributions are welcome.

Build docs developers (and LLMs) love