RouterSync. Caso studio: un'app su Mac, iPhone, Android e Windows

Un travel router tiene i tuoi dispositivi su una rete privata in hotel e negli appartamenti, ma per collegarlo devi riscrivere la password del Wi-Fi dell'hotel nella pagina di amministrazione del router. RouterSync lo fa con un tocco. L'abbiamo progettato, costruito per quattro piattaforme e abbiamo impostato i processi che lo pubblicano.

In breve

Il nostro ruolo
Prodotto, design, codice, pubblicazione
Piattaforme
Mac, iPhone, Android, Windows
Fatto con
Swift e SwiftUI, Kotlin, Jetpack Compose, Compose for Desktop
Tempi
Primo commit il 15 ottobre 2026, versione 1.0 cinque giorni dopo
Stato
Anteprima per Mac da scaricare; iPhone in revisione sull'App Store; Android e Windows in prova
RouterSync su iPhone e nella barra dei menu del Mac: il cartello corallo dice Hotel Roma verso GL-Beryl-AX, con il pulsante per passare la rete al router e le reti salvate sotto
iPhone e l'app nella barra dei menu del Mac, in modalità dimostrativa: Hotel Roma è una rete inventata.

Contesto

Chi viaggia spesso porta con sé un piccolo travel router, di GL.iNet o con OpenWrt, per mettere tutti i dispositivi dietro una rete propria in hotel, negli appartamenti e nei coworking.

Ogni posto nuovo è la stessa fatica: trovare nome e password della rete, aprire la pagina di amministrazione del router, cercare, incollare, aspettare. Di solito dal telefono, in un pannello pensato per una scrivania.

Il problema

Il telefono o il Mac conoscono già la rete, e il Mac ne conosce anche la password. Bisognava passarla al router senza costringere nessuno a capire le modalità ripetitore, poi verificare che il router fosse davvero online prima di dire che aveva funzionato.

E doveva sembrare un solo prodotto su quattro piattaforme con regole molto diverse su Wi-Fi, password e lavoro in background.

Vincoli

Ogni sistema protegge il Wi-Fi a modo suo

Il Mac può leggere una password salvata dal Portachiavi. L'iPhone no, quindi la password si incolla una volta o si legge da un codice QR del Wi-Fi. Windows legge il profilo salvato; su Android si scrive, si incolla o si inquadra.

Permesso di posizione

Su Mac e iPhone il nome della rete è visibile solo con l'accesso alla posizione, quindi l'app deve chiederlo e spiegare perché.

Due famiglie di router

I router GL.iNet parlano un'API locale con accesso a sfida; OpenWrt parla ubus. Una modifica che rende il router irraggiungibile deve annullarsi da sola.

Pagine di accesso degli hotel

Un captive portal richiede comunque un dispositivo dietro il router. L'app riconosce la pagina di accesso e la apre, invece di fingere di risolverla.

Il nostro ruolo

Definizione del prodotto, design dell'interazione e visivo, le app su tutte e quattro le piattaforme, i driver dei router, le suite di test, i processi di pubblicazione e il sito di prodotto.

Cosa abbiamo costruito

Un cartello, non una schermata di impostazioni

L'interfaccia prende dalla segnaletica degli aeroporti. Una fascia corallo dice la rete su cui sei, una targa con la freccia indica il router, e ogni passo del passaggio riscrive la fascia, come un tabellone delle partenze. Il cartello ha gli stessi colori nel tema chiaro e scuro, così si legge uguale su ogni dispositivo.

Primo passo: il cartello dice Hotel Roma verso GL-Beryl-AX, con il campo della password e il pulsante per passarla al routerPasso due di quattro: collegamento al Wi-Fi del routerPasso tre di quattro: invio a GL-Beryl-AXPasso quattro di quattro: GL-Beryl-AX si sta collegandoFatto: Hotel Roma, router online, con indirizzo e segnale del router
Il passaggio su iPhone, un cartello per ogni passo: pronto, collegamento al router, invio, connessione, online. Modalità dimostrativa.

Un nucleo per famiglia di piattaforme

La logica dei router sta in un pacchetto Swift condiviso dalle app per Mac e iPhone, con uno strumento da riga di comando per le prove. Android e Windows condividono una traduzione in Kotlin dello stesso nucleo e una sola versione Compose del cartello.

RouterSync su un telefono Android e nel pannello di Windows: lo stesso cartello corallo Hotel Roma, il campo della password con Incolla e QR, e le reti salvate
L'app Android e il pannello di Windows, catturati dai loro test delle schermate.

Nativo su ogni sistema

Un'app nella barra dei menu del Mac; widget, Centro di Controllo e Live Activity su iPhone; Comandi Rapidi e Siri su entrambi; un widget e i riquadri delle impostazioni rapide su Android.

Provato senza una valigia di router

Un router simulato e driver finti fanno girare tutto il passaggio nei test: 242 test sul nucleo Swift, test dell'interfaccia su iPhone e 411 test Kotlin tra nucleo, app Android e app Windows.

Processi di pubblicazione

Dodici workflow di GitHub Actions costruiscono l'app per Mac, mandano le build per iPhone e Mac App Store su TestFlight, caricano ogni build Android di main nel test interno di Google Play, preparano gli installer per Windows e rifanno gli screenshot per store e sito.

Cosa è uscito

15 ott 2026
Primo commit; sito di prodotto e driver OpenWrt lo stesso giorno
20 ott 2026
Versioni 1.0 e 1.1
Ott 2026
Nucleo Kotlin, widget, pacchetto per Microsoft Store
Test
658 test automatici: 242 sul nucleo Swift, 5 di interfaccia su iPhone, 411 Kotlin
Processi
12 workflow di GitHub Actions, uno per store e per gli screenshot
Provato su
Un GL.iNet Slate 7 con firmware 4.10.1; OpenWrt e gli altri driver sono coperti da test su router finti
Stato, nov 2026
Anteprima per Mac da routersync.com; iPhone in revisione sull'App Store con build TestFlight; Android nel test interno di Google Play; build di anteprima per Windows

Ti serve qualcosa così?

Progettiamo e costruiamo per i clienti nello stesso modo in cui costruiamo i nostri prodotti.