- Kotlin 98.4%
- Python 0.8%
- Shell 0.4%
- C 0.3%
- CMake 0.1%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
Il suono finto si sentiva che era finto: banda larga, niente nota. La registrazione di Maria sul sporco ha il verso vero, la nota fra 700 e 1300 Hz che il vetro ha e nessun generatore qui dentro ha mai avuto. La fonte sta in branding (44 KB di solo audio, tolta dal video) e il script la taglia: tre finestre, le più piene, normalizzate e sfumate ai bordi. Tre e non una perché lo stesso frammento sette volte si annuncia come un loop alla terza. Il ritmo per passata scende a un settimo di semitono per volta: sopra il semitono un suono vero smette di sembrare se stesso. |
||
| .github/ISSUE_TEMPLATE | ||
| app | ||
| branding | ||
| core-asr | ||
| core-diar | ||
| core-geo | ||
| core-llm | ||
| core-model | ||
| gradle | ||
| keystore | ||
| libs | ||
| LICENSES | ||
| native | ||
| scripts | ||
| .gitignore | ||
| .gitmodules | ||
| AGENTS.md | ||
| build.gradle.kts | ||
| DESIGN.md | ||
| gradle.properties | ||
| gradlew | ||
| gradlew.bat | ||
| GUIDA_FATTURAZIONE.md | ||
| LICENSE | ||
| mise.toml | ||
| NOTICE | ||
| README.md | ||
| REVISIONE_UI.md | ||
| settings.gradle.kts | ||
Carazza
L'organizzazione di un'attività che lavora in proprio.
Carazza trasforma le telefonate di lavoro in appuntamenti, incassi e memoria. Tu rispondi; la parte noiosa la fa lei: riscrivere l'indirizzo, ricordare cosa aveva chiesto il cliente, segnare la data, preparare i fogli per il commercialista.
È pensata per chi vive di interventi: spazzacamini e lavori correlati — canne fumarie, camini, caldaie, stufe a legna e pellet, comignoli, ispezioni e certificazioni. Persone a cui non interessa come funziona dentro, e che vogliono aprire l'app e capire tutto in dieci secondi.
Non è un assistente che risponde al posto tuo, e non è un software da azienda con venti menu. È la cosa che apri tra un intervento e l'altro e ti dice cosa devi fare, quanto hai incassato e cosa manca.
Funziona su un telefono Android recente, anche senza i servizi Google. Arriva come un unico file da installare: niente negozio delle app, niente account.
Una giornata, con Carazza
1. Ti telefona un cliente. Il telefono registra la chiamata. Carazza non registra niente: legge i file di registrazione che il telefono lascia in cartella e li mette in coda con scritto Da trascrivere.
2. La trascrivi. Tocchi la card e l'app scrive quello che vi siete detti. Puoi farne una alla volta, oppure tenerne premuta una, aggiungerne altre e trascriverle tutte insieme. Il numero sul pulsante conta quelle che si possono davvero trascrivere, non quelle che hai selezionato: un pulsante che promette di più di quello che fa è peggio di un pulsante spento.
3. Rivedi la bozza. Sotto la trascrizione trovi i campi già compilati: il cliente, che tipo di lavoro, in quale giorno e in quale fascia della giornata, l'indirizzo, il prezzo. Sono proposte, non decisioni: ogni campo si corregge con un tocco, e niente parte finché non dici tu di partire. L'ora esatta l'app non la indovina: propone il giorno e una fascia, mattina o pomeriggio, e l'ora la scegli tu.
4. Prenoti. L'appuntamento finisce nel calendario che hai scelto, e l'indirizzo viene messo sulla mappa. Il lavoro diventa confermato solo se quella scrittura sul calendario è riuscita: un lavoro che sembra confermato senza un appuntamento dietro è peggio di un errore che si vede. Se la mappa non risponde, l'appuntamento si crea lo stesso con l'indirizzo scritto.
5. Incassi. A lavoro fatto segni quanto hai incassato davvero. Il prezzo concordato e quello incassato sono due numeri diversi — l'arrotondamento o lo sconto fatto sul momento sono la norma, non l'eccezione — e Carazza scrive quello che dici tu, non quello che si ricorda lei.
6. Fai i documenti. Quando vuoi, dallo stesso lavoro esce la fattura, e più avanti la quietanza o la nota di credito. Ne parlo più sotto.
Se una chiamata non era lavoro, la segni come Non lavoro ed esce dalla coda. Resta però apribile: il giudizio dell'app è un'ipotesi, e devi poter leggere cosa c'era dentro e cambiare idea.
Le tre schermate
Tutto sta in una superficie sola, con tre nomi in alto fra cui si scorre col dito.
| Schermata | Risponde a |
|---|---|
| Registrazioni | le chiamate arrivate, da trascrivere e rivedere |
| Cantiere | cosa c'è da fissare, cosa è già fissato, cosa è fatto ma non pagato |
| Incassi | i soldi: questo mese, quest'anno, e quello che ancora devi incassare |
Il principio che tiene tutto
Contare ciò che hai fatto è un premio. Contare ciò che devi è una colpa.
Per questo i lavori da fissare non hanno un contatore: sono cose da fare, non punti persi. Contano invece i soldi incassati, che sono risultato, e quelli ancora in giro, che sono denaro tuo — non una colpa.
Due conseguenze si sentono subito usando l'app:
- la schermata vuota è il successo, ma va guadagnata: qui una richiesta che scivola via è un cliente piantato in asso;
- la card sparisce quando il lavoro è andato a terra, non quando lo ignori: prenota, trascrivi, incassato.
I soldi
Incassi è la schermata dei numeri: il periodo che scegli tu, il totale grande, e il da incassare come credito.
Ogni lavoro ha due numeri di spesa facoltativi, sotto il compenso:
- i chilometri di andata e ritorno;
- gli altri costi in euro: la merce comprata per quel lavoro, il pezzo cambiato.
Sono stime digitate a memoria, non misure, e servono a una cosa sola. Sotto il prezzo compare una riga così:
viaggio 12,60 € · altri costi 15 €: restano € 42,40
cioè quanto ti è rimasto in tasca di quel lavoro. I chilometri l'app li moltiplica per il costo al chilometro che hai messo nelle impostazioni.
Se un lavoro non ha un prezzo, il suo margine è sconosciuto, non zero: le due cose si disegnano diverse. E i costi non toccano le imposte: in regime forfettario si paga sul compenso per la sua percentuale, qualunque cosa si sia speso.
Il registro dell'anno
Dalla schermata Incassi si apre il Registro: il libro dell'anno, non del mese.
- dodici righe, una per mese: lavori, incassato, da incassare, durata
- i trimestri, perché è così che li chiede il commercialista
- i totali per cliente e per tipo di lavoro
- sotto il totale dell'anno, la riga dei costi e di quanto è rimasto
- se l'anno era già cominciato prima di Carazza, sotto il totale c'è la riga di quello che avevi già emesso: quanti documenti, quanto denaro, e i corrispettivi dell'anno con quell'apertura. È una riga a parte, non una colonna in più: quelle sopra sono cifre che l'app ha visto, questa è una cosa che le dici tu.
- l'anzianità del credito: quanto denaro è fuori e da quanto tempo. Le fasce dicono «scaduta da 31 a 60 giorni», non «in ritardo»: è contabilità, non una pagella. E c'è una riga a sé per il senza fattura, perché quello che non è mai stato fatturato è la parte più facile da dimenticare.
I documenti
Si fanno tutti dallo stesso lavoro.
La fattura si può fare quando il lavoro è stato fatto, non quando è stato pagato: il documento registra una prestazione resa, e i trenta giorni che il cliente ha per pagare partono da lì. Ogni fattura prende il numero progressivo dell'anno e lo tiene per sempre; sulla riga del lavoro compare la scadenza a trenta giorni, la stessa data stampata sul documento.
Se l'anno era già cominciato — fatture fatte a mano o da un altro programma — il numero da cui ripartire si dice nelle impostazioni, alla card Si comincia da qui. L'app riparte da lì e non ridà un numero già speso; dopo la prima fattura dell'anno quel numero non si può più abbassare, e l'app lo dice invece di farlo in silenzio.
Escono due file con lo stesso contenuto: il PDF da consegnare a mano, e il file per la fattura elettronica da portare in FatturAE o dal commercialista per la firma e l'invio. Se manca un campo che lo schema dello Stato pretende, il documento esce lo stesso e l'app dice esattamente cosa manca: un foglio che puoi consegnare vale più di un errore. Rifarla non raddoppia l'incasso e riapre lo stesso file.
L'app non può leggere quello che risponde il Sistema di Interscambio: non ha una casella da cui leggerlo. C'è un punto, sul lavoro, dove lo scrivi tu — esito, numero di trasmissione, data — perché l'hai letto nella tua posta.
La nota di credito è quello che si fa quando una fattura è già uscita: non si cancella e non
si modifica, perché il numero è già speso e il documento è nelle mani del cliente. La nota ha un
numero suo (NC0001/2026), un motivo scritto da te e il riferimento alla fattura che storna.
Dopo, il lavoro esce dalle fasce di scadenza e finisce in «senza fattura». Una nota per fattura,
e poi il pulsante sparisce: due note contro la stessa fattura non direbbero quale delle due è
quella vera.
La quietanza è il foglio che dice quando è arrivato il denaro e come. Il modo di pagamento è una riga libera — «assegno numero 4512» deve potersi scrivere quanto «bonifico» — e la data stampata è quella del pagamento, non quella di oggi: una ricevuta ristampata a dicembre per soldi ricevuti a maggio deve dire maggio, o non è più una prova.
I file per il commercialista
Il commercialista chiede file, non schermate. Dalle impostazioni, nella card Dati, si esporta per anno.
| Cosa esce | A cosa serve |
|---|---|
| I lavori dell'anno, in un foglio di calcolo | la contabilità: date, clienti, compensi, chilometri, costi |
| Il riepilogo delle fatture emesse | il quadro dell'anno, da portare con le fatture |
| Gli archivi dei documenti | i PDF e i file elettronici delle fatture, e le note di credito |
| Le trascrizioni, in testo | quello che vi siete detti, se serve ripescarlo |
| Le registrazioni audio, in un archivio a sé | la voce dei clienti |
L'anno si sceglie dalle targhette, e ci sono solo gli anni in cui c'è lavoro. Ogni file passa da un selettore di salvataggio: finisce dove dici tu, e l'app non scrive niente fuori da lì. Se l'anno è vuoto esce un foglio con la sola intestazione, invece di rifiutarsi; solo l'archivio delle fatture dice «non c'è niente da mettere nell'archivio», invece di scrivere un file vuoto.
L'audio ha una riga sua, separata dalle altre: è la cosa più sensibile che l'app tocchi, e deve potersi dire chi ha deciso di farlo uscire.
Il backup
Un solo archivio con dentro i lavori, le trascrizioni, le impostazioni, il logo e le fatture. Prima di sostituire quello che c'è sul telefono, l'archivio viene verificato. La voce dei clienti non entra mai nel backup: si esporta a parte, se serve.
Chiedere una modifica
Quello che l'app non fa, o fa male, si chiede da dentro: Impostazioni → Diagnostica → Chiedi una modifica apre il browser sull'issue già pronta da compilare — cosa stavi facendo, cosa è successo, cosa ti aspettavi — e in fondo la versione dell'app e il modello del telefono.
La versione c'è perché senza, un "non funziona" non si può riprodurre, e chiedersela dopo significa non riceverla.
Serve un account sul posto dove l'app sta di casa: il browser chiede il login una volta, e da lì in poi è un tocco.
Cosa resta sul telefono
L'audio delle chiamate, le trascrizioni, i nomi dei clienti, i lavori, le fatture: stanno sul telefono. Anche trascrivere e capire cosa ha detto il cliente succede sul telefono, senza servizi di terze parti: una volta scaricati i due programmi, funziona anche senza rete.
L'unica cosa che attraversa la rete è l'indirizzo del cliente, quando serve metterlo sulla mappa: viene chiesto a OpenStreetMap, che è il servizio che lo conosce. È una scelta dichiarata, non una scorciatoia: senza le coordinate l'appuntamento arriva nel calendario senza il punto sulla mappa, e se il servizio non risponde l'appuntamento si crea comunque.
Perché chiede quei permessi
| A cosa serve | |
|---|---|
| Archivi audio | leggere le registrazioni delle chiamate che il telefono ha già salvato |
| Registro chiamate | capire a che chiamata corrisponde un file: chi, quando, se era senza risposta |
| Contatti | mettere un nome accanto a un numero |
| Calendario | leggere gli appuntamenti già presi e scriverci quello nuovo |
| Microfono | le note vocali dettate dal bordo sinistro, e riconoscere la tua voce tra i clienti |
| Notifiche | avvisare quando una bozza è pronta |
| Esegui in secondo piano | finire una trascrizione lunga anche con lo schermo spento |
Nessuno di questi manda qualcosa in giro: leggono e scrivono sul telefono.
Come si tocca
| Gesto | Cosa fa |
|---|---|
| toccare una card | apre quello che la card ha da dire: la bozza, il lavoro, l'errore |
| tenere premuto su una card | la seleziona, per lavorarne più di una insieme |
| tirare giù | ricontrolla se sono arrivate nuove registrazioni |
| scorrere col dito sul corpo della schermata | passa da una schermata all'altra |
| il bordo sinistro | una nota vocale: un lavoro nuovo dettato |
| il bordo destro | una nota scritta: un lavoro nuovo digitato |
| l'ingranaggio in alto | le impostazioni |
Le card non si trascinano di lato: quel gesto serve a cambiare schermata, e se lo prendessero loro resterebbero pochi pixel per tutto il resto, con il rischio di prenotare o scartare per sbaglio. Le azioni di una card si raggiungono tutte con un tocco.
Le impostazioni
Poche, e solo cose che valgono per tutti i lavori.
| Card | Cosa decide |
|---|---|
| Intestazione | i dati della tua attività, quelli che finiscono in fondo alla fattura |
| Modelli | i due programmi che lavorano sul telefono, e la verifica che i file siano a posto |
| Registrazioni | le cartelle dove il telefono lascia le chiamate, ogni quanto le ricontrolla, per quanti giorni tiene l'audio |
| Lavori | quanto dura in genere un intervento, e il costo al chilometro |
| Si comincia da qui | le fatture e le note che avevi già emesso quest'anno fuori dall'app: da quale numero si riparte, e quanto di quello che hai incassato il Registro deve dare per già documentato |
| Aspetto | colori, animazioni, dimensione del testo |
| Diagnostica | quanto ha impiegato l'ultima volta, la prova microfono, la versione dell'app e la voce per chiedere una modifica |
| Dati | backup, ripristino ed export |
| Zona pericolo | cancellare i dati, con scritto prima cosa va via e cosa resta |
Il prezzo non è nelle impostazioni: si scrive sul singolo lavoro, accanto al tipo. Il tipo di lavoro è un elenco libero che cresce con te, non un menu da configurare prima. E il calendario di destinazione si sceglie dentro al lavoro, subito sotto la data, perché è lì che viene la domanda.
Al primo avvio
Sei schermate da scorrere, non un modulo da compilare. Chiede i permessi con un solo tasto, e una riga che dice perché li vuole; se ne neghi uno facoltativo, non te lo fa passare per concesso. Dice subito che Carazza non registra le chiamate: legge i file che il telefono lascia in cartella. Propone di scaricare i due programmi che servono a trascrivere e capire. Poi chiede le cose tue: il nome della ditta, l'indirizzo, la partita IVA, il numero REA, il codice dell'attività, l'IBAN, la posta e la PEC. Su partita IVA e codice dell'attività ti dice anche cosa ci ha letto dentro, così l'errore lo vedi mentre lo scrivi. Quasi tutto si può saltare e riprendere dopo.
Cosa non fa
- Non registra le chiamate. Le registrazioni le deve fare il telefono; Carazza le legge.
- Non firma e non invia la fattura elettronica. Scrive il file: firma, invio e conservazione restano in FatturAE o dal commercialista.
- Non legge la risposta del Sistema di Interscambio. Non ha una casella da cui leggerla: l'esito lo scrivi tu.
- Non sposta un appuntamento già segnato. Se devi riprogrammare, lo sposti dal calendario.
- Non ha la ricerca. Si trova quello che serve scorrendo le tre schermate.
- L'obiettivo mensile di incassi non si può ancora scegliere.
Per sapere di più
DESIGN.md— come è pensata ogni schermata, e perchéGUIDA_FATTURAZIONE.md— le domande da portare al commercialista prima di mettersi a fatturareAGENTS.md— come si costruisce e si modifica il programmaLICENSEeNOTICE— il codice è Apache-2.0, le terze parti restano con la loro licenza
Carazza: il dialetto per la fuliggine grossa che si stacca dalla canna fumaria.