LR © 2026

Luca
Rivoiro

Python Backend & AI Developer

Scrivo backend Python e automazioni. Ho lavorato su reti aziendali; oggi gestisco anche il server dove girano alcuni dei miei servizi.

Cerco un ruolo da Software o AI Developer

Sede Torino

Modalità in sede, ibrido o remoto

Lingue italiano, inglese B2, francese base

Chi sono

Sono passato dalla manutenzione degli impianti al software. Oggi seguo anche i servizi che metto sul mio server.

In Diaconia Valdese, dal marzo 2022 al gennaio 2024, mi occupavo di manutenzione preventiva e guasti agli impianti. A Bell Production, da marzo 2025 ad aprile 2026, ho scritto automazioni Python e HTML per oltre 20 strutture hospitality. Mi occupavo anche di reti, deployment software e supporto su più sedi. Per lavorare sugli LLM ho seguito il percorso AI Development (EQF 6, 400 ore), completato a gennaio 2026.

HomeSync lo usiamo in casa ogni giorno. BoxBox è l'app per il fantaMotoGP tra amici. Per Orizzonte Sole ho adattato e pubblicato il progetto di un altro autore. Gestisco il server dove girano i miei servizi e ci rimetto mano quando serve. Con AI Guardian Lab studio come controllare i comandi di un agente LLM. È un prototipo open source: in produzione non lo userei. Cerco un ruolo da Software o AI Developer.

Nel percorso AI Development

PythonLLM EngineeringAgentic AIRAGSQL/NoSQLDevOps/CI-CD

Competenze

Languages

PythonJavaScriptHTML/CSSBash

Framework

FlaskFastAPIn8nNode.js

DevOps

DockerNginxGitHub ActionsCI/CD

AI / LLM

OpenAIGroqLiteLLMOllamaLangChain

Data / ML

PandasNumPyscikit-learnMatplotlib

Systems

Linux UbuntuTailscaleUFWAWS
n8nautomazioni self-hosted in esercizio
20+strutture hospitality servite
400hAI Development, EQF 6

Progetti

Terminale demo: comando rm bloccato dall'allowlist, fase 1 su 4

AI Guardian Lab

Se un agente LLM propone un comando shell, voglio poterlo controllare prima di eseguirlo. In AI Guardian Lab ho scritto un middleware open source: una allowlist ferma i binari non ammessi, come «rm» nella demo. Ho aggiunto controlli sul comando e sul task. È un prototipo in dry-run: non copre i comandi fuori dalla pipeline e non offre una sandbox forte.

PythonFlaskDockerSecurity
Vista sanificata di una dashboard per risorse, gruppi di servizi, affidabilità e policy di accesso

srv1 Infrastructure

Sul server di casa girano i servizi che uso. Ho separato gli accessi amministrativi da quelli pubblici e tengo una copia dei backup fuori casa. La dashboard che ho scritto mi mostra lo stato dei container e dei backup; continuo a mantenerla. Il codice e i dettagli dell'ambiente restano privati.

LinuxDockerTailscaleDevOps
Panoramica n8n e workflow con router, classificazione LLM, coda e processor

n8n Ecosystem

I link che mi arrivano da Telegram passano per un router n8n. Per i domini che conosco bastano regole; per quelli nuovi interviene un LLM. Una coda separa la ricezione dalla consegna. Se un workflow fallisce, raccolgo il contesto e decido io come intervenire. Il codice non è pubblico.

n8nDockerLLMAPI

Altri progetti

Calcolo netto da RAL: contributi INPS, scaglioni IRPEF, addizionali e netto mensile

Calcolatore RAL

Per un test tecnico da Product Builder ho scritto da zero un calcolatore netto da RAL, senza librerie di calcolo. Nel risultato si vedono contributi INPS, scaglioni IRPEF, detrazioni e addizionali. Funziona nel browser, senza backend né tracciamento.

JavaScriptHTML/CSS
Home della PWA: round in corso, classifica top 3 di stagione, punteggio gara in tempo reale

BoxBox MotoGP Fantasy

Per seguire il fantasy MotoGP con gli amici ho fatto una PWA che mostra da dove arriva ogni punteggio. La pipeline aggiorna i dati ogni ora; quando la sessione dell'API scade, la rinnova con un browser headless. Se un passaggio fallisce, mi arriva una notifica su Discord.

Vanilla JSNode.jsDockerPWA
Home: task da fare oggi, punteggi dei due utenti, lista task in arrivo e completati

HomeSync

Io e la mia compagna usiamo HomeSync ogni giorno per i compiti di casa. Ci sono attività ricorrenti, punteggi e uno storico condiviso. Ho scelto SQLite per non avere un database separato da amministrare sul server di casa.

FastAPIReactDockerSQLite
Mockup di Broom: due telefoni con la lista delle attività di casa; etichette di esempio, non uno screenshot

Broom

HomeSync sta sul server di casa; Broom è la versione per telefono, con i dati sul telefono. La sincronizzazione tra due telefoni oggi la faccio a mano, passando il documento dal menu di condivisione. Quella automatica sulla stessa WiFi è il prossimo passo.

CapacitorReactAndroidAutomerge
Orizzonte Sole: mappa con il punto di osservazione selezionato e il calcolo di visibilità del Sole eclissato sull'orizzonte

Orizzonte Sole

Per l'eclissi del 12 agosto 2026 ho adattato e pubblicato un fork del progetto di Luca Malinverno. Calcola la visibilità del Sole dal punto scelto usando il profilo del terreno. Ho tenuto sul server una griglia DEM del Piemonte per non scaricare ogni volta l'intero mosaico. Dopo l'eclissi ho spento la demo.

ReactFastAPIDockerMapLibreGIS

Scrivimi

Se hai un ruolo o un progetto, scrivimi due righe qui sotto. Ti rispondo per email.