Building Connectus - Scheduling Tool
Building Connectus - Scheduling Tool

Building Connectus - Scheduling Tool

Date
Dec 5, 2025
Connectus è nato da un problema molto concreto che ho vissuto più volte sulla mia pelle: mettere d’accordo persone diverse su un orario o un giorno in cui vedersi. A volte erano call da remoto con team sparsi su più fusi orari, altre volte erano incontri dal vivo, uscite, attività di gruppo. In tutti questi casi la scena era sempre la stessa: mille messaggi in chat, proposte che si accavallano, qualcuno che si perde per strada e nessuno che ha davvero una visione chiara di quando il gruppo è davvero disponibile. Connectus è la mia risposta a questa confusione quotidiana, un piccolo strumento pensato per rendere questa parte del lavoro e della vita molto più semplice.
notion image
 
Dal punto di vista pratico, Connectus è una web app leggera: non richiede registrazione, è gratis e funziona tutto con un link. Chi crea il poll sceglie le date, imposta gli slot orari o la fascia temporale che gli interessa, aggiunge il titolo e una breve descrizione del meeting o dell’attività. Da lì la app genera una tabella che mette in relazione giorni e orari. Ogni partecipante apre il link, scrive il proprio nome e seleziona in modo visivo gli slot in cui è disponibile. Il risultato è una mappa di disponibilità di gruppo che si colora man mano che le persone rispondono, con una heatmap che rende immediato capire quali sono i momenti migliori per tutti.
 
notion image
 
 
Uno degli aspetti a cui tengo di più è la fluidità dell’esperienza. Non voglio che le persone debbano creare account, ricordarsi password o perdere tempo in impostazioni complicate. Apri, crei il poll, condividi il link, raccogli le risposte. Tutto è pensato per essere veloce sia su computer sia su smartphone, con un’interfaccia pulita in blu e bianco che non distrae, ma aiuta a leggere le informazioni al volo. Ho integrato anche la gestione del fuso orario, perché lavorando con team in paesi diversi mi sono reso conto di quanto spesso i malintesi nascano proprio da un “ci vediamo alle 15” che significa tre orari diversi a seconda di chi legge.
 
notion image
Per me Connectus è prima di tutto un attrezzo da lavoro quotidiano, uno di quegli strumenti che non devono essere complicati o spettacolari, ma semplicemente affidabili. Lo uso per coordinare meeting, per pianificare momenti di lavoro sul campo, per organizzare attività con amici e collaboratori. In questa fase non mi interessa che sia perfetto o “grande”, mi interessa che faccia bene una cosa: aiutare gruppi di persone a trovare un momento comune senza perdersi in decine di messaggi e email. Se ti riconosci in questo tipo di caos organizzativo, probabilmente Connectus è esattamente il tipo di piccola app che può alleggerirti la giornata.
 

Testa Connectus e scrivimi cosa ne pensi:

 
notion image
 

⌨️ Development LOG


Connectus v0.1 – Post deployment note Dec 4, 2025 22:00

1. Contesto e intenzione iniziale

Connectus è nato un po’ per gioco, da una curiosità semplice: creare una mia versione di un tool tipo LettuceMeet / Timeful, ma allineata al mio stile. Volevo qualcosa di super leggero, senza login, che potessi usare nei miei team e nei miei progetti senza frizioni.
Ho scelto il nome “Connectus” quasi subito. Poi ho esplorato altri naming, ma alla fine sono tornato a questo perché suonava giusto, e perché nessun altro mi piaceva davvero. Per l’identità visiva ho scelto blu come colore base, con bianco e grigi per il resto, per avere un’estetica pulita, chiara, leggermente premium.
prima versione logo autogenerato
prima versione logo autogenerato
L’obiettivo della v0.1 era semplice: avere una web app funzionante, gratuita, senza account, che risolvesse il problema concreto di trovare uno slot comune tra più persone in piccoli team distribuiti. Il tutto in uno spirito da micro esperimento, ma con una qualità abbastanza alta da poter essere usata sul serio.

2. Cosa ho effettivamente shippato

Stack tecnico
Ho impostato il workflow iniziale in Google AI Studio per farmi aiutare nella struttura del codice
Ho usato GitHub come repo, Netlify (free) per il frontend e Supabase (free) per il backend
Ho collegato il tutto al dominio connectus.icarushub.com come sottodominio del mio hub progetti. Nel codice ci sono ancora riferimenti al dominio precedente che dovrò ripulire
Funzionalità core attuali
  1. Creazione poll
      • Scelgo le date tramite un calendario
      • Scelgo gli spazi di tempo: dalle-alle
      • Scelgo gli slot di tempo: 15, 30 o 60 minuti
      • Imposto il titolo del meeting
      • Il sistema genera una tabella con
        • colonne = giorni selezionati
        • righe = time slot nel range scelto
  1. Partecipazione e selezione disponibilità
      • Ogni persona inserisce il proprio nome
      • Sulla tabella può selezionare gli slot con un drag and drop visivo
      • Le celle selezionate si colorano, così è visivamente comprensibile dove uno è disponibile
  1. Visualizzazione risultati
      • La pagina "view results" mostra una heat map delle disponibilità
      • Più un box è “caldo” più persone sono disponibili in quell’orario
      • I risultati si aggiornano in tempo reale quando altri partecipanti compilano
  1. Condivisione
      • Ogni poll ha un link univoco
      • Posso condividere quel link con team e amici
      • Chi riceve il link può inserire il proprio nome, marcare la disponibilità e contribuire alla heat map
  1. Altro
      • Ho una pagina "How it works" che spiega in pochi step come usare il tool
      • Attualmente i dati di un poll vengono tenuti per 7 giorni dopo l’ultima data selezionata
Stato d’uso
Connectus è online, funziona e l’ho già mandato a un paio di team e amici per farlo testare in casi reali
Non ho ancora fatto nulla lato SEO: niente Search Console, indicizzazione non richiesta, meta ancora da sistemare in modo coerente con il dominio attuale
notion image

3. Cosa ha funzionato bene

  • Sono riuscito a passare da idea a deploy in pochissimo tempo (4 ore circa)
  • Il problema che risolve è chiaro e concreto, quindi lo use case è pulito
  • La UX base è intuitiva: calendario, tabella, drag and drop e heat map si capiscono anche senza spiegazioni lunghe
  • Lo stack Netlify + Supabase + AI + GitHub mi permette di iterare a costo quasi zero
  • L’assenza di login abbassa molto la frizione e va bene per questa fase di sperimentazione

4. Cosa manca o è ancora grezzo

  • Meta e dominio
    • Alcuni canonical e link puntano ancora al vecchio dominio Netlify e non a connectus.icarushub.com. Non ho ancora impostato SEO, né collegato il sito a Search Console
  • Validazioni
    • Al momento è possibile creare poll anche con date nel passato, manca un controllo sulle date future
  • Documentazione interna
    • Non avevo una documentazione interna strutturata, questa nota è di fatto il primo tentativo di mettere in ordine architettura, decisioni e possibili sviluppi

5. Backlog di idee e sviluppi futuri

Già da subito ho iniziato a raccogliere feature, miglioramenti necessari, sviluppi futuri, cose belle da avere, ecc…
MVP improvement (se decido di continuare)
  1. Correzione meta e dominio
      • Aggiornare canonical, Open Graph e tutti i riferimenti ancora puntati al vecchio dominio
  1. Validazione date
      • Impedire la creazione di poll con date anteriori a “oggi”
      • Aggiungere messaggi chiari quando un utente prova a farlo
  1. Contesto del meeting
      • Oltre al titolo, aggiungere una descrizione del meeting, ad esempio agenda in bullet point
      • Riutilizzare questa descrizione anche negli eventuali eventi calendario
Funzionalità avanzate che mi piacerebbe aggiungere
  1. Integrazione Calendar / ICS
      • Selezionare uno slot nella heat map e cliccare “Create meeting”
      • Generare un evento Google Calendar con titolo, descrizione e partecipanti
      • Se i partecipanti hanno inserito l’email, aggiungerli come invitati e inviare l’invito
      • Offrire anche export ICS da scaricare o inviare via mail
  1. Gestione fusi orari
      • Aggiungere un selettore di time zone per chi crea il poll
      • Fare in modo che chi compila e chi consulta i risultati veda gli orari nel proprio fuso orario
      • Di default usare il fuso del browser, con possibilità di modificarlo
  1. Miglioramenti UI
      • Introdurre una differenza visiva tra mattina e pomeriggio, ad esempio background leggermente diverso o una fascia di colore
      • Migliorare ancora la leggibilità della heat map se il numero di partecipanti cresce
  1. Feedback e contatto
      • Aggiungere un form per feedback, suggerimenti e segnalazioni problemi
      • Ha senso solo se decido di aprirlo di più all’esterno
Funzionalità più “Pro”
  1. Login e account
      • Aggiungere login email/password
      • Creare una dashboard con tutti i poll creati dall’utente
      • Possibilità di cancellare o archiviare i poll e, se necessario, di vedere anche quelli scaduti
  1. Retention dati configurabile
      • Ora i poll scadono 7 giorni dopo la data finale
      • Potrei permettere all’utente di scegliere 7, 30, 90 giorni o retention indefinita
      • Potrei legare retention estesa solo agli utenti loggati
  1. Localizzazione
      • Tradurre l’intera app in italiano e spagnolo, oltre all’inglese
      • Sarebbe utile sia per l’Italia sia per progetti esteri

6. Cosa ho imparato da questo giro

  • Posso usare AI, Netlify e Supabase per passare da idea a prodotto funzionante in pochissimo tempo
  • Un nome semplice come Connectus regge bene sia come side project personale sia come potenziale micro prodotto
  • Anche una web app molto semplice, se ben pensata, può già essere utile in contesti reali
  • Prima di investire energia in branding, dominio dedicato e SEO ha senso raccogliere un po’ di utilizzo reale e feedback strutturato

Connectus v0.2 – Post update note Dec 5, 2025 16:10

Contesto e upgrade rispetto alla v0.1

Connectus è nato come un esperimento rapido ieri, e questa mattina, dopo aver raccolto feedback da amici e team che lo stanno già usando, ci ho lavorato per qualche ora. L’obiettivo era migliorare stabilità, usabilità e chiarezza generale, portandolo a una v0.2 che fosse realmente production-ready per il mio uso quotidiano come project manager con team distribuiti.
Il risultato è una versione molto più rifinita, soprattutto dal punto di vista UI/UX e gestione fusi orari, con un workflow di sviluppo molto più maturo.

Nuovo workflow di sviluppo

Ho smesso di avere paura di toccare la codebase e ho organizzato un flusso di sviluppo più sano.
  • Uso Google AI Studio come ambiente di sviluppo
  • Dentro AI Studio posso scrivere, modificare, testare e chiedere aiuto all’assistente AI
  • Da lì vedo la preview in tempo reale e verifico che ogni nuova feature funzioni
  • Quando una modifica mi soddisfa, salvo il progetto e lo pusho su GitHub
  • Su GitHub ora ho tre branch: main, preview e production
  • Preview e production sono collegate a Netlify
    • preview per testare i deploy
    • production per la versione pubblica accessibile agli utenti
Problema logo: AI Studio danneggia i file PNG e ICO durante il push su GitHub. L’SVG funziona benissimo. Per ora ricarico ICO/PNG manualmente nella main
notion image

Feature e miglioramenti implementati in v0.2

UI e UX

  • Grafica generale rinfrescata
  • Migliore gerarchia di pulsanti e componenti
  • Ottimizzazione completa mobile + desktop
  • Copy aggiornati in modo leggero
  • Esperienza utente più pulita in tutti i passaggi

Time zone selection

  • Aggiunta la selezione del fuso orario richiesta già da alcune persone a cui l’ho fatto vedere
  • UI completamente ridisegnata e moderna
  • Campo timezone aggiunto nel database Supabase
  • Aggiornata la logica di frontend e backend per supportare la funzione

Meeting details e risultati

  • Aggiunta la descrizione meeting (agenda, note…) oltre al nome
  • Migliorata l’interfaccia dei risultati, molto più leggibile
  • Aggiunta la funzione di filtro partecipanti
    • posso cliccare su un nome e vedere solo i time slot selezionati da quella persona
  • Raffinato il comportamento tra submit availability e view result per evitare residui di stato

Validazioni e messaggi di errore

  • Aggiunto il controllo per evitare la creazione di poll nel passato
  • Sistemati i link interni che puntavano alle pagine sbagliate
  • Aggiunti messaggi di errore chiari quando manca il nome durante l’invio delle disponibilità

Backend

  • Database Supabase aggiornato con campo timezone
  • Piccoli aggiustamenti tabelle e proprietà
  • Mantengo la logica di retention attuale dei poll

Stato attuale di Connectus v0.2

La v0.2 è, a tutti gli effetti, una versione production-ready per il mio uso reale e quello dei team che la stanno già utilizzando.
  • UI molto più curata
  • Gestione fusi orari integrata
  • Vista risultati più chiara
  • Flow stabile e coerente tra le varie schermate
  • Versioni preview e production gestite in modo professionale
  • Buona stabilità sia su desktop sia su mobile
Non ho ancora integrato funzioni avanzate come login, creazione automatica di eventi o inviti via email. Le considero parte di un’eventuale fase in cui Connectus diventa un prodotto vero.

Prossimi passi possibili per v0.3

  • Aggiunta localizzazione (italiano e inglese)
  • Rifinitura copy se decido di promuoverlo pubblicamente
  • Valutare implementazione futura di:
    • login e dashboard
    • integrazione Google Calendar / ICS
    • flusso “Create meeting” direttamente dalla heat map
    • una bella casella di spunta nella heatmap (con filtro disattivato) e che mostra gli slot dove tutti i partecipanti sono disponibili

Cosa mi porto a casa da questa v0.2

  • Posso iterare su un progetto web reale in cicli brevi e molto concreti
  • La gestione dei fusi orari mi semplifica la vita in modo enorme
  • Avere un flusso di sviluppo ben organizzato (dev → preview → production) riduce ansia e rischi
  • Connectus, anche senza feature avanzate, è già uno strumento utile e utilizzato
  • Il prossimo passo non è scrivere altro codice, ma decidere se trattarlo come un side project personale o un prodotto da far crescere
Questa v0.2 è una base solida, stabile e già utile nella mia vita reale

Connectus v0.3 – Update log Dec 8, 2025 00:34

Terzo giorno effettivo di sviluppo su Connectus, che per comodità sto chiamando versione 0.3
Non è una release “ufficiale”, ma un checkpoint importante perché oggi ho introdotto la dual mode, ripulito parecchio la UI e testato meglio il workflow tecnico tra AI Studio, GitHub e Netlify
Sono ancora incerto sul destino finale di Connectus, se resterà un mio tool personale o diventerà qualcosa di più, ma mi sto divertendo davvero e ogni iterazione lo rende più solido e più mio

Dual mode: Meet Mode e Plan Mode

La novità principale di oggi è la modalità doppia in fase di creazione del poll
  • Meet Mode per trovare specifici time slot
  • Plan Mode per trovare i giorni migliori in cui fare qualcosa insieme
notion image
Ho aggiunto un selettore moderno all’inizio del flow, con card separate e piccola icona di help per spiegare la differenza se non è immediata
In Meet Mode l’esperienza resta quella già nota, con slot orari e tabella
In Plan Mode invece la vista è centrata sul calendario: posso selezionare più giorni anche in drag and drop e la heatmap finale viene generata su base giornaliera, non oraria
notion image
L’obiettivo di questa feature è aprire Connectus non solo ai meeting, ma anche a viaggi, on-site work, workshop e piani di gruppo più ampi

UI, UX e piccoli miglioramenti visivi

Oltre alla dual mode ho lavorato parecchio sulla resa visiva
  • Hero e copy aggiornati: “The simplest way to pick a date or time together”
  • Card di Meet Mode e Plan Mode con microcopy chiari (“Specific times” e “Whole days”)
  • Calendario migliorato, con possibilità di selezionare più giorni in modo naturale
  • Tabella degli slot ora separa visivamente i giorni non consecutivi, così è chiaro quando si passa a una nuova settimana
  • Heatmap su calendario e heatmap su tabella sono entrambe funzionanti e coerenti nel look and feel
Ho anche rivisto la pagina How it works per allinearla al nuovo flusso con le due modalità e per mantenere il tono semplice e leggero che voglio per Connectus
 
la nuova vista slot tempo tagliata dagli intervalli di giorni non consecutivi
la nuova vista slot tempo tagliata dagli intervalli di giorni non consecutivi

Workflow tecnico e problemi con le immagini

Il workflow dev continua a essere questo: AI Studio come ambiente di sviluppo a quattro mani con Gemini, push su GitHub, poi deploy su branch di preview e production su Netlify
Oggi ho risolto meglio il problema fastidioso delle immagini danneggiate
  • AI Studio tende a trattare i file immagine come binari in modo strano quando li pusho su GitHub
  • Ho risolto con un .gitignore mirato per i file di immagine e una nota in markdown interna per l’AI, così può comunque usare i path anche se i file non sono gestiti da AI Studio
  • Le immagini “vive” ora sono direttamente su GitHub e il flusso di deploy è molto più stabile
La versione che si vede nello screenshot, con la dual mode attiva, al momento è solo una preview e non ancora in production
La sto condividendo con qualche persona di fiducia per raccogliere feedback prima dello switch “ufficiale”

Strumenti di testing e fix minori

Ho aggiunto una funzione temporanea di ricerca poll tramite ID, utile per testare rapidamente poll già esistenti dall’ambiente AI Studio senza doverli creare ogni volta da zero, dato il non inserimento link
Questa feature è pensata solo come supporto al beta testing e verrà rimossa o nascosta non appena la base sarà abbastanza stabile
Altri fix sparsi
  • Iterazioni sulla UI finché non sono arrivato a una versione che mi soddisfa davvero
  • Refinement del comportamento del calendario quando si mescolano giorni di settimane diverse
  • Controlli generali sull’esperienza mobile e sui piccoli dettagli di spacing e gerarchia visiva

Stato attuale e sensazioni

Connectus continua a essere un esperimento aperto, non ho ancora deciso se diventerà un prodotto vero o resterà un mio strumento personale, però ogni volta che aggiungo una feature come la dual mode mi sembra di avvicinarmi a qualcosa che ha davvero un suo perché
Per ora mi basta questo: un tool che cresce, che uso, che mi diverte da sviluppare e che ogni giorno si avvicina di più a quella versione di “organizzare le persone è facile” che avrei voluto avere in Guatemala con il foglio di carta e i post-it.
Se vuoi sapere la storia clicca su:
⌨️
Come ho costruito una web app in quattro ore

Connectus v0.4 e 0.5 – Update log Dec 9, 2025 22:05

Contesto

Oggi ho lavorato pochissimo su Connectus,solo sera dopo lavoro, ma in realtà questo log chiude idealmente due step importanti:
  • v0.4: la release della funzione di editing delle disponibilità + FAQ + piccoli fix
  • v0.5: quella che ho chiamato internamente “Connectus Reborn”, dove ho finalmente sbloccato il problema dei media e sistemato il workflow tecnico in modo più pulito
Sono ancora indeciso sul destino di Connectus (prodotto autonomo o tool in casa Icarus Hub), ma continuo a divertirmi molto a svilupparlo e a rifinirlo.

v0.4 – Edit availability, FAQ e piccoli fix

La novità principale di questa iterazione è la possibilità per ogni persona di modificare le proprie disponibilità, cosa che prima non era possibile.
Prima il sistema usava il nome come chiave di riferimento: questo significava che due persone con lo stesso nome si “sovrascrivevano” a vicenda. Ora ogni partecipante è legato a un token univoco, così posso avere anche due “Giovanni” con disponibilità diverse, sia in Meet Mode sia in Plan Mode.
Dal punto di vista UX, il flusso è questo:
  • dalla schermata Results un partecipante può selezionare se stesso nella lista
  • si applica il filtro con i suoi slot selezionati
  • si apre una sezione di editing responses dove può modificare la propria risposta
  • al salvataggio, la disponibilità viene aggiornata in tempo reale nella heatmap
È una feature piccola ma molto potente nella pratica, e funziona davvero bene.
In parallelo ho:
  • creato e aggiornato la sezione FAQ sul sito, per spiegare le basi di Connectus (no login, meet vs plan, time zone, ecc.)
  • fatto qualche micro ottimizzazione di UI, senza cambiare il layout in modo drastico
Un feedback interessante di un amico riguardava la funzione di ricerca: l’avevo messa in navbar come “Find a poll”, ma in realtà funziona solo con l’ID univoco del poll, non con il nome della persona.
Questa funzione serve più a me per il testing da AI Studio che agli utenti finali. Per evitare fraintendimenti:
  • ho tolto la voce dalla navbar
  • l’ho spostata nel footer come “Find poll by ID”
  • l’ho messa dentro un piccolo pop-up che ripete chiaramente che la ricerca avviene solo per ID
L’idea è semplice: nel footer non ci guarda quasi nessuno e la funzione resta disponibile per il debugging senza creare confusione nell’uso normale.

v0.5 – “Connectus Reborn” e gestione media

La parte più frustrante degli ultimi giorni è stata il problema con il push da AI Studio a GitHub dopo aver aggiornato il .gitignore e rimosso alcune immagini.
Il collegamento si è rotto: errori server, push bloccati, nessuna modifica che passava. Ho perso parecchio tempo cercando di capire cosa fosse successo.
La radice del problema è il modo in cui AI Studio gestisce i file immagine, trattandoli come binari in un modo che andava in conflitto con il repo.
La soluzione che ho adottato oggi è stata:
  • creare una copia del progetto
  • spostare tutti i media e gli asset in un bucket di storage su Supabase
  • usare i link del CDN Supabase direttamente nel codice per le immagini
In questo modo:
  • AI Studio ora gestisce solo la codebase, senza doversi occupare dei media
  • GitHub rimane il punto di verità per il codice e il versioning
  • Supabase funge da CDN esterno per le immagini
  • Netlify continua a gestire il deploy con la solita struttura:
    • main collegata ad AI Studio
    • preview per i test
    • production collegata al sito live
Ho aggiornato Netlify con questa “nuova” versione e, a tutti gli effetti, è qui che nasce la mia v0.5, che ho chiamato internamente Connectus Reborn: stessa app, ma con un’infrastruttura finalmente pulita e stabile sul fronte media.

Stato attuale e prossimi passi

Ad oggi ho:
  • Meet Mode e Plan Mode stabili
  • FAQ, microcopy e UI in uno stato che regge bene una versione pubblica
  • possibilità per ogni partecipante di aggiornare le proprie disponibilità
  • workflow tecnico AI Studio → GitHub → Netlify + Supabase CDN che finalmente non si rompe sulle immagini
Resta aperta la decisione strategica sul dominio:
  • continuare con il sottodominio di Icarus Hub
  • oppure investire in un dominio dedicato solo a Connectus
Probabilmente prenderò questa decisione dopo aver raccolto un po’ di feedback in più.
Intanto, con la 0.5, ho tra le mani una versione che potrei tranquillamente raccontare in pubblico come “prima release utilizzabile” di Connectus.
 
 
 
 

Ritorna a:
Progetti & Esperimenti
Progetti & Esperimenti