Projects

Software built by directing AI coding agents

Claude Code, GitHub Copilot and Cursor do the typing. The architecture, the acceptance criteria and the verification before production are mine — and that is what separates a prototype from something that stays up.

In production

  • Portal Brasileirão — Companion app for the Brazilian Série A championship

    Standings, fixtures and statistics for the Série A. OAuth login, Material Design 3 tokens and a live /api/health endpoint. Seven GitHub Actions workflows including rollback, with a documented flip-back drill, and keyless deploys over OIDC. When no API token is available the app falls back to a frozen snapshot instead of failing. React 19 · TypeScript · Express 5 · Tailwind 4 · AWS · 1,523 unit tests and 46 end-to-end Playwright specs · 910 commits in eight weeks (23 August–16 October 2026)

  • Agora na Copa 2026 — Companion app for the FIFA World Cup 2026

    Monte Carlo simulator for qualification odds, using a Dixon-Coles model and the Article 13 FIFA tie-breaking criteria applied in the correct order. External integrations (FIFA API, Open-Meteo, Google Trends) each have their own fallback. Served by nginx and systemd. React 19 · TypeScript · Express · AWS · 283 unit tests and 37 end-to-end Playwright specs · 1,204 commits

Experiments and tooling

  • ai_workflow — Verification pipeline for AI-assisted development

    Automates the step that usually gets skipped: making what an AI coding agent produced verifiable before it ships — review, documentation and tests.

  • conversando_com_pessoa — Local RAG system, in Python

    Dense retrieval (multilingual-e5-base) combined with BM25, over an index whose integrity manifest refuses to load an inconsistent index, plus a plagiarism guard calibrated on real answers. Orchestration is decided by rules, never by the model. On the README gold set — 40 questions and 176 candidates graded by TREC pooling — dense retrieval reaches an nDCG@5 of 0.719 against BM25's 0.488. Pluggable generation, a FastAPI web layer and 292 tests passing.

  • trilhas_estudos — Study-track control and suggestion, in Python

    Domain in frozen dataclasses, with mypy --strict over all of src/. History is event-sourced with UPDATE and DELETE forbidden by SQLite trigger — correcting a fact means appending another event, never rewriting the previous one. The suggestion engine is rules, not a model, and explainable by construction: no suggestion comes out without the factors that produced it. 294 tests over 6,772 lines, 16 ADRs and five CI gates on every push and pull request — compiled catalogue, pytest, ruff check, ruff format and mypy — each on a 3.12/3.14 matrix. Runs locally; not in production.

  • gitx — Git TUI wired up over MCP

    Terminal interface for Git commands, integrated with assistants through the Model Context Protocol (MCP).

  • olinda_copilot_sdk.ts — TypeScript wrapper for the GitHub Copilot SDK

    A TypeScript layer over the GitHub Copilot SDK for programmatic use in custom tooling.

  • Onde Estou? — Real-time geolocation

    Shows your current position on a map using the browser's Geolocation API, no registration required.

  • MapaSP — Interactive map of São Paulo

    Interactive map of São Paulo city with points of interest and neighborhood navigation.

  • Music in Numbers — Spotify data analysis

    Visualizes and analyzes your Spotify streaming history with charts and statistics.

  • Monitora Vagas — Hotel vacancy monitoring

    Monitors hotel room availability and notifies you when openings appear.

  • Libraries published on npm — bessa_patterns.ts, ibira.js and paraty_geocore.js

    Three packages published to the npm registry, still at early versions.

  • Automation scripts — Utility scripts on GitHub

    A collection of utility scripts for everyday development tasks, available on GitHub.

The public GitHub portfolio holds more than 50 non-fork repositories.