Salta al contenuto principale
Portfolio

Sviluppo

ARIA — monitoraggio bandi

Un report settimanale che dice quali bandi sono usciti, senza che nessuno debba aprire sette portali diversi.

Ruolo
Progettazione e sviluppo
Committente
Space42 Europe · strumento interno
Periodo
2026
Stato
In esercizio — non pubblico

Il problema

I bandi che interessano escono su portali diversi, ognuno con il suo formato e i suoi tempi. Controllarli a mano è un lavoro noioso e ricorrente, quindi è un lavoro che prima o poi nessuno fa più.

Il rischio non è perdere un bando: è accorgersene quando la scadenza è passata.

Il risultato

Un report che arriva ogni settimana via email con quello che è uscito, più un bot Telegram per le domande puntuali quando serve un dettaglio.

La raccolta non dipende da nessuno che si ricordi di controllare.

Ogni fonte ha il suo endpoint e il suo formato. La normalizzazione è il punto in cui diventano una cosa sola.

Com’è fatto

Sette fonti istituzionali interrogate ognuna dal proprio endpoint strutturato — API pubbliche, endpoint JSON non documentati, feed — invece che leggendo le pagine HTML.

Il modello linguistico non fa la raccolta: interviene a valle, solo dove le fonti strutturate lasciano scoperto qualcosa. La parte deterministica è deterministica davvero.

Runtime
PythonVPSCron
Interfacce
Bot TelegramReport email
Dati
API RESTEndpoint JSONFeed

Decisioni

Ogni scelta qui sotto ha avuto un prezzo. Elencarle senza dire cosa costano le farebbe sembrare gratuite, e nessuna lo è stata.

  1. Cercare l’endpoint JSON prima di scrivere uno scraper

    Quasi tutti i portali pubblici espongono i propri contenuti in forma strutturata, spesso senza documentarlo: l’API REST del CMS che ci gira sotto, un motore di ricerca interno, un feed. Trovarlo cambia la natura del lavoro.

    Cosa è costato Una ricognizione per ogni fonte, prima di scrivere una riga. Si ripaga alla prima volta che il portale cambia grafica e il parser continua a funzionare.

  2. L’LLM in fondo alla catena, non in cima

    Dare tutto in pasto al modello è la strada corta: costa a ogni esecuzione, produce risultati che variano fra una volta e l’altra e non si può testare. Le fonti strutturate fanno il lavoro pesante, il modello copre il residuo.

    Cosa è costato Molto più codice da mantenere di una soluzione che delega tutto al modello.

  3. Il fornitore del modello dietro un confine

    Quando l’accesso al modello in uso è cambiato da un giorno all’altro, la migrazione ha toccato un solo punto del codice invece di tutta la catena.

    Cosa è costato Un livello di indirezione in più, scritto prima di sapere che sarebbe servito.