RestInOne — Come ho costruito un SaaS per ristoranti
Marzo 2026: prima fattura RestInOne. Ottobre 2025: prima riga di codice. Ecco come ho fatto, da solo, in 6 mesi. Un SaaS gestionale multi-tenant con agente AI vocale italiano, billing Stripe live, 2 ristoranti paganti a Roma.
Sofia AI
Team agenti vocali IT
€79–199
Pricing mensile
180gg
Time-to-market
1
Founder solo
Il problema
Il ristoratore italiano medio gestisce la sua attività con 6–10 software diversi che non si parlano: Zucchetti o Cassa in Cloud per la cassa, Fattureinclick per la fatturazione elettronica, TheFork per le prenotazioni online, Glovo o Deliveroo per il delivery, un foglio Excel per il magazzino, WhatsApp manuale per i clienti, un sito WordPress fermo al 2019, ricevute cartacee per l'HACCP.
Il costo cumulato di questi strumenti varia tra €300 e €500 al mese. Ogni software ha la sua interfaccia, le sue credenziali, i suoi aggiornamenti, le sue commissioni. La friction operativa è enorme: il proprietario passa più tempo a copiare dati tra sistemi che a curare il menu o i clienti.
Quando ho iniziato a parlare con i ristoratori romani nell'estate 2025, la frase più ripetuta era: "Vorrei un sistema unico che faccia tutto, ma quelli grossi costano una fortuna e quelli piccoli non parlano italiano."
C'è un secondo problema che pesa quanto il primo: il telefono. Un ristorante medio riceve 30–60 chiamate al giorno, di cui buona parte fuori dagli orari di servizio o durante i picchi quando nessuno può rispondere. Ogni chiamata persa è una prenotazione persa, un cliente che va dalla concorrenza, una recensione mancata. I servizi di segreteria umana costano 200–400€ al mese e non sanno consigliare il menu. Le centraliniste IVR tradizionali (premi 1, premi 2) frustrano i clienti. Serviva qualcosa di completamente diverso.
La soluzione: anti-Zucchetti
RestInOne è il mio anti-Zucchetti: un solo sistema invece di dieci. Multi-tenant nativo costruito su Next.js 16, Drizzle ORM con Postgres Neon serverless, billing Stripe end-to-end, deploy Docker + Traefik su VPS Hostinger self-managed. Sviluppato in Italia per ristoranti italiani.
Il prodotto include 27+ moduli attivi che coprono l'intero ciclo operativo del ristorante: POS Sala con regola dei tre tocchi (Piatto → Variante → Conferma), KDS cucina Kanban con SSE real-time, cassa con split conto e integrazione Stripe + SumUp + Satispay, prenotazioni con auto-reminder 24h e 2h, anti no-show con auto-blacklist dopo 3 assenze, magazzino AI con OCR fatture, HACCP con checklist temperature ed export ASL, menu pubblico con editor inline, CRM clienti con loyalty 3 tier, marketing campaigns segmentate, reviews auto-filtering 4–5 stelle pubblico e 1–3 stelle privato.
L'onboarding di un nuovo tenant richiede 24 ore con un comando: npm run tenant:onboard. Ogni ristorante ha il suo subdominio dedicato (gestionale-nomeristorante.e-quipe.app), il suo voice agent configurato, la sua knowledge base, il suo branding.
Sofia, l'agente vocale
Sofia è il brand del voice agent di RestInOne ed è il vero game-changer competitivo. Risponde al telefono e su WhatsApp 24 ore su 24, parla italiano naturale (anche dialetto romano), prende prenotazioni, manda il link del menu, controlla disponibilità, gestisce allergeni, richiama clienti VIP. Non è un chatbot: è un agente conversazionale vocale completo.
L'architettura è basata su ElevenLabs Conversational AI nativo: ogni tenant ha un proprio agent_id configurato nella tabella tenants, con voce dedicata, knowledge base verticalizzata e 27+ tool registrati come webhook Next.js. I tool coprono tutto: send-menu-link, check-availability, create-booking, get-allergens, recall-customer, suggest-pairing. La pipeline TTS opzionale include OpenAI TTS-1, Whisper STT, Deepgram come fallback.
Trattoria del Colle in 4 settimane di Sofia attiva: 47 chiamate gestite a settimana, +23% prenotazioni late evening (dopo le 21:30) intercettate quando il proprietario era in cucina, zero chiamate perse, copertura 24/7 inclusi i giorni di chiusura.
La concorrenza italiana sul voice agent verticale è praticamente zero. I player USA (Slang.ai, Newo) non parlano italiano in modo naturale. I voicebot italiani esistenti (banche, telco) suonano sintetici e non gestiscono dialoghi complessi. Sofia parla con la cadenza giusta, fa pause naturali, capisce "dopocena" e "intorno alle nove e mezza" senza inciampare.
Sotto il cofano ogni interazione di Sofia e tracciata: durata chiamata, tool invocati, esito (prenotazione confermata, info menu, callback richiesto), trascrizione completa salvata su Postgres con embedding pgvector per ricerca semantica futura. Questo dataset diventa carburante prezioso per migliorare la knowledge base nel tempo. Ogni settimana esamino le 10 conversazioni con il punteggio di soddisfazione piu basso, identifico il gap nella KB o nel prompt, e rilascio l'aggiornamento al voice agent in 5 minuti via dashboard ElevenLabs. E un loop di miglioramento continuo che nessun software gestionale tradizionale puo offrire.
Stack tecnico completo
RestInOne è composto da 3 progetti Next.js separati che condividono lo stesso database Postgres Neon: dashboard-trattoria (gestionale cliente, Next.js 15.1 + React 19 + Capacitor Android per la app), dashboard-restinone (super-admin E-quipe, Next.js 16.2), sito Risto Plus 2 (marketing B2B con GSAP e Three.js). Tutto su Drizzle ORM 0.36–0.45 per type-safety end-to-end e migrazioni versionate.
L'orchestrazione automazioni gira su n8n self-hosted (n8n.srv1352958.hstgr.cloud) con 10 workflow production: WhatsApp inbound, voice routing, AI engine, booking, reminder, QR menu, review filtering, referral, loyalty, campaign. Il bridge WhatsApp è custom su Meta Cloud API (whatsapp-api.e-quipe.app), gateway AI ibrido Ollama locale + OpenRouter cloud con fallback bidirezionale.
L'infrastruttura è interamente self-managed: VPS Hostinger srv1352958, Docker Compose, Traefik come reverse proxy, Cloudflare DNS, wildcard SSL su *.e-quipe.app. No Vercel, no AWS, no managed Kubernetes. Sentry per il monitoring errori in produzione, GlitchTip self-hosted come backup.
Il deploy avviene via rsync + docker compose down/up con un singolo script bash che impacchetta build Next.js standalone, copia gli artefatti sul VPS, ricarica i container e fa health-check del nuovo stato. Tempo medio di deploy: 90 secondi. Rollback in 30 secondi tornando al tag Docker precedente. La app Android di RestInOne è compilata via Capacitor con firma release, distribuita ai ristoratori come APK diretto via WhatsApp invece che attraverso il Play Store, accelerando il ciclo di rilascio. Tutta la documentazione tecnica e le runbook operative sono versionate in markdown nei repository, niente Confluence, niente Notion sparso.
Pricing & business model
Il pricing è strutturato a tier crescenti per coprire ristoranti dal piccolo (1 sede, volumi bassi) al medio-strutturato (multi-sede, volumi alti, marketing aggressivo). Tutti i tier includono Sofia AI: cambia la profondità dei moduli e il volume di chiamate gestite incluse.
| Sofia (entry) | €79/mese | Database + Sofia AI base, 300 prenotazioni/mese |
| Sofia Pro | €159/mese | WhatsApp marketing, KDS cucina, loyalty, analytics |
| Sofia Max | €199/mese | Sito web incluso, magazzino AI completo, account manager |
| Add-on sito web | +€59/mese | Multi-pagina, Sofia integrata, SEO ristorante |
Setup incluso per i primi 30 clienti come incentivo di lancio. Il modello di unit economics regge: con infrastruttura sotto i 100€/mese fino a 10 tenant, anche 5 clienti sul piano Sofia base ripagano i costi vivi e iniziano a generare margine operativo netto.
Lessons learned
1. Un founder solo può sostenere un SaaS multi-tenant con AI sotto. Sei mesi fa avrei detto di no. Oggi RestInOne gira su 2 tenant production con uptime 99.7%, billing automatico, monitoraggio errori, deploy continui. Il segreto è automatizzare ogni cosa che non è creazione di valore: deploy rsync + docker compose, alert Sentry su Telegram, report serale automatico via WhatsApp.
2. Verticale > orizzontale, sempre. "Tutto per tutti" è il modo più veloce per non vendere a nessuno. RestInOne fa una cosa sola: ristoranti italiani. Cucina romana, trattorie, osterie. Il copy, il pricing, le feature, le campagne sono tarate su quel target preciso. Il risultato è che quando un ristoratore vede la demo dice "è fatto per me" in 30 secondi.
3. Self-hosted infra batte Vercel quando vuoi margini. Vercel è comodissimo per prototipare, ma a regime divora i margini di un SaaS B2B sub-€200/mese. VPS Hostinger a 25€/mese + Docker + Traefik regge tranquillamente 10 tenant production con headroom. Quando si scalerà oltre 50 tenant si valuteranno shard regionali, non Vercel.
4. Stripe billing in 3 giorni vs 3 mesi di custom. La tentazione di costruire billing custom era forte. La decisione di usare Stripe Checkout + Customer Portal + Webhook è stata la scelta che ha salvato 2 mesi di sviluppo. Tre endpoint Next.js (checkout, webhook, portal), tabella subscriptions su Postgres, fatto.
5. Voice agent italiano = competizione zero. La barriera linguistica è un fossato difensivo enorme. ElevenLabs ha voci italiane di livello cinematografico, la knowledge base è in markdown italiano, i tool rispondono in italiano. Nessun competitor americano o tedesco replica questa naturalezza in tempi brevi.
6. Distribuzione > prodotto, sempre. Il prodotto perfetto senza distribuzione vale zero. Ho speso piu tempo del previsto a parlare con i ristoratori, a fare demo dal vivo, a sedermi in cucina con il proprietario alle 11 di mattina prima del servizio. Le vendite B2B SaaS in Italia non si fanno con annunci LinkedIn: si fanno con presenza fisica, referenze incrociate tra ristoratori, e il primo cliente che diventa testimonial per il secondo. Trattoria del Colle ha portato Er Mandriano, e il prossimo cliente arrivera dalla rete di entrambi.
7. Misura tutto, ma comunica solo quello che cambia decisioni. La dashboard super-admin di RestInOne ha 40+ metriche potenziali, ma nel report quotidiano che ricevo via WhatsApp ce ne sono solo 5: MRR, churn risk, errori critici delle ultime 24h, prenotazioni totali del giorno, sentiment medio delle conversazioni Sofia. Tutto il resto e rumore. La disciplina nel non guardare metriche inutili e forse la skill piu sottostimata in chi costruisce SaaS da solo.
Cosa significa per te
Se sei arrivato qui in fondo, probabilmente non sei un ristoratore. Sei un imprenditore, un consulente, un founder che ha letto questo case study chiedendosi: "e se avessi qualcosa di simile per il MIO settore?"
Il blueprint di RestInOne è clonabile. Il pattern voice agent + dashboard multi-tenant + billing Stripe + n8n automation è esattamente quello che vendo come servizio. Lo adatto al tuo verticale in 60 giorni.
Ho già preparato 4 verticali di partenza che puoi visitare adesso: Sofia per ristoranti (questo case), Marco per studi medici (prenotazione visite, recall pazienti, GDPR-ready), Lia per agenzie immobiliari (qualifica lead, prenotazione visite immobili), Aldo per officine meccaniche (appuntamento revisione, recall tagliando).
Non ti vendo un'idea o un wireframe. Ti adatto un sistema che gira già in produzione, con Stripe live, con onboarding di 24 ore, con monitoring h24. La differenza tra parlare di SaaS e averne uno in produzione la sento ogni mattina alle 8 quando arriva il report serale dal dashboard. Vedi tutto su restinone.com.
La timeline tipica di un nuovo verticale clonato dal blueprint RestInOne è scandita: settimana 1–2 discovery del settore (workflow, normative, integrazioni obbligatorie), settimana 3–4 setup multi-tenant + auth + billing Stripe, settimana 5–6 integrazione voice agent ElevenLabs con knowledge base verticale, settimana 7–8 dashboard operativa con i moduli core del settore, settimana 9 deploy staging + onboarding cliente pilota, settimana 10–12 tuning e iterazione. Al giorno 60 hai un MVP che fattura. Non è promessa: è la stessa pipeline che ho usato per RestInOne, già documentata e ripetibile.
Il pricing del servizio è chiaro: setup chiavi in mano tra €8.000 e €18.000 in base alla complessità del settore (numero di moduli, integrazioni esistenti, complessità del voice agent), più un canone mensile di gestione e hosting tra €150 e €400/mese. Tu mantieni il 100% del prodotto, dei dati e dei clienti. Io ti consegno codice sorgente, infrastruttura documentata, runbook operative e training del team. Niente lock-in, niente vendor proprietari, niente clausole di esclusiva.
I settori per cui questo blueprint funziona meglio condividono tre caratteristiche: hanno un volume di telefonate inbound significativo (clienti che chiedono info, prenotano, prendono appuntamenti), hanno workflow ripetitivi documentabili in una knowledge base, hanno un cliente finale poco tecnico che apprezza il fattore voce e linguaggio naturale. Studi medici, agenzie immobiliari, officine, centri estetici, cliniche veterinarie, palestre, scuole di formazione, agenzie di viaggio, cliniche dentali, asili privati: tutti candidati ideali. Se il tuo settore rientra in questa famiglia, il lift in conversion rate e in efficienza operativa che vedrai e tipicamente del 25–40% nei primi 90 giorni post-lancio.
La call introduttiva da 30 minuti e il modo migliore per capire se ha senso lavorare insieme. Mi serve sapere tre cose: che processo specifico vuoi automatizzare per primo, quanti clienti unici hai oggi nel target verticale, e qual e il tuo orizzonte temporale. Se la risposta e "voglio testare nei prossimi 60 giorni con almeno un cliente pilota disposto a pagare", siamo allineati. Se invece e "sto valutando opzioni a 12 mesi", probabilmente non sono la persona giusta in questo momento. Preferisco partire stretti e crescere bene.
Domande frequenti su RestInOne
Quanto è costato sviluppare RestInOne?
Il costo principale è stato il tempo: 6 mesi di sviluppo full-time da solo, equivalenti a circa 35.000–45.000€ se valutati a tariffa freelance. I costi vivi sono stati contenuti: Neon Postgres tier free per i primi mesi, VPS Hostinger 25€/mese, dominio, account ElevenLabs ~22€/mese, n8n self-hosted gratis, Stripe pay-as-you-go. Totale infrastruttura sotto i 100€/mese fino a 10 tenant.
Dove posso vedere RestInOne in azione?
Il sito ufficiale è restinone.com, lì trovi demo del dashboard, dettagli su Sofia (il team di agenti AI vocali italiani che gestisce le chiamate del ristorante), pricing dei tre tier e tutte le funzionalità della piattaforma. Per una demo guidata sul tuo caso specifico, scrivimi dalla pagina contatti.
Posso averne uno simile per il mio settore?
Sì. Il pattern architetturale di RestInOne è clonabile e adattabile in 60 giorni: voice agent ElevenLabs verticalizzato sul tuo dominio, knowledge base markdown, tool webhook Next.js, dashboard multi-tenant Drizzle + Postgres, billing Stripe. Ho già preparato 4 verticali di partenza: Marco per studi medici, Lia per immobiliari, Aldo per officine, Sara per estetica. Serve una call iniziale per capire workflow e dati del tuo settore.
Quanto tempo serve per costruire un SaaS verticale come questo?
Per il primo MVP funzionante con voice agent + dashboard + billing servono 60–90 giorni. RestInOne ha richiesto 6 mesi perché era la prima volta che integravo tutto lo stack: ora il blueprint è battle-tested e replicabile. Setup iniziale in 30 giorni (auth, db, billing, deploy), integrazione voice agent in 20 giorni, knowledge base e training in 10 giorni, fase beta con 1–2 clienti pilota in altri 30 giorni.
È scalabile? Cosa succede con 100 tenant?
L'architettura è multi-tenant database-shared con tenant_id su ogni tabella, scalabile orizzontalmente fino a 500–1000 tenant senza modifiche significative. Postgres Neon scala automaticamente storage e compute. Il vero collo di bottiglia non è tecnico ma operativo: customer success, onboarding, supporto. Per quello tier Sofia Max include account manager dedicato. Oltre i 200 tenant si introduce un team customer success e si separa il database in shard regionali.
Vuoi un SaaS verticale come RestInOne?
Lo costruisco per il tuo settore in 60 giorni. La prima call è gratuita: parliamo di workflow, dati, voice agent e timeline reali.
Prenota call gratuita →