ColumbusDoc
Un motore di ricerca personale: un solo posto per cercare tra tutti i tuoi documenti, ovunque fossero.
Collegavi i tuoi account — email, cloud, archivi — e ColumbusDoc indicizzava ogni documento in un unico posto, ricercabile e navigabile per filtri combinabili. Una sola ricerca, su tutti i tuoi dati sparsi.
L'abbiamo progettato, costruito e portato sul mercato tra il 2018 e il 2022, come soci fondatori della startup ColumbusIT. Qui sotto: cosa faceva, com'era fatto dentro, e il problema — ancora aperto — che provava a risolvere.

2018 — 2022
Un solo posto per cercare tra tutti i tuoi documenti — ovunque fossero.
Ogni giorno si perde tempo a cercare documenti dispersi tra decine di servizi diversi — email, cloud, archivi — e quasi mai il risultato soddisfa. ColumbusDoc nasceva esattamente da questo problema.
L'idea era semplice da raccontare e complessa da realizzare: collegare ogni account in un unico contenitore sicuro, normalizzare e indicizzare tutti i documenti, e renderli ricercabili e navigabili per filtri combinabili. Una sola ricerca, su tutti i propri dati, dovunque fossero.
Account collegabili
Come lo raccontavamo allora
Lo spot promozionale originale di ColumbusDoc: collega i tuoi account, cerca, filtra, consulta e condividi i documenti in pochi secondi. Cinquantasei secondi, in italiano, con la grafica (e la musica) di allora.
Sotto il cofano, una pipeline distribuita che trasformava qualsiasi file in contenuto ricercabile.
ColumbusDoc non era un'interfaccia con una ricerca sopra. Era un sistema distribuito: code di elaborazione specializzate — le operazioni pesanti come l'OCR separate da quelle rapide — un orchestratore centrale che bilanciava il carico su server dedicati, e una pipeline che portava ogni documento da formato grezzo a contenuto indicizzato e ricercabile.
La pipeline di ingestion
Conversione in PDF
Word, Excel, immagini, testo: tutto normalizzato in un formato comune.
Estrazione immagini
Le componenti grafiche vengono isolate dal documento.
OCR
Il testo dentro le scansioni diventa leggibile dalla macchina.
PDF ricercabile
Il testo riconosciuto viene sovrapposto all'immagine originale.
Ottimizzazione
Compressione e linearizzazione per l'apertura rapida via web.
Estrazione testo
Il testo puro alimenta l'indice full-text.
Anteprime
Ogni pagina ottiene la sua miniatura.
Indici di pagina
Indici pre-calcolati che permettono al viewer di caricare in streaming solo le porzioni necessarie, senza scaricare l'intero file.
Indicizzazione
Dati e metadati vengono scritti su MongoDB ed Elasticsearch.
Elaborazione distribuita
Un orchestratore (WatchDog) coordinava code dedicate — controllo, sincronizzazione, elaborazioni intensive, operazioni rapide, integrazione con storage esterni — distribuite su più server e dimensionate sul carico. Scalabilità progettata, non improvvisata.
Molto più di una barra di ricerca.
Cosa sapeva fare, in concreto.
Query in linguaggio naturale
«Trova i documenti del 2017 che parlano di Columbus», «dammi tutte le mail inviate da Gianni». Un parser semantico traduceva la frase in un albero di sintassi e poi in una query tipizzata. Capiva anche le date colloquiali — «ieri», «l'altro ieri», «l'anno scorso».
Ricerca esplorativa
Filtri interattivi su account, anno, presenza di allegati o note. Si poteva navigare l'intero archivio anche senza digitare una parola, includendo ed escludendo i diversi filtri.
SmartSet
Condivisione di insiemi di documenti definiti da regole semantiche, oltre le cartelle e le ACL: «condividi tutti i documenti del cliente X datati 2021». Ogni nuovo file che soddisfaceva la regola entrava nel set ed era condiviso da solo.
Formati complessi italiani
PEC analizzate ricorsivamente (mittente, destinatario, timestamp di certificazione, allegati annidati) e fatture elettroniche — anche firmate .p7m — con anteprima HTML leggibile. Formati regolamentati, gestiti in modo nativo.
Viewer PDF in streaming
Il viewer apriva i documenti senza scaricarli per intero: caricava solo le porzioni di PDF necessarie alla pagina visualizzata, con un pre-caching intelligente in base alla navigazione.
Desktop e web
Client desktop nativo in WPF e web client da browser: lo stesso motore, due interfacce.
Cercare tra i propri dati diffusi è un problema vero — e tutt'altro che risolto.
Aggregare i documenti che una persona o un'organizzazione disperde su servizi diversi, normalizzarli e renderli ricercabili da un unico posto è un problema concreto e difficile. È lo stesso terreno della ricerca unificata su cui oggi si muovono prodotti come Glean o Dropbox Dash. ColumbusDoc era il nostro modo di affrontarlo, con le tecnologie di allora.
Nel 2023 Dropbox ha lanciato Dash, che mette a fuoco gli stessi concetti su cui avevamo lavorato — fino alla condivisione di insiemi di documenti come unità: i nostri SmartSet, le loro Stacks.
Le barriere, semmai, sono cresciute
Da allora aggregare i dati personali di qualcuno è diventato più oneroso, non meno: i provider hanno progressivamente ristretto l'accesso alle proprie API. Google, ad esempio, richiede oggi la verifica dei restricted scope e un assessment di sicurezza annuale per le app che toccano Gmail o Drive e ne archiviano i dati altrove. Il problema resta aperto proprio perché è difficile.
Quello che abbiamo approfondito
Un parser che interpretava le domande in linguaggio naturale. L'indicizzazione e la ricerca full-text su Elasticsearch. L'elaborazione distribuita altamente scalabile, con tutte le sue sfide. L'ottimizzazione dei tempi di risposta lungo l'intera architettura dell'applicazione. E la gestione nativa dei formati regolamentati italiani: PEC analizzate ricorsivamente, fatture elettroniche anche firmate .p7m.
Radici profonde, strumenti di oggi.
ColumbusIT si è chiusa nel 2022, ma l'esperienza maturata su ingestion, indicizzazione e ricerca sui dati è rimasta — e alcuni di quegli elementi sono ancora alla base di quello che costruiamo oggi, con strumenti molto più evoluti: Traction, che riunisce per gli agenti AI il contesto disperso di un progetto software; DRH, che rende ricercabile la conoscenza diagnostica; Lumina, che usa la ricerca semantica per collegare le edizioni nel tempo.
Vuoi capire come applichiamo questa esperienza ai tuoi sistemi?
Gestione documentale, indicizzazione, ricerca sui dati: raccontaci il tuo contesto.