Open to hybrid or on-site roles in Porto and Braga, and to remote scouting internships.

Tested code, honest numbers.

I'm Guilherme Azeredo, a Computer Systems Engineering graduate (IPCA, 2026). I build tested backend software in C#/.NET and Python, and I apply the same discipline to football data and scouting.

9 projects · 2 scouting reports

~/GoalkeeperScouting $ pytest -q

288 passed, 1 skipped

~/claim-to-evidence-scouting $ uv run pytest -q

97 passed

~/reparte $ npm test

68 passed

~/ticket-sales $ npm test

8 passed

# run locally · 18 Oct 2026

~/projects $

Automated test results for Goalkeeper Scouting: 288 passed, 1 skipped; Claim-to-Evidence Scouting: 97 passed; Reparte: 68 passed; Ticket sales API: 8 passed.

Software engineering

7 projects
CompleteIndividual · Personal project

Goalkeeper Scouting

A full-stack scouting platform for goalkeepers, built from raw match-event data. Every keeper is compared only with peers from the same competition and season, and the sample size is always shown next to the number.

11 techs · Python

  • Python
  • FastAPI
  • PostgreSQL
  • SQLAlchemy
  • Alembic
  • +6

Automated tests 288 passed, 1 skipped

CompleteIndividual · Internship

Observability at Ediprinter

Internship project: a centralised logging, alerting and monitoring platform with Serilog and the Elastic Stack for EDIGCIA, Ediprinter's management software for vehicle inspection centres.

10 techs · .NET

  • .NET
  • ASP.NET MVC
  • Serilog
  • Elasticsearch
  • Kibana
  • +5

Validation Log ingestion, data views and alerts tested against several scenarios

CompleteIndividual · Personal project

Reparte

A personal budgeting app: enter what you earned this month and it tells you how much to set aside for bills, savings, investment, leisure, activities and unexpected costs. Works offline; the data never leaves the device.

6 techs · TypeScript

  • TypeScript
  • React
  • Vite
  • Tailwind CSS
  • Vitest
  • +1

Automated tests 68 passed

Technical exerciseIndividual · Backend exercise

Ticket sales API

An events, seats and orders API. One endpoint lists an event's free seats; the other reserves a specific seat — and two requests for the same seat can never both succeed, even across separate server processes.

5 techs · Node.js

  • Node.js
  • node:http
  • node:sqlite
  • SQL
  • node:test

Automated tests 8 passed

All projects →

Data & analysis

In developmentIndividual · Personal project

Claim-to-Evidence Scouting

A scouting report makes claims — "creates a lot of chances", "doesn't track runners". This project tests each one against league data and my own video coding, using rules written down before the data is collected.

10 techs · Python

  • Python
  • pydantic
  • pandera
  • pandas
  • Hypothesis
  • +5

Automated tests 97 passed

CourseworkIndividual · Information Systems Integration course

FC Porto squad data integration

A KNIME workflow that takes a Transfermarkt export of 32,405 players, isolates the FC Porto squad, cleans and joins player attributes with market valuations, and writes the result to CSV, JSON, XML and Excel, plus two charts.

5 techs · KNIME

  • KNIME
  • CSV
  • JSON
  • XML
  • Excel

Source data CSV of 32,405 players from the Transfermarkt database

Football scouting

I watch matches, write player reports and build tools to check what I write. Public versions, adapted from my originals.

Player report

Ahmad Mendes Moreira

Kalamata FC · Super League Greece · second striker / left winger · player report

Three full matches (v Aris, Volos and Panathinaikos, 2026/27) plus highlights

Match report

Bernardo Martins ("Benny")

Panetolikos 0–1 Kifisia · Super League Greece 2025/26 · single-match report

One full match on video (84 minutes before being substituted)

All scouting →How I write a report

Experience & education

Feb 2025 — Jun 2025
Software Developer Intern · Ediprinter Observability platform for EDIGCIA →
2026
BSc in Computer Systems Engineering · Instituto Politécnico do Cávado e do Ave (IPCA)
2023 — present
Security Officer · Protecção Total (private security) — full-time alongside the degree

Background & timeline →CV →

Contact

Let's talk about a role, a project — or football data.

gui.99.azeredo@gmail.com