Contatti
← Invariance / Portfolio
Progetto clienteWavely · Produttività · 2026

Tenete premuto un tasto, parlate, e il testo compare dove stavate già scrivendo.

L’applicazione è uno strumento di dettatura che vive nella barra di sistema. Tenete premuto un tasto ovunque nel sistema operativo, parlate, rilasciate — la trascrizione finisce nel campo di testo che ha il fuoco. Nessuna finestra da cambiare, nessuna scheda, nessuna applicazione che debba supportarlo.

Ruolo
Prodotto · Architettura · Sviluppo full-stack · Rilascio
Piattaforma
Windows · macOS
Stato
Distribuito, con aggiornamenti automatici

Introduzione

Parlare è tre volte più veloce che digitare. Quasi nessuno detta.

Gli strumenti esistenti impongono una scelta: la dettatura del sistema operativo funziona solo dove il produttore ha deciso, e la buona dettatura cloud vive in una scheda del browser da cui bisogna copiare. Nessuna delle due conosce il lessico del vostro mestiere. Nasce per togliere tutti e tre i problemi insieme — in qualsiasi campo, in qualsiasi applicazione, con un vocabolario regolabile per ogni caso d’uso.

165 mln

parole trascritte

127.000

ore di lingua elaborate

3×

più veloce della digitazione

Dimostrazione

Una pillola, quattro stati.

Quasi tutto il prodotto è un overlay fluttuante che non intralcia: trasparente, sempre in primo piano e attraversabile dai clic, così non ruba mai il fuoco a ciò in cui state scrivendo. Questa è una ricostruzione di una dettatura.

Tenete premuto per dettare

L’overlay reale legge il livello del microfono dieci volte al secondo e lo disegna come la forma d’onda che vedete qui.

Tecnologia

Strumenti collaudati, scelti come sistema.

Un’applicazione desktop con tre finestre — impostazioni, l’overlay fluttuante e una finestra nascosta di un pixel il cui unico compito è ospitare il registratore audio — con un piccolo servizio dietro.

Desktop shell

Electron

Chromium e Node.js in un solo binario desktop. Dà a una base di codice web vere capacità desktop — scorciatoie globali, tray, finestre native — da un unico sorgente su Windows, macOS e Linux.

Interface architecture

React

La libreria di interfaccia in cui è scritto tutto il front end. Lo stato determina ciò che appare, così i flussi complessi restano prevedibili invece di diventare un cumulo di modifiche manuali al DOM.

Typed application layer

TypeScript

JavaScript con un sistema di tipi sopra. Intercetta i dati incoerenti già in fase di build — la classe di errori che altrimenti arriva all'utente come schermata bianca — e rende una base di codice grande modificabile senza rischi anche anni dopo.

Build pipeline

Vite

Lo strumento di build dietro l'interfaccia desktop. In sviluppo serve moduli ES nativi, così una modifica si vede quasi subito, e per il rilascio produce un bundle piccolo e ottimizzato.

Design system

Tailwind CSS

Il sistema di stile che tiene coerente il design: spaziature, tipografia e colori vengono da un insieme fisso di token. Il risultato è un unico linguaggio visivo invece di un foglio di stile che deriva pagina per pagina.

Token service

Node.js

Il runtime JavaScript su cui gira il lato server. Un solo linguaggio da entrambe le parti significa validazioni e tipi condivisi, non due implementazioni della stessa regola.

Transcription models

OpenAI

I modelli di linguaggio e voce che fanno il lavoro vero: trascrizione, correzione, traduzione. Si usano via API sotto contratto, quindi nulla dipende da un modello ospitato sull'hardware della clinica.

Reproducible runtime

Docker

L'applicazione e tutto ciò che le serve stanno in un'unica immagine: la versione testata è bit per bit quella che va in produzione. Il rilascio non dipende più da cosa è installato su un server.

Architettura

Tutto ciò che sta tra il tasto e l’incollaggio.

L’intero prodotto sono le poche centinaia di millisecondi attorno a una pressione di tasto. Far funzionare bene quella sequenza è gran parte dell’ingegneria.

  1. 01

    Il tasto scende

    Un hook di input a basso livello intercetta la pressione ovunque nel sistema — il meccanismo usuale delle scorciatoie non sa esprimere il “tieni premuto”, solo l’alternanza. Se l’hook non è disponibile, si ripiega sull’alternanza invece di fallire.

  2. 02

    Registrazione e preparazione in parallelo

    Parte la cattura audio, ciò che sta suonando viene messo in pausa e la credenziale necessaria al servizio di trascrizione viene richiesta nello stesso istante — mentre si sta ancora parlando.

  3. 03

    Il tasto risale

    La registrazione prosegue per una frazione di secondo, perché le persone rilasciano i tasti prima di finire le parole. Le clip troppo brevi o troppo silenziose vengono scartate prima di costare una chiamata.

  4. 04

    Trascrivere, poi ripulire

    L’audio va al fornitore scelto con un suggerimento di lessico nella lingua parlata. Un secondo passaggio facoltativo ripulisce la trascrizione — e se fallisce, si usa l’originale invariato.

  5. 05

    Inserire e rimettere tutto a posto

    Il testo va negli appunti, si simula un incollaggio nel campo attivo, il contenuto precedente degli appunti viene ripristinato e la riproduzione messa in pausa riprende.

Latenza

Dove finiscono i 178 millisecondi.

Dal tasto premuto al testo nel campo. L’inferenza è la voce dominante con 93 ms; il round trip di rete ne aggiunge 44, e cattura, codifica e inserimento nell’applicazione di destinazione valgono insieme i restanti 41.

Cattura e codifica
36ms
Round trip di rete
44ms
Inferenza
93ms
Inserimento
5ms
Da capo a fine
178ms
  1. Tu—
  2. Microfono10 ms
  3. Browser20 ms
  4. Codifica6 ms
  5. TLS1 ms
  6. Router1 ms
  7. ISP8 ms
  8. Edge12 ms
  9. Riconoscimento93 ms
  10. Ripulituraopzionale · fuori dal budget
  11. Streaming22 ms
  12. Inserimento5 ms

Un budget tipico per un’espressione di tre secondi su una linea in fibra domestica, con la sessione TLS già ripresa e la ripulitura opzionale fuori dal percorso. Il pacchetto si muove in proporzione alla quota di ciascuna fase su quel budget.

Dettagli

Le parti che nessuno nota, finché non mancano.

Mette in pausa la musica e la rimette

Dettare sopra un podcast è inutile. Ciò che sta suonando viene messo in pausa e poi ripreso — ma solo se stava davvero suonando, così non parte nulla da sé.

Lessico, non istruzioni

Il prompt di un modello di trascrizione orienta il suo lessico invece di comandarlo, conta solo la parte finale e le parole successive pesano di più. La terminologia medica sta quindi proprio in fondo, nella lingua parlata.

Profili per tipo di lavoro

Lingua, modello, lessico e istruzione di ripulitura sono raccolti in profili — referti, email, prompt — e si cambiano dall’overlay senza aprire nulla.

Si rifiuta di incollare in se stesso

Finché la finestra dell’applicazione ha il fuoco la registrazione è bloccata, con una spiegazione, invece di dettare in silenzio nel posto sbagliato.

Tempi che reggono le applicazioni reali

Le piccole attese volute attorno all’incollaggio esistono perché alcune applicazioni ignorano i tasti che arrivano istantaneamente e perché ripristinare gli appunti troppo presto distrugge l’incollaggio.

L’overlay tiene la posizione

Si riancora quando cambiano gli schermi, quando la macchina si riattiva, quando si sblocca lo schermo — e si riafferma a intervalli nel caso un’altra applicazione gli rubi il primo piano.

Legale

Anche la dettatura è testo clinico.

Le note parlate sono documentazione del paziente dal momento in cui vengono dette: registrazione e trascrizione ricevono la stessa cura di tutto ciò che viene digitato.

Il microfono si apre di proposito

La registrazione parte su un'azione deliberata e si ferma su un'altra, o sul silenzio. Non esiste una modalità di ascolto continuo né una cattura in background.

L'audio non viene archiviato

La clip esiste per la durata della richiesta. Nulla la scrive su disco e da parte nostra non resta alcuna copia di una dettatura.

Risultato

Cinque lingue, quattro fornitori, un tasto.

Viene distribuito come installer firmato per Windows e macOS, con aggiornamenti automatici, interfaccia in cinque lingue e uno strato di fornitori sostituibile senza che il resto dell’applicazione se ne accorga. È l’esempio più chiaro dell’ingegneria che Invariance porta in un prodotto: ciò che si vede è una pillola fluttuante, e quasi tutto il lavoro sta in ciò che le accade intorno.

Prenotate una chiamata