ApplicationsMaison FluidPRODUCTIONS

TEXTOPERATOR






TEXT OPERATOR · How we built this tool / Comment nous avons fabriqué cet outil


Langue
Language

MAISON FLUID · JUILLET 2026
MAISON FLUID · JULY 2026
TEXT OPERATOR

Comment nous avons fabriqué cet outil

How we built this tool

Au printemps 2026, j’étais en pleine rédaction de Maison Fluid. J’avais accumulé des années de conversations avec plusieurs modèles d’intelligence artificielle, des milliers de messages, des dizaines de fichiers Obsidian, une soixantaine de PDFs de bibliographie annotés, des rêves recopiés au réveil, un journal personnel qui remontait à 2023. Je cherchais un passage précis, une phrase que j’étais certain d’avoir écrite six mois plus tôt dans une conversation ChatGPT.

Trente-cinq minutes plus tard, j’avais toujours les mains vides.
Le fichier existait. Je ne le retrouvais pas.

C’est ce jour-là que j’ai décidé d’arrêter de perdre mon temps à chercher, et de fabriquer l’outil qui me manquait. Je n’avais pas les compétences techniques pour le coder seul. J’ai commencé par en parler à Claude.

Text Operator — vue générale de la console avec ses catégories et son écran phosphore de résultats.
FIG. 1La console dans son état actuel — écrans de statut, catégories colorées, molette de recherche, clavier physique.

La première conversation

Un matin de mai, j’ai ouvert un nouveau fil de discussion avec Claude et j’ai décrit mon besoin, sans code, sans jargon. Je veux un outil qui indexe mes textes. Je veux qu’il fonctionne dans mon navigateur, sans rien envoyer nulle part. Je veux qu’il ressemble à une console rétro, parce que c’est ce qui me donne envie de travailler. Je veux qu’il tienne dans un seul fichier que je puisse déposer où je veux.

Claude a posé des questions. Quels formats ? Quel volume ? Quel niveau de recherche ? Je répondais, il reformulait, je précisais. Nous n’avons rien codé pendant deux heures. À la fin de cette conversation, nous avions un cahier des charges d’une trentaine de pages qui couvrait la vision produit, les écrans, le modèle de données, la pile technique, un plan de développement et même les prompts nécessaires pour la génération créative.

Ce document, je n’aurais jamais pris le temps de l’écrire seul.
Claude m’a forcé à préciser.

Les premières versions

La toute première itération ressemblait à un tableau de bord Streamlit — un logiciel Python générique. C’était fonctionnel, moche, sans caractère. J’ai demandé une refonte visuelle dans l’esprit d’une affiche du Holy Mountain de Jodorowsky. Palette bleu ciel pastel, ocres flammes, blanc cassé, typographie sérif d’affiche cinéma. Claude a reconstruit l’interface en une nuit. J’ai appelé cette version Holy Mountain edition. Elle était belle. Elle m’a servi une semaine.

Puis j’ai voulu autre chose. Quelque chose de plus intime, de plus matériel — pas une affiche mais un objet. Une console de salon en plastique beige avec des rivets aux coins, des boutons d’arcade en relief, un écran phosphore ambre avec des scanlines. Une pièce qui aurait pu être posée sur mon bureau d’enfant.

Claude a construit la console plastique. Nous avons enchaîné trois versions successives — l’ajout d’un premier mini-écran pour l’état des références chargées, puis d’un second pour l’état de la recherche en cours, puis le remplacement des boutons de menu par un vrai clavier mécanique en pied de console. À chaque itération, je décrivais avec mes mots ce qui n’allait pas. Claude proposait des solutions. J’acceptais, je refusais, je précisais. Nous avancions.

Les ajustements concrets

Certains moments méritent d’être racontés parce qu’ils montrent comment le dialogue fonctionne.

Un jour, j’ai reçu une capture d’écran d’un panneau d’options avec trois cases à cocher que je trouvais moches. J’ai simplement écrit : « ça sert à quoi ça ? » — signifiant que je ne comprenais même pas leur fonction. Claude a expliqué à quoi servaient les options avancées de recherche, puis a proposé de les cacher derrière un bouton OPTIONS AVANCÉES pour épurer l’interface. J’ai dit oui. Dix minutes plus tard, la case avait disparu.

Un autre jour, en regardant la console, je me suis dit que je n’avais aucun moyen évident d’ajouter mes propres livres. Le menu d’import était planqué derrière un point-virgule à trois points sur chaque catégorie. J’ai écrit : « il faut une drop zone ». Claude a ajouté une bande visible sous les tuiles catégories, un overlay plein écran qui apparaît quand on glisse un fichier depuis le Finder, et une détection sur chaque tuile individuelle pour permettre le drop ciblé. Le tout en moins d’une heure.

Text Operator — vue rapprochée du clavier, de la molette de recherche et du bouton RESET.
FIG. 2Le clavier, la molette et le bouton RESET — chaque élément a été pensé comme une commande de machine plutôt qu’une icône de logiciel.

Les intégrations

Une fois la console stable, il a fallu la remplir. J’ai extrait mon journal ChatGPT complet, filtré des sujets professionnels que je ne voulais pas voir dans mon corpus personnel. J’ai catalogué mes rêves grâce à des marqueurs explicites. J’ai OCRé ma bibliographie et découpé chaque livre en fragments cherchables. J’ai récupéré les passages du dossier de présentation de Maison Fluid.

  • 16 820 entrées de journal ChatGPT (2023–2026)
  • 32 rêves catalogués par marqueurs explicites
  • 58 livres OCRés, découpés en 1 956 fragments cherchables
  • 33 extraits du dossier de présentation Maison Fluid

L’ensemble tient dans un fichier HTML de 26 méga-octets qui contient tout, absolument tout, prêt à être ouvert par double-clic.

Pour la version publique — celle que je vous propose au téléchargement — j’ai enlevé mon corpus personnel et gardé uniquement les trois catégories de démonstration Maison Fluid. Vous récupérez la console vide, avec la démo dedans, et vous ajoutez votre matériel par glisser-déposer.

Ce qui reste à faire

Text Operator n’est pas un produit fini. C’est un instrument qui évolue avec ma pratique. J’ai déjà en tête plusieurs améliorations pour les prochaines semaines — un mode de comparaison entre deux catégories, une timeline chronologique parcourable, la possibilité de créer des collections thématiques transversales. Chaque fois que je bute sur un manque, j’ouvre une conversation avec Claude et nous construisons la solution ensemble.

Nous ne sommes plus obligés d’attendre qu’un logiciel générique couvre notre besoin.
Nous pouvons fabriquer nos propres instruments, exactement calibrés à notre usage.

L’écart entre avoir une idée et voir cette idée fonctionner se compte désormais en minutes. Text Operator est le premier de mes instruments. Il y en aura d’autres.

In the spring of 2026, I was in the middle of writing Maison Fluid. I had accumulated years of conversations with several large language models, thousands of messages, dozens of Obsidian files, sixty or so annotated bibliography PDFs, dreams written down on waking, a personal journal that reached back to 2023. I was looking for a specific passage — a sentence I was certain I had written six months earlier in a ChatGPT conversation.

Thirty-five minutes later, my hands were still empty.
The file existed. I couldn’t find it.

That was the day I decided to stop wasting my time searching, and to build the tool I was missing. I didn’t have the technical skills to code it alone. I started by talking to Claude.

Text Operator — general view of the console with its categories and phosphor result screen.
FIG. 1The console as it stands — status screens, colored category tiles, search dial, physical keyboard.

The first conversation

One morning in May, I opened a new thread with Claude and described what I needed, without code and without jargon. I want a tool that indexes my texts. I want it to run in my browser, without sending anything anywhere. I want it to look like a retro console, because that’s what makes me want to work. I want it to fit inside a single file I can drop wherever I want.

Claude asked questions. Which formats? What volume? What kind of search? I answered, it reformulated, I refined. We wrote no code for two hours. By the end of that conversation, we had a thirty-page brief covering the product vision, the screens, the data model, the tech stack, a development plan, and even the system prompts needed for creative generation.

I would never have taken the time to write that document alone.
Claude forced me to be precise.

Early versions

The very first iteration looked like a generic Streamlit dashboard — a nondescript Python interface. It worked, it was ugly, it had no character. I asked for a visual overhaul in the spirit of a poster for Jodorowsky’s Holy Mountain. Pastel sky blue, ochre flames, off-white, cinema-poster serif. Claude rebuilt the interface in one night. I called that version the Holy Mountain edition. It was beautiful. It served me for a week.

Then I wanted something else. Something more intimate, more material — not a poster but an object. A living-room console in beige plastic with rivets in the corners, raised arcade buttons, an amber phosphor screen with scanlines. A piece that could have sat on my childhood desk.

Claude built the plastic console. We then went through three successive versions — adding a first mini-screen showing the state of the loaded references, then a second for the state of the current search, then replacing the menu buttons with a proper mechanical keyboard at the foot of the console. At each iteration, I described in my own words what wasn’t right. Claude proposed solutions. I accepted, I refused, I refined. We moved forward.

Concrete adjustments

Some moments are worth telling because they show how the dialogue actually works.

One day I received a screenshot of an options panel with three checkboxes I found ugly. I simply wrote: « what is this for? » — meaning I didn’t even understand what they did. Claude explained what the advanced search options were for, then offered to hide them behind an ADVANCED OPTIONS toggle to declutter the interface. I said yes. Ten minutes later, the checkboxes were gone.

Another day, looking at the console, I realized I had no obvious way to add my own books. The import menu was buried behind a three-dot icon on each category. I wrote: « we need a drop zone ». Claude added a visible band beneath the category tiles, a full-screen overlay that appears when you drag a file from the Finder, and detection on each individual tile to allow direct targeted drops. All of it in less than an hour.

Text Operator — close-up view of the keyboard, the search dial, and the RESET button.
FIG. 2The keyboard, the dial, and the RESET button — every element was designed as a machine control rather than a software icon.

The integrations

Once the console was stable, I had to fill it. I extracted my full ChatGPT journal, filtered out professional topics I didn’t want to see in my personal corpus. I catalogued my dreams using explicit markers. I ran OCR on my bibliography and split each book into searchable fragments. I pulled the passages from the Maison Fluid pitch document.

  • 16,820 ChatGPT journal entries (2023–2026)
  • 32 dreams catalogued by explicit markers
  • 58 OCR’d books, split into 1,956 searchable fragments
  • 33 excerpts from the Maison Fluid pitch document

The whole thing fits in a 26-megabyte HTML file that contains everything, absolutely everything, ready to be opened with a double-click.

For the public version — the one you can download below — I removed my personal corpus and kept only the three Maison Fluid demo categories. You get the console empty, with the demo inside, and you add your own material by drag and drop.

What’s next

Text Operator is not a finished product. It’s an instrument that evolves with my practice. I already have several improvements in mind for the coming weeks — a comparison mode between two categories, a scrollable chronological timeline, the ability to create cross-category thematic collections. Each time I hit a wall, I open a conversation with Claude and we build the solution together.

We no longer have to wait for generic software to cover our needs.
We can build our own instruments, tuned exactly to how we work.

The distance between having an idea and seeing that idea working is now measured in minutes. Text Operator is the first of my instruments. There will be others.

Télécharger & tester Text Operator
Download & try Text Operator


▼ TÉLÉCHARGER LA CONSOLE
▼ DOWNLOAD THE CONSOLE

Un seul fichier HTML autonome · 100 % LOCAL · NO SERVER · aucun compte, aucune installation
A single self-contained HTML file · 100 % LOCAL · NO SERVER · no account, no install

Xavier Faltot
Berlin · Juillet 2026 · Maison Fluid
Berlin · July 2026 · Maison Fluid


Cela vous plaît ! Feel free to support me here.
Become a patron at Patreon!
Afficher plus

Xavier Faltot

Xavier Faltot: Media Mutant, brille par ses images expérimentales, mêlant art, technologie, cinéma et poésie. Dès ses débuts avec l’artiste Shu Lea Cheang, il sait capturer et danser avec le réel. Ses œuvres, à la fois provocantes et captivantes, reflètent une compréhension profonde de la globale culture actuelle. Samouraï virtuel multimedia et pionnier français dans l'utilisation des outils offerts par le web, il attend depuis toujours l'arrivée des intelligence artificielles. Aujourd’hui à l’aise avec les machines qui créent en vrai, il joue et fabrique des mondes animés à la carte ou des univers virtuels inconnus. ////// Xavier Faltot: Media Mutant, shines through his experimental images, mixing art, technology, cinema and poetry. From his early work with artist Shu Lea Cheang, he has captured and danced with reality. His works, both provocative and captivating, reflect a deep understanding of today's global culture. A multimedia digital samurai and French pioneer in the use of web tools, he has always awaited the arrival of artificial intelligence. Now at ease with the machines that create the real thing, he plays with and creates bespoke animated worlds or unfamiliar virtual universes.
Bouton retour en haut de la page