Skip to content
View pedrogouveia001's full-sized avatar

Highlights

  • Pro

Block or report pedrogouveia001

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
pedrogouveia001/README.md

Pedro Henrique Gouveia de Souza

Backend & AI Engineering — Python · FastAPI · PostgreSQL · Decision Science & Applied AI

Recife, Pernambuco, Brasil LinkedIn · E-mail · sad-mcdm


O que eu faço

Construo backend em Python: desenho de API, modelagem de dados relacional, autorização e suíte de teste automatizado. O que me interessa é a parte que só aparece depois do deploy — isolamento de dado entre clientes garantido pelo banco, migração versionada, regressão pega antes do merge.

Stack de trabalho

Backend Python 3.12 · FastAPI · Flask · SQLAlchemy 2 (async) · Pydantic · Alembic
Banco PostgreSQL (Row Level Security, JSONB, índice trigram) · MySQL · SQLite · modelagem conceitual/lógica/física
Teste & qualidade Pytest · pytest-asyncio · teste de integração contra banco real · Ruff · SBOM (CycloneDX)
Entrega Git/GitHub (Pull Request, CODEOWNERS, Git LFS) · OpenAPI · JWT + argon2 · Jinja2
Computação numérica NumPy · SciPy · Pandas · simulação de Monte Carlo
Legado Delphi / Object Pascal · VBA

Projetos em Destaque

spear-elicitation-simulator — Python · NumPy · pytest · GitHub Actions CI Simulador de linha de comando que compara quatro heurísticas de seleção de pergunta para elicitação de preferências em decisão multicritério: mede quantas perguntas cada heurística precisa até convergir dentro de uma tolerância. Projeto final do CS50P (Harvard).

Cerebrum-IA — Rust · Tauri · SQLite · Docker Plataforma desktop de memorização e inteligência com backend nativo em Rust, SQLite embarcado e empacotamento multi-stage Docker.

toefl-prep-app — JavaScript (ES6+) · Web Speech API · Levenshtein Distance Aplicação web interativa e gamificada de preparação para o TOEFL iBT, com reconhecimento de fala no navegador para speaking drills e sintetizador de voz.

criterial — Tailwind CSS · Decision Science · Web UI Showcase e portal institucional da Criterial, demonstrando sistemas de inteligência de decisão multicritério e engenharia de software de alta performance.


Sistemas de apoio à decisão — CDSID/UFPE (2022–2026)

Quatro anos construindo software de decisão multicritério no Centro de Desenvolvimento de Sistemas de Informação e Decisão da UFPE. O código está arquivado em repositórios privados; o resumo do que foi construído:

  • FITradeoff Web (Flask + MySQL) — reescrita web do FITradeoff: autenticação, cadastro e retomada de problema salvo, importação de matriz de consequências em .csv/.xlsx, motor de cálculo aditivo com pesos ROC, preferência holística e por decomposição, análise de sensibilidade por Monte Carlo com teste de Kendall, exportação em PDF e CSV, i18n PT/EN. Inclui a migração do banco legado (fitradeoff_data) para o esquema novo.
  • FITradeoff-CB-HE — seleção de portfólio de projetos por razão custo-benefício. Registro de software no INPI nº 512025006292-3 (coautor: módulos de cálculo e fluxo de uso do método).
  • SPEAR / Surrogate / PROMETHEE / NSGA-II — motores de cálculo e simulação em Delphi/Object Pascal e Python, usados em sessões reais de elicitação de preferências com decisores.
  • Portal bibliométrico do FITradeoff — sincronização entre o raspador da página oficial e a API do OpenAlex, com desduplicação por DOI/título e grafo de coautoria em D3.js.

Repositórios públicos desse período:

Repositório O que é
cdsid-spear SPEAR — elicitação por decomposição: Delphi/IntraWeb + camada web em Flask
cdsid-dashboard-fitradeoff Portal bibliométrico: raspador + API OpenAlex, desduplicação por DOI e grafo de coautoria em D3.js
cdsid-promethee-roc PROMETHEE com pesos ROC — SAD multicritério
cdsid-promethee-c-optimal PROMETHEE C Ótimo — portfólio por razão custo-benefício com otimização
cdsid-promethee-rocnratio PROMETHEE ROC/N-Ratio — elicitação de pesos e análise de sensibilidade
cdsid-stratplan Planejamento estratégico com otimização multiobjetivo (NSGA-II)
cdsid-nsgaii-intraweb NSGA-II em aplicação web — algoritmo genético multiobjetivo
cdsid-sadpf Seleção de portfólio com diagrama de Hasse para ordenação parcial
cdsid-sadsds SAD para alocação de recursos em segurança pública
cdsid-holistica-classificacao Avaliação holística e problemática de classificação
cdsid-sw-cadastro Cadastro único — autenticação compartilhada entre os SADs do laboratório
cdsid-surrogate-simulacao · -python Simulação de heurísticas com pesos surrogate — Delphi e Flask
cdsid-surrogate-input · -python Entrada de dados para métodos surrogate — Delphi e Flask
cdsid-pl-input · cdsid-ppl-simulacao Entrada e simulação de programação linear, com solver lp_solve
cdsid-colab-notebooks Notebooks de otimização e métodos numéricos — Python/Jupyter

Os repositórios contêm apenas código-fonte de minha autoria. Dumps de banco, planilhas de aplicação real e trabalho de colegas foram mantidos fora. Componentes de terceiros redistribuídos (lp_solve, LGPL) estão creditados em THIRD-PARTY.md.

Produção derivada desse software: capítulo na Springer Nature (LNBIP, 2025) · INFORMS Annual Meeting 2024 (Seattle) · 27th International Conference on MCDM 2024 (Tunísia) · SBPO.


sad-mcdm — open source

Suíte de resolvedores de decisão multicritério, mantida por mim.

  • sad-mcdm-lib (Python) — pacote unificado: solve_ahp, solve_bwm, solve_bwt, solve_electre, solve_macbeth, solve_promethee, solve_smarts_smarter, solve_topsis, solve_vikor, run_monte_carlo e geração de relatório em PDF.
  • Bindings: R · JavaScript (com Simplex de duas fases no navegador) · C++ · Julia · Java
  • sad-central-mcdm — hub que processa matriz de consequências e exporta relatório executivo em PDF.
  • Aplicações: PrometheeInvestor e SAD Smarter B3 — análise fundamentalista de ações da B3.

Formação

  • Engenharia de Produção — UFPE (2021–2025)
  • CS50x e CS50P — Harvard University
  • Técnico em Mecânica — IFPE (2017–2021)
  • Mestrado em Engenharia de Produção / Pesquisa Operacional — PPGEP-UFPE, créditos cursados (trancado em ago/2026)

Estatísticas do GitHub Linguagens mais usadas

Pinned Loading

  1. spear-elicitation-simulator spear-elicitation-simulator Public

    Simulador em Python que compara quatro heurísticas de elicitação de preferências em decisão multicritério — NumPy, CLI com argparse, testes em pytest. Projeto final do CS50P (Harvard).

    Python

  2. sad-mcdm/sad-mcdm-lib sad-mcdm/sad-mcdm-lib Public

    Biblioteca Python unificada de resolvedores MCDM: AHP, BWM, BWT, ELECTRE, MACBETH, PROMETHEE, SMARTS/SMARTER, TOPSIS, VIKOR, Monte Carlo e relatório em PDF.

    Python

  3. sad-mcdm/sad-promethee-b3 sad-mcdm/sad-promethee-b3 Public

    PrometheeInvestor — análise fundamentalista de ações da B3 com PROMETHEE II e pesos ROC.

    Python

  4. cdsid-spear cdsid-spear Public

    SPEAR — sistema de elicitação de preferências por decomposição: aplicação Delphi/IntraWeb e camada web em Flask, CDSID/UFPE.

    JavaScript

  5. cdsid-dashboard-fitradeoff cdsid-dashboard-fitradeoff Public

    Portal bibliométrico do método FITradeoff: sincronização entre raspador da página oficial e a API OpenAlex, desduplicação por DOI/título e grafo de coautoria em D3.js.

    JavaScript

  6. Cerebrum-IA Cerebrum-IA Public

    App desktop de memorização por repetição espaçada, em Rust com Tauri.

    Rust 1