Torna alla home

Configuratore per Corsi e Chatbot Personalizzati

Progetto di tesi svolto in collaborazione con Social Thingum. Un sistema per permettere ai docenti di creare il loro corso online con associato un chatbot personalizzato sui documenti caricati e sulle modalità di apprendimento dello studente.

RuoloFull Stack Developer
StackReact, Python, Moodle
Interfaccia Configuratore AI - Step 1
Interfaccia Configuratore AI - Step 2
01 — Problema

Chatbot educativi generici e mancanza di strumenti per i docenti per personalizzare i chatbot

I Large Language Models generici soffrono di allucinazioni: generano contenuti plausibili ma non ancorati ai materiali didattici effettivi del corso. In ambito educativo, questo è inaccettabile.

Inoltre online non esistono soluzione sempli che permettano ai docenti di configurare autonomamente chatbot verticali, basati esclusivamente sui propri materiali, senza richiedere competenze tecniche in AI o prompt engineering.

Infine gli studenti hanno metodologie e ritmi di apprendimento differenti, e non esiste un sistema che permetta di personalizzare le spiegazioni in base ai loro bisogni.

Interfaccia Configuratore AI
02 — Soluzione

Configurare e Chatbot RAG

Ho progettato e integrato un Configuratore AI che consente ai docenti di creare il proprio corso con annesso un chatbot educativo ancorato esclusivamente ai propri materiali didattici.

Il sistema processa i documenti caricati, li suddivide in chunk semantici, genera embeddings vettoriali e li indicizza. Durante l'interazione, il chatbot recupera solo i frammenti rilevanti dal corpus del corso, riducendo drasticamente il rischio di allucinazioni.

Le risposte generate dal chatbot vengono inoltre personalizzate in base allo stile di apprendimento selezionato dallo studente. Verranno quindi trasformare in audio, diagrammi, descrizioni con esercizi ed esempi caso d'uso reali. Questo basandosi sul modello pedagogico VARK.

Contributo tecnico:Ho sviluppato l'intero frontend del configuratore in React, progettato il flusso UX a tre step, e implementato l'integrazione con il backend Python e con Moodle tramite plugin PHP custom. Il chatbot era infatti già stato sviluppato, ma limitato ad una base di conoscenza fissa. Ho integrato il chatbot nel flusso di configurazione del corso e riprogettato la User Experience e User Interface per adattarlo al contesto didattico di WhoTeach.

03 — Design e HCI

Progettazione User-Centered: ridurre il carico cognitivo

Il configuratore è stato progettato seguendo le euristiche di Nielsen e i principi della Gestalt, con l'obiettivo di nascondere la complessità tecnica dietro un'interfaccia intuitiva.


Di seguito vengono presentati i 3 step del configuratore:

1

Impostazioni iniziali e anteprima

Il docente definisce le informazioni principali del corso e del chatbot e osservando un'anteprima della visualizzazione del chatbot. Può inoltre aiutarsi nella compilazione con i pulsanti di AI, che generano dei testi di esempio adatti al suo contesto.

Principi HCI:

  • Riconoscimento > Memorizzazione
  • Prossimità e continuità visiva
  • Validazione progressiva
Configurazione chatbot
2

Argomenti del corso e materiali

Il docente può creare le sezioni del corso visualizzate come delle card. Per ognuna può aggiungere il nome e caricare i materiali di riferimento, che potranno essere visionati dagli studenti e utilizzati dal chatbot per creare le risposte.

Principi HCI:

  • Feedback visivo immediato
  • Validazione progressiva
  • Legge di Prossimità
Upload documenti
3

Programma del corso

Il docente può personalizzare il programma del corso, decidendo quali lezioni pubblicare nei giorni del corso e quindi presentarle agli studenti.

Principi HCI:

  • Controllo e libertà dell'utente
  • Direct manipulation
  • Flessibilità ed efficienza d'uso
Calendario didattico
04 — UI/UX Chatbot

Riprogettazione Chatbot

Il chatbot era già stato sviluppato dal team di Social Thingum, ma presentava una base di conoscenza fissa e un'interfaccia generica non ottimizzata per il contesto educativo.

Ho riprogettato completamente l'interfaccia utente del chatbot per integrarla nell'ecosistema visivo di WhoTeach, la piattaforma LMS basata su Moodle. L'obiettivo era creare un'esperienza coerente e familiare per studenti e docenti.

La prima versione grafica del chatbot.

Prima versione del chatbot

Versione finale del chatbot integrato nel corso creato dal professore.

Visualizzazione finale del chatbot in WhoTeach

Il risultato è un chatbot che non appare come uno strumento esterno, ma come una funzionalità nativa della piattaforma, riducendo la curva di apprendimento e aumentando l'adozione da parte degli utenti.

05 — Architettura

Stack tecnologico e integrazione

Il configuratore AI è composto da un frontend React e un backend in Node.js. Il chatbot è stato sviluppato in Python con pipeline RAG, e un'integrazione diretta con Moodle tramite plugin PHP. I file caricati vengono processati e indicizzati su Google Cloud Storage e ChromaDB.

Frontend

Sviluppato in React con gestione dello stato tramite Redux per sincronizzare upload asincroni con l'interfaccia. WebSocket per feedback real-time durante il processamento.

  • • React.js con TypeScript
  • • Redux per state management
  • • WebSocket per real-time updates
  • • Tailwind CSS

🧠 Backend e AI

Pipeline RAG basata su LangChain. I documenti vengono processati, vettorializzati tramite embeddings e salvati in ChromaDB. Le query recuperano solo il contesto rilevante prima della generazione.

  • • Python / FastAPI
  • • LangChain per RAG pipeline
  • • ChromaDB (vector database)
  • • OpenAI API (GPT-4)

🔌 Integrazione Moodle

Plugin PHP custom per Moodle che espone API REST sicure. Gestisce autenticazione JWT e sincronizzazione bidirezionale tra il configuratore React e il database Moodle.

  • • PHP Moodle Plugin
  • • REST API custom endpoints
  • • JWT authentication
  • • MySQL database sync
06 — Risultati

Impatto misurabile sul processo di configurazione

Il configuratore permette ad un docente di creare il proprio corso e attivare un chatbot immeddiamente disposnibili per i suoi studenti in meno di 10 minuti.

~70%

Riduzione tempo di configurazione corso

24/7

Disponibilità assistente virtuale per studenti

Il sistema RAG garantisce che le risposte del chatbot siano ancorate esclusivamente ai materiali caricati dal docente, riducendo significativamente il rischio di allucinazioni rispetto a LLM generici.

07 — Limiti

Vincoli attuali e roadmap di sviluppo

Il sistema è attualmente in versione development e presenta alcuni vincoli tecnici e progettuali:

Limitazioni attuali:

  • Personalizzazione limitata del comportamento del chatbot
  • Supporto file limitato a PDF (no video, audio, o formati interattivi)
  • Mancanza di analytics dettagliate sulle interazioni studente-chatbot

Sviluppi futuri pianificati:

  • Editing incrementale dei contenuti senza re-processing completo
  • Dashboard analytics per monitorare efficacia del chatbot
  • Supporto multimodale (video, audio, immagini)
  • Schermata di personalizzazione del comportamento del chatbot