Il banco di lavoro di un negozio di riparazioni: accettazione con ricevuta, stati delle riparazioni su un kanban e avviso di ritiro precompilato per WhatsApp o email.The workbench of a repair shop: intake with a receipt, repair statuses on a kanban board and a ready-made pickup message for WhatsApp or email.
Interfaccia in italianoItalian interfaceHTML · CSS · JavaScriptCostruita con ClaudeBuilt with ClaudeDati solo nel browserData stays in the browser
Prova l'appTry the app →Gratuita, senza account, con dati di esempio.Free, no sign-up, with sample data.
4stati di lavorazionerepair stages
3foto per praticaphotos per job
2viste: Banco e classicaviews: Bench and classic
0server e accountservers and accounts
Cosa faWhat it does
L'accettazione raccoglie cliente, oggetto, difetto, preventivo e acconto e crea una pratica numerata (R-2026-007) con la ricevuta da stampare.Intake collects customer, item, fault, estimate and deposit and creates a numbered job (R-2026-007) with a printable receipt.
Le pratiche si spostano tra le corsie del kanban trascinandole; il banco segnala quelle ferme al ritiro da più di 7 giorni.Jobs move between kanban lanes by drag and drop; the bench flags those waiting for pickup for more than 7 days.
Quando una riparazione è pronta, un pulsante apre WhatsApp con il messaggio di ritiro già scritto; la dashboard mostra tempi medi e valore delle pratiche aperte.When a repair is ready, a button opens WhatsApp with the pickup message already written; the dashboard shows average times and the value of open jobs.
Come l'ho costruitaHow I built it
L'ho costruita in vibecoding con Claude: ho descritto il problema, le regole e l'aspetto che volevo, Claude ha scritto il codice, io l'ho provata, ho chiesto correzioni e ho deciso cosa tenere. Il risultato è una sola pagina HTML con stile e script dentro, senza framework e senza server: i dati restano nel browser di chi la usa, che può esportarli o cancellarli.I built it through vibe coding with Claude: I described the problem, the rules and the look I wanted, Claude wrote the code, I tested it, asked for fixes and decided what to keep. The result is a single HTML page with styles and scripts inside, no framework and no server: data stays in the user's browser, where it can be exported or deleted.
Scelte tecnicheTechnical choices
Avviso senza costi di invioNotifications with no sending cost
Il messaggio di ritiro è un link wa.me o mailto con il testo precompilato: niente API a pagamento, il negoziante preme solo invio.The pickup message is a wa.me or mailto link with prefilled text: no paid API, the shop owner just presses send.
Foto compresse nel browserPhotos compressed in the browser
Le foto dell'oggetto vengono ridimensionate a 900 pixel e compresse in JPEG prima di essere salvate, per restare leggere nella memoria del browser.Item photos are resized to 900 pixels and compressed to JPEG before saving, to stay light in the browser's storage.
Kanban con drag and drop nativoNative drag-and-drop kanban
Le corsie usano il drag and drop HTML5, senza librerie; ogni cambio di stato finisce nella cronologia della pratica.The lanes use HTML5 drag and drop, with no libraries; every status change goes into the job's history.
Consenso separatoSeparate consent
Il consenso alle comunicazioni promozionali è una casella a parte, non spuntata: l'avviso di ritiro fa parte del servizio e non dipende da quel consenso.Consent to promotional messages is a separate, unticked box: the pickup notice is part of the service and does not depend on it.
Cosa ho verificatoWhat I tested
Una nuova accettazione crea la pratica R-2026-007 e la mette nella corsia degli arrivi.A new intake creates job R-2026-007 and places it in the arrivals lane.
Trascinando una pratica su "Pronto al ritiro" i contatori del banco si aggiornano e compare il pulsante di avviso.Dragging a job to "Ready for pickup" updates the bench counters and shows the notify button.
Il link WhatsApp contiene numero con prefisso 39 e messaggio con nome, numero di pratica e oggetto.The WhatsApp link contains the number with the 39 prefix and a message with name, job number and item.