Il problema: il self check-in è ancora un casino
Chiunque abbia gestito un B&B, un appartamento in affitto breve o una struttura ricettiva conosce bene la scena: ospite in arrivo alle 23:00, proprietario che deve essere presente fisicamente, chiave lasciata sotto lo zerbino o in una cassettina a combinazione con il codice inviato via WhatsApp mezz'ora prima.
Non è un problema di tecnologia. È un problema di sistema.
Le soluzioni sul mercato — quelle pensate davvero per chi gestisce strutture — o costano quanto un dipendente a tempo pieno, o sono così rigide da non adattarsi alle esigenze reali di un piccolo gestore indipendente. E l'hardware? Spesso venduto separatamente, senza alcuna integrazione con il software di gestione.
Da questo problema nasce Nanukey.
Il progetto: un sistema di controllo accessi smart per strutture ricettive
Nanukey è una piattaforma SaaS che ho sviluppato per digitalizzare completamente il processo di accesso e check-in nelle strutture ricettive. L'idea di partenza era semplice: un ospite dovrebbe poter entrare nella struttura senza che il proprietario sia presente, senza chiavi fisiche, senza WhatsApp, senza stress.
La soluzione, invece, non era semplice per niente.
Le sfide tecniche che abbiamo risolto
Integrare software e hardware: il nodo centrale
La prima sfida è stata l'integrazione con i lucchetti smart WeLock. Non si trattava di collegare un'API a un servizio web — stavo lavorando con hardware fisico che doveva rispondere in tempo reale a comandi generati dalla piattaforma.
Ho sviluppato un token manager dedicato (token_manager.php) che gestisce in modo dinamico le credenziali WeLock per ogni cliente della piattaforma. Ogni struttura ha i propri appID recuperati in tempo reale tramite join con la tabella welock_accounts. Questo significa che un unico sistema serve decine di gestori diversi, ognuno con la propria configurazione hardware, senza interferenze.
Architettura multi-tenant
Nanukey non è pensato per un singolo cliente: è una piattaforma. Ogni gestore ha il proprio spazio, i propri dispositivi, i propri utenti. L'architettura multi-tenant ha richiesto di ripensare ogni singola query e ogni logica di accesso in ottica di isolamento tra i tenant.
Il risultato è un sistema dove un gestore non può — nemmeno per errore — vedere o modificare i dati di un altro.
La gestione dei tecnici sul campo
Le strutture ricettive non esistono nel vuoto: servono interventi tecnici, installazioni, manutenzioni. Ho costruito una webapp dedicata ai tecnici con una macchina a stati completa:
programmato → presa in carico → in corso → completato / rifiutato
Ogni transizione di stato è tracciata, ogni intervento documentato. Il gestore vede in tempo reale cosa sta succedendo, senza dover chiamare nessuno.
Abbonamenti e ciclo di vita del cliente
La piattaforma gestisce autonomamente il ciclo di vita degli abbonamenti tramite Stripe: attivazione, rinnovo, scadenza, riattivazione. Ho integrato anche un portale clienti direttamente nella piattaforma, così ogni gestore può gestire il proprio abbonamento senza passare da noi.
I cron job si occupano di tutto ciò che deve succedere in automatico: password temporanee in scadenza, promemoria, gestione degli stati. Ogni esecuzione viene loggata in cron_logs, con un visualizzatore admin per il monitoraggio.
Certificati e documentazione digitale
Per gli interventi tecnici, ho integrato la generazione di certificati PDF tramite WeasyPrint. Documenti formattati, con logo, dati dell'intervento, firma digitale — generati automaticamente al completamento di ogni intervento e archiviati sulla piattaforma.
Cosa abbiamo costruito, concretamente
- Pannello admin completo — gestione strutture, dispositivi, utenti, tecnici, abbonamenti, log
- Webapp tecnici — con macchina a stati per gli interventi, accessibile da mobile
- API WeLock integrata — apertura porte remota, codici temporanei, gestione accessi
- Sistema Stripe — abbonamenti ricorrenti, portale clienti, webhooks
- Generazione PDF certificati — via WeasyPrint, archiviazione automatica
- Chat admin real-time — comunicazione diretta tra piattaforma e gestori
- Cron jobs con logging — automazioni con tracciabilità completa
- Landing page e blog — presenza web coordinata con il prodotto
Stack tecnico: PHP, MySQL, Bootstrap 5, WeLock API, Stripe, WeasyPrint, Docker per lo sviluppo locale.
Il risultato
Nanukey risolve un problema concreto che migliaia di gestori di strutture ricettive affrontano ogni giorno. Non è un'app generica "per il turismo" — è uno strumento costruito attorno a un processo specifico, con ogni pezzo — software e hardware — che parla con gli altri.
Il self check-in smette di essere un workaround artigianale e diventa un sistema affidabile, tracciabile, scalabile.
Cosa puoi imparare da questo progetto
Se stai pensando a un progetto simile — software che integra hardware, piattaforme multi-tenant, sistemi di accesso — ci sono alcune cose che ho imparato lavorando su Nanukey:
La fase di analisi hardware è non negoziabile. Prima di scrivere una riga di codice, ho passato settimane a studiare le API WeLock, testare i dispositivi fisici, capire i limiti e le possibilità dell'hardware. Saltare questa fase avrebbe significato costruire su fondamenta traballanti.
Il multi-tenant cambia tutto. Non è una funzionalità che si aggiunge dopo — è una decisione architetturale che va presa all'inizio e che impatta ogni parte del sistema.
I processi automatici devono essere osservabili. Ogni cron job, ogni webhook, ogni automazione deve lasciare una traccia. Quando qualcosa va storto (e prima o poi succede), devi poter capire cosa è successo e quando.
Hai un progetto simile?
Se gestisci una struttura ricettiva e vuoi sapere se Nanukey fa al caso tuo, visita nanukey.it.
Se invece hai un'idea di prodotto che richiede l'integrazione tra software e hardware — o stai pensando a una piattaforma SaaS per un settore specifico — parlami del tuo progetto.