Progetti

Piggy
Piggy è un'applicazione web pensata, progettata e sviluppata in autonomia, concepita per un'installazione self-hosted.
L'applicazione nasce da un'esigenza personale di gestione delle proprie finanze personali (wallet management) unita alla mancanza di applicazioni sufficientemente facili e intuitive anche per chi è poco abituato all'argomento.
Piggy consente la tracciatura manuale, facilitata e personalizzata delle proprie operazioni su un qualsiasi numero di conti, con un'interfaccia il più possibile piacevole e moderna. L'applicazione supporta diverse categorie di spesa e incasso, ma anche beneficiari e trasferimenti, oltreché l'integrazione con provider di icone e loghi aziendali.
Il progetto è stato sviluppato in Laravel e Vue.js, con l'ausilio di Tailwind CSS.
Piggy (Android)
In aggiunta all'applicazione web è stato anche sviluppato un mobile client per i sistemi operativi Android, utilizzando Android Studio.
L'applicazione è realizzata sfruttando pesantemente il Material Design di Google e riprende da vicino il design dell'applicazione web. Il client di companion è concepito per la memorizzazione immediata di transazioni on-the-go.


Character animation
Mi piace anche realizzare della semplice computer grafica 3D, usando soprattutto Blender, e cercando di migliorarmi ogni giorno per puro piacere personale.
Per il corso di Fundamentals of Computer Graphics all'Università degli Studi di Brescia ho avuto l'occasione di sviluppare un modello completo di un personaggio 3D (Johan Liebert, tratto dal popolare manga e anime Monster), modellato su reference tramite tecniche di box modelling e sculpting high-poly, completato con uno scheletro in un processo di rigging, skinning e infine animato. Il tutto è stato renderizzato tramite il motore di rendering Cycles.
L'animazione finale è visibile qui.
PoIAna
PoIAna è un progetto organizzato in due parti (degli agenti di Reinforcement Learning e una GUI di Godot / C#) che consente a chiunque di giocare al popolare gioco italiano della briscola con degli agenti autonomi, addestrati con le più moderne tecniche di intelligenza artificiale.
Grazie al Deep Reinforcement Learning si sono addestrati in ambiente Gymnasium degli agenti per il gioco della briscola, curando con euristiche ed esperimenti delle funzioni di reward intelligenti e performanti.
Infine, i modelli sono stati esportati dal backend PyTorch in formato ONNX, importandoli quindi lato .NET / C# per integrarli in una GUI fatta con Godot, realizzando così un semplice videogioco di carte autonomo.
Vuoi provare a giocare? Vai sulla mia pagina Itch.


Deep normal map generation
Nell'ambito del corso di Image Data Analysis, si è realizzato in totale autonomia un semplice progetto per la generazione / predizione di una normal map a partire da una texture 2D.
Durante il progetto si sono sviluppate numerose architetture di reti neurali per una pipeline di image-to-image translation, sia di più semplici (Autoencoder e U-Net) che di più complesse e specializzate (Pix2Pix e CycleGAN), comparandone le performance. L'addestramento, la costruzione e la valutazione dei modelli è stata svolta in totale autonomia.
L'intero progetto è stato realizzato in Python con il framework Keras.
Website
Ho anche realizzato veri e propri siti web completi, come quello che stai visitando ora oppure quello della Tabaccheria N°2 di Raffa (interamente realizzato con Laravel, Vue.js e Tailwind CSS).
CBT (C# Behavior Trees)
CBT è un DSL (un linguaggio creato ad hoc) per la realizzazione facilitata di alberi comportamentali, un pattern comune per l'IA videoludica.
Il transpiler realizzato compila i sorgenti CBT in un insieme di classi C# pronte all'uso con un game engine come Unity o Godot.
Come demo, l'albero comportamentale è stato implementato per guidare in modo autonomo Pac-Man, ricostruendo anche l'ambiente di gioco originale con Godot, qui puoi vederlo all'opera.
RNNMIDI
Nel progetto RNNMIDI si è realizzata un'architettura di rete neurale basate su semplici RNN LSTM, con il framework PyTorch, al fine di generare musica in formato MIDI a partire da uno stub iniziale.
Alcuni esempi di file generati sono visibili nella repository con il codice d'addestramento.
LLM4Logs
LLM4Logs è un progetto moderno e sperimentale che è consistito nell'uso di LLM locali e open-source per l'analisi di log di sistema relativi alla sicurezza informatica.
In particolare, si sono comparati modelli come Llama, Mistral, Gemma, Deepseek Coder e Codellama, migliorati sia tramite fine-tuning su piattaforma Colab che con zero-shot e few-shot learning in locale.