Bashroom

Realtime interactive interfaces

Open Bashroom GitHub coming soon

[WIP]

How many words can you stuff in the slit that CC, Codex, and nearly every chat interface give you? You can steer the session with every subsequent message but when you steer a car you want tactile, physical, and nearly intimate way of interfacing with the interface that gets you from A to B. This is an experiment in thinking about interactive interfaces.

When desiging such an interface, a core question to me was: how many bits per second can I transmit to the computer? Well maybe the answer I was looking for was pure fully duplex voice. The smartest LLMs dont really interface well and ChatGPT Voice didn't really feel like an interface I can tactily completely control immediately.

Growing up almost everything we were taught to do was via Google Docs. Docs were always an eternal, core way we could share ideas and tactically interface with words, harshly comment, edit, critize, delete, and manipulate words. A red squiggly line immediately telling you, you mispelled something, and a comment section of anonymous animals.

Bashroom uses a simple Operational Transform within a SQLite in a Cloudflare Durable Object. Every edit you make gets immediately fanned out to all other users in realtime, and the other users in this instane can also be agents. Agents connect to this SQLite via websocket like any other user and a small LLM triggers a larger LLM with a 20ms debounce to determine if it should, edit, comment, or overwrite anything you write into our realtime collaborative editor.

This project is still WIP but the hope is we can use VLLM's new streaming input made for ASR and cleanly figure out a way to make it feel like there is another person editing a document while youre thinking. Maybe it automatically web searches stuff or adds images from your life directly in the doc as you write psuedocode about what should go <here>.