Ho costruito un gestore di attività vocale con IA in 650 commit — cosa ho imparato
6 mesi fa, ho avuto un'idea. A casa eravamo in 4 con pezzetti di carta sul frigorifero per la spesa. Al club di immersione, tutto passava tramite WhatsApp — impossibile trovare qualcosa.
Oggi, TAMSIV è un'app Android completa con un assistente vocale IA, gruppi collaborativi, un'agenda, gamification e parla 6 lingue. Oltre 650 commit. Sviluppo in solitaria.
La pipeline vocale
Il cuore di TAMSIV è la voce. Premi, parli, l'IA capisce e crea l'attività. Sotto il cofano:
- Deepgram per lo Speech-to-Text (streaming con VAD)
- OpenRouter per il LLM (oltre 400 modelli, fallback automatico)
- OpenAI TTS per la sintesi vocale (voce "nova")
Tutto connesso tramite WebSocket con autenticazione JWT. L'audio PCM 16kHz mono parte dal telefono, attraversa il backend e ritorna sotto forma di risposta vocale strutturata.
Lo stack
- Frontend: React Native 0.81 (TypeScript), New Architecture (Fabric)
- Backend: Node.js/Express + WebSocket
- Database: Supabase PostgreSQL con 3 schemi
- Sito web: Next.js 16, Tailwind CSS 4, Vercel
Le funzionalità che hanno richiesto più tempo
La collaborazione è stata la sfida più grande. Gruppi gerarchici a 6 livelli, ruoli, checklist con convalida, tracciamento della lettura, assegnazione. 31 policy RLS.
L'agenda con ricorrenza è stata sorprendentemente complessa. I LLM non sono bravi con le date — è stato necessario costruire una tabella di corrispondenza.
La gamification: 12 livelli, 10 badge, serie fino a 365 giorni, sfide quotidiane, classifica. Uno schema dedicato con 5 tabelle e trigger automatici.
Gli errori
Ho passato 6 mesi senza fare alcun marketing. 650 commit e nessun post per parlarne. Non fatelo.
Ho anche sottovalutato l'i18n. Passare dal 100% francese a 6 lingue ha interessato 35 file e 1993 chiavi di traduzione.
Il futuro
TAMSIV è in alpha sul Play Store. 12 tester. Il prossimo obiettivo: la produzione pubblica. Se siete sviluppatori solitari e siete indecisi — fatelo. Il primo commit è il più difficile.