Non avevo pianificato di costruire MAI Team. È nato da una frustrazione.
Usavo ChatGPT per scrivere, Midjourney per le immagini, un altro tool per i riassunti, un altro ancora per il codice. Ogni volta dovevo copiare, incollare, riformattare, spiegare il contesto da capo. Perdevo più tempo a gestire i tool che a lavorare davvero.
Un giorno mi sono detto: e se ci fosse un unico sistema che coordina tutto?
L'inizio: un file Python e tanta ingenuità
La prima versione era un singolo script Python che chiamava l'API di OpenAI. Faceva una cosa sola: prendeva un messaggio, lo mandava al modello, e restituiva la risposta. Niente di speciale.
Ma poi ho iniziato ad aggiungere "agenti". Un agente per l'analisi, uno per la scrittura, uno per il codice. Ognuno con un prompt di sistema diverso. E lì ho capito che il concetto funzionava: non un assistente generico, ma specialisti che collaborano.
La scelta dello stack (e i ripensamenti)
Ho cambiato stack tre volte. Prima Python + Flask. Poi Node.js + Express. Infine Next.js + Vercel. Ogni migrazione è stata dolorosa, ma necessaria.
Next.js mi ha dato quello che serviva: API routes per il backend, React per il frontend, deploy istantaneo su Vercel. Il database è passato da SQLite (errore enorme in produzione — non fatelo) a PostgreSQL su Neon.
Il bug più assurdo? SQLite funzionava perfettamente in locale ma crashava su Vercel perché le serverless functions non hanno filesystem persistente. Ho perso due giorni a capirlo.
Il modello AI: perché Groq e non OpenAI
All'inizio usavo GPT-4. Costava troppo. Un utente attivo poteva generare €5-10 di costi API al giorno. Insostenibile per un piano gratuito.
Poi ho scoperto Groq: Llama 3.3 70B con inferenza velocissima e costo quasi zero. La qualità è leggermente inferiore a GPT-4, ma per il 90% dei casi d'uso è più che sufficiente. E soprattutto: posso offrire 30 messaggi gratuiti al giorno senza andare in perdita.
Cosa ho imparato
1. Non aspettare che sia perfetto. MAI Team ha ancora bug. Ma gli utenti che lo usano mi danno feedback reale, che vale più di mesi di sviluppo in isolamento.
2. La sicurezza non è opzionale. Ho dovuto riscrivere l'intero sistema di autenticazione dopo aver scoperto che il JWT secret era hardcoded nel codice. Imbarazzante, ma istruttivo.
3. Multipiattaforma è 3x il lavoro. Web, Desktop (Electron), Mobile (React Native). Ogni bug va fixato tre volte. Ma gli utenti lo apprezzano.
4. L'AI non è magia. Il Team Leader a volte dice cose sbagliate, inventa fatti, o dichiara di aver fatto cose che non ha fatto. Ho dovuto costruire un intero sistema di "no false completion" per evitarlo.
Il progetto è ancora all'inizio. Ma ogni giorno funziona un po' meglio del giorno prima. E questo, per ora, mi basta.