Progetti

Progetti

Una selezione dei progetti più recenti, tra ingegneria full-stack, integrazione dell'IA e progettazione di sistemi complessi.

SPA di valutazione del rischio e analytics con IA

Funzionalità chiave

  • Filtri avanzati per valori e categorie
  • Modelli guidati dall'IA per la categorizzazione dei dati
  • Machine learning per valutazione del rischio e sistemi di allerta

Risultati

  • 75% di riduzione dei tempi di valutazione del rischio
  • 40% di riduzione dei falsi positivi
FinTechPythonFastAPIRabbitMQAngularNestJSAI/MLPostgreSQLDockerKeycloakQwen3

SPA di valutazione del rischio e analytics con IA

Sfida

Un grande istituto finanziario faticava con processi manuali di valutazione del rischio, lenti e soggetti a errore umano. Il cliente cercava anche un adattamento rapido alle tendenze di mercato e alle normative, oltre all'ottimizzazione dei costi.

Soluzione

Ximplicity ha implementato un sistema di valutazione del rischio basato sull'IA, integrato con l'infrastruttura esistente, che automatizza l'analisi dei dati dei clienti e dei pattern transazionali, supportando più flussi di lavoro e integrazioni di modelli.

Contributo tecnico

Ho progettato l'architettura dei flussi di dati per disaccoppiare i carichi di inferenza dell'IA dall'applicazione principale, usando RabbitMQ per l'orchestrazione asincrona tra i servizi di modello FastAPI e il backend NestJS. Ho costruito la SPA Angular con pipeline di filtri dinamiche e dashboard di allerta in tempo reale, e ho integrato Keycloak per il controllo degli accessi per ruolo tra i team dell'istituto. Il sistema è stato containerizzato con Docker e distribuito su un ambiente cloud interno con scalabilità orizzontale per i worker di inferenza.

Ottimizzazione dei flussi di assistenza al paziente

Funzionalità chiave

  • Esperienza del paziente migliorata
  • Modelli guidati dall'IA per l'ottimizzazione della pianificazione
  • Riprogrammazione automatica e messaggistica non invasiva

Risultati

  • 40% di riduzione dei tempi di attesa dei pazienti
  • 25% di aumento della capacità di presa in carico dei pazienti
HealthTechReactNode.jsFastAPINestJSAI/MLMongoDBAWSRedisKeycloakTensorFlowPyTorchYOLOv10Deepseek-r1

Ottimizzazione dei flussi di assistenza al paziente

Sfida

Un operatore sanitario affrontava inefficienze nei flussi di assistenza al paziente, con tempi di attesa più lunghi e minore qualità delle cure.

Soluzione

Ximplicity ha fornito CTO-as-a-Service per analizzare i sistemi esistenti e ha implementato una soluzione di ottimizzazione dei flussi che ha snellito appuntamenti, accettazioni, diagnosi e percorsi di cura senza interrompere i sistemi in uso.

Contributo tecnico

Ho ristrutturato i flussi sincroni legacy in un modello di orchestrazione event-driven con NestJS e Redis pub/sub, abilitando la riprogrammazione in tempo reale senza interruzioni. Ho progettato il frontend React con una UX incentrata sugli appuntamenti, integrato modelli di ottimizzazione basati su TensorFlow tramite FastAPI e implementato una messaggistica non invasiva in stile WhatsApp per la comunicazione con i pazienti. La piattaforma gira su AWS con MongoDB ed è protetta da autenticazione multi-tenant con Keycloak.

Controllo qualità con IA per la manifattura

Funzionalità chiave

  • Flussi MQTT collegati ai sensori
  • Integrazione di visione artificiale e machine learning
  • Scambio dati in tempo reale e business intelligence

Risultati

  • 85% di riduzione dei tassi di difettosità
  • 60% di riduzione dei costi di controllo qualità
Industry 4.0AngularPythonComputer VisionMQTTDockern8nMCPNode.jsPostgreSQLYOLOv12Qwen2.5-VL

Controllo qualità con IA per la manifattura

Sfida

Un'azienda manifatturiera registrava alti tassi di difettosità e problemi di controllo qualità che ne intaccavano reputazione e conti.

Soluzione

Ximplicity ha progettato e implementato un sistema di controllo qualità basato sull'IA che usa la visione artificiale per rilevare i difetti in tempo reale durante la produzione, e integra l'orchestrazione dei flussi via MQTT in un'applicazione web professionale e responsive.

Contributo tecnico

Ho progettato una pipeline di ingestione a bassa latenza che porta i flussi di dati da sensori e visione via MQTT in un archivio time-series PostgreSQL, alimentando i modelli YOLOv12 e Qwen2.5-VL per la classificazione dei difetti. Ho costruito il frontend Angular con dashboard di produzione in tempo reale, integrato n8n per l'automazione no-code dei flussi ed esposto un'interfaccia MCP per interrogazioni di processo guidate dall'IA. L'intero stack è stato containerizzato con Docker e orchestrato per il deployment su edge in ambienti di fabbrica.

Ispezioni NDT su tubazioni di raffineria

Funzionalità chiave

  • Monitoraggio digitale delle operazioni pienamente integrato
  • Modelli di corrosione e analytics di visione artificiale
  • Ispezioni simboliche e su gemello digitale 3D

Risultati

  • 90% più rapida la generazione dei report
  • Risparmi significativi per ciclo di ispezione
C# AngularPythonThreeJSAI/MLAWSKeycloakPostgreSQLRedisSignalRRabbitMQDocker

Ispezioni NDT su tubazioni di raffineria

Sfida

Un fornitore di ispezioni NDT robotizzate aveva bisogno di un portale completo per visualizzare diverse fonti di dati NDT sui gemelli digitali dei componenti ispezionati e per generare annotazioni e report automatici basati su analytics e modelli di visione artificiale.

Soluzione

Ximplicity ha fornito CTO-as-a-Service per strutturare il dominio di business, definire il modello dati e costruire una soluzione web per gestire tutti i dati raccolti dal robot, con ispezione simbolica e su gemello digitale 3D dei componenti.

Contributo tecnico

Ho progettato il modello dati della piattaforma per gestire fonti di ispezione eterogenee — RTR (radiografia in tempo reale), Pulsed Eddy Current (PEC) e ispezioni visive — unificate sotto un unico schema. Ho costruito il frontend Angular + Three.js per la visualizzazione dei gemelli digitali 3D con livelli di annotazione, sviluppato il livello di sincronizzazione in tempo reale con SignalR per le sessioni di revisione collaborativa e implementato modelli di previsione della corrosione in Python. Il backend gira su .NET con RabbitMQ per l'elaborazione asincrona, PostgreSQL e Redis per persistenza e cache, e Keycloak per il controllo degli accessi multi-organizzazione (ho curato il modello dati, la specifica tecnica e il livello di integrazione, e ho sviluppato diversi servizi centrali; altri servizi sono stati realizzati dal team esteso).

Oltre all'implementazione come Senior Full-Stack Engineer, in questo progetto ho svolto anche il ruolo di Scrum Master, UX Designer e Solution Architect. La piattaforma continua a crescere in produzione e resto attivamente coinvolto nella sua evoluzione da Ximplicity. Questo significa nuovi servizi ad alto valore, maggiore qualità ed efficienza nel modo in cui i risultati vengono prodotti e presentati, e processi di business più solidi. Significa anche introdurre tecniche avanzate di inferenza sui dati, visione artificiale e rappresentazione visiva: le capacità su cui si regge il servizio di ispezione, analytics e reporting del mio cliente.

Kuboing — Puzzle 3D a cascata di cubi

Funzionalità chiave

  • Tabellone 12×12×24 Z-Up con punteggio a esplosione e cascata
  • Un solo modello di input: tastiera, mouse, gamepad e tocco
  • Implementazioni mock e di produzione intercambiabili dietro un unico flag di configurazione

Risultati

  • Giocabile online, gratis e senza registrazione
  • Oltre l'80% di copertura dei rami, quality gate senza difetti
ReactTypeScriptThreeJSReact Three FiberZustandViteNestJSTypeORMPostgreSQLKeycloakDockerWebGL

Kuboing — Puzzle 3D a cascata di cubi

Sfida

Il 3D in tempo reale nel browser e un prodotto client-server di livello produttivo si dimostrano di solito separatamente, e raramente li firma lo stesso ingegnere. Volevo un unico artefatto che provasse entrambe le cose insieme, e che restasse onesto sulla propria portata: la parte più difficile di un progetto in solitaria è finirlo davvero.

Soluzione

Kuboing è un puzzle 3D casual-competitivo: i pezzi cadono su un tabellone 12×12×24 in Z-Up, il giocatore li incastra, collega i colori, innesca esplosioni e concatena la cascata. React e Three.js muovono il client, mentre NestJS e PostgreSQL muovono l'API, e nel livello di integrazione ho usato il pattern facade, che porta con sé un'implementazione mock accanto a quella reale: è ciò che permette alla demo online di funzionare senza alcun database dietro. Come ulteriore dimostrazione, lo stato di gioco è gestito in modo reattivo con un pattern di stato locale, e la build di produzione aggiunge un livello di sicurezza: autenticazione e identità con Keycloak, persistenza su PostgreSQL e un livello di astrazione su TypeORM. La build con Vite completa la dimostrazione di una soluzione multipiattaforma.

Gioca a Kuboing

Gratis e senza registrazione: dedicagli qualche minuto, qui nel tuo browser.

Contributo tecnico

Questo è mio dall'inizio alla fine: l'idea, il game design, la direzione artistica, la UX, il client, il server e il deployment. È nato come gamebook prima ancora che come codice: identità, elevator pitch, piattaforme obiettivo e tutta la meccanica di caduta, incastro, connessione, esplosione e cascata, fino al punteggio che fa sentire meritato un combo. Un gioco casual si gioca tutto sulla leggibilità dei suoi primi sessanta secondi, e questo è un problema di design molto prima che di ingegneria.

Il client è React e TypeScript con Three.js tramite React Three Fiber, lo stato di gioco gestito con Zustand e un ciclo di render libero da allocazioni per frame, così un telefono di fascia media tiene il frame rate. Il tabellone è 12×12×24 in un mondo Z-Up, ed è ciò che rende onesta la lettura spaziale ed esigente il lavoro di camera. La UX multi-dispositivo è un unico modello di input espresso in quattro modi — tastiera, mouse, gamepad e gesti tattili — su un layout in cui il tabellone 3D e l'HUD essenziale sono sempre i protagonisti e tutto il resto vive in drawer e overlay. L'API è NestJS con TypeORM e PostgreSQL, autenticata con Keycloak, documentata con OpenAPI e costruita su un contratto generico di paginazione, filtro e ordinamento a cui le tabelle del frontend si legano direttamente. Ogni confine di integrazione espone una facade astratta con due implementazioni intercambiabili, mock e reale, selezionate da un solo flag di ambiente.

Il vincolo che mi sono imposto era che tutto restasse alla portata di un solo sviluppatore: unità piccole a responsabilità singola, JSDoc su ogni superficie pubblica, i18n dalla prima schermata invece che aggiunta dopo, design token perché l'intero aspetto cambi da un solo file, e copertura dei rami sopra l'80% imposta dalla build e non dalle buone intenzioni. È questo il vero senso del progetto. Non che un browser sappia disegnare cubi, ma che una sola persona possa portare un prodotto dall'idea a un sistema client-server distribuito, testato e documentato senza tagliare proprio ciò che lo rende un prodotto.

Sono un designer e sviluppatore full-stack. Ho iniziato a scrivere videogiochi da bambino, negli anni Ottanta, su microprocessori Z80. Diversi decenni dopo provo ancora la stessa passione e, ogni volta che il mio lavoro di senior developer su prodotti professionali me lo consente, costruisco un gioco per puro divertimento. Questo è uno di quelli. Spero ti piaccia.

Da sviluppatore con esperienza, credo nella comunità e contribuisco con progetti open source miei.

Scopri altri progetti

Costruiamo qualcosa di grande

Hai un progetto in mente? Mi piacerebbe conoscerlo e capire come posso aiutarti.