We’re Using AI Wrong. The Chat Window Sucks.
AI chat windows are everflowing rivers where every leaf you drop into that river immediately floats away, and good luck finding it. Type something, the agent responds, and within seconds the answer scrolls up and out of sight.
How often do you go hunting through your endlessly scrolling chat to try and find something that was said just a minute ago? It’s almost like we WANT it to look like the Matrix. Never has a good designer said “Let’s show the user all the different function calls the backend is making to show this webpage,” but that’s what a chat window does. It’s a terrible UX.
And it doesn’t have to be.

MD is dead. Long live HTML.
Markdown (.md) documents are cool, but they came and went faster than we let our Tamagotchis die in the 90s. Now, HTML as an everyday document is the new sliced bread (yes, thank you Boris).
HTML docs were initially great because they are beautiful and easier to read, but also more functional. First we remembered that HTML allows live elements like interactive graphs. And holy-fricking-cow that’s so much cooler than a .doc or .ppt.

But local HTML-as-a-document has a secret: you can turn any local HTML page into an interface for your AI.
I’m not the first or only person to have done this. It’s a logical next step. A lot of people are figuring it out at the same time because the existing conditions make it only one step away from where we’re standing.
The pain is simple and pervasive: I don’t want to copy/paste things back and forth from a chat window to a document. And I want to be able to find what we said when we were workshopping that title without scrolling the endless chat.
Enter Lahe
When HTML lives on your machine, it’s really easy to inject additional functionality into it. By combining a locally running server with an injected javascript package, you can create a direct interface to your AI, in your browser. This is Lahe, the Live Agentic HTML Editor, a quality of life tool that I built largely to make my own processes better.

Once we create this pattern, suddenly a whole host of fun new ways of working opens up.
First, I don’t actually want that sidebar visible most of the time. Collapse it, get rid of it, and now I’m looking at a document that looks like a webpage, but I can select anything and edit it.

When building this website, I spent a lot of time creating a style system. This simple-bordering-on-boring set of fonts, colors, and layouts is the result of over 700 comments and edits over the course of two days. Using this document review tool Claude and I iterated over 97 different review pages, 49 different logo options, examined over 85 stock images from Pexels, created 19 original line drawings and 17 original video files
At that clip, the act of just having to switch windows to the chat is enough to significantly hamper the velocity.
What happens when your todo list can take action?
The design process I followed actually used over 120 subagents. And you start to realize, well if I’ve got a bunch of subagents at my disposal from the browser, can’t I do a lot more than edit this document?
Yes. Yes you can. Now your todo list (or “daily briefing” or whatever fun name you’re calling it), can create a line item that says “Don’t forget you need to email your weekly report” and you can click that item and say “draft that up for me please.”
Without ever leaving your todo list. And if you want to take it a step further, well you own the todo list format, so why not just add a button that will trigger the AI to go off and take care of it without you having to say anything at all? With HTML as the medium we have the last 20 years of UX learnings as options for how to interact with AI.

This small change, not having to leave your todo list, is great for reducing task switching. And when you’re as ADHD as I am, it keeps you from wandering off on 17 tangents because you opened your email.
One orchestrator, several tabs
It turns out you can also have one agent managing multiple tabs.
While working on this article I said, from within the page, “Help me workshop the title. I want good hooks,” and Claude opened another tab for me, where we went through 3 rounds of “more of this, less of that” and finally arrived at a title.

And because it’s so easy, the bandwidth of information between myself and the agent is increasing. So I am giving more and more information about what I want and like, which means I’ll get better results from the AI.
At that point I told the second tab, “Ok we found it. Plug this in to the article.” I closed the tab and went back to the article, and the title updated on the original tab.
That should feel a little mind-blowing. Tabs open for me automatically when I need a new surface to workshop something, and when we’re done and I close them, the final result is automatically plugged back in to the core working document.
Level up with voice
From here the next level is to talk. Use your words. Out loud. If you’re not using a voice transcription service yet, it’s incredible.
As someone who is very adhd and very physically-oriented, I have long dreamt of being able to pace around the room while getting work done, but I’ve always been chained to my keyboard. (There’s certainly some satisfaction in good, accurate, fast typing though too).

Add voice transcription and you can walk around your office, microphone in hand, rattling off your outline to an AI that can assemble a structure for you to fill in.
One editor, many formats
Since Lahe is working in HTML, we can now use this editing style for documents, presentations, and even our webpage designs.

When I review new features now, I can comment directly in the HTML as I walk through the feature. Again it’s an ostensibly small change, but the impact is pretty great.
Compound knowledge with end of session print outs
I do enjoy writing, but I also don’t need to write a quick response email. But in the past I didn’t use AI for that because of the obvious AI tells.
Using an editor like this, you get another hidden benefit. Every hand edit you make is tracked, and can be exported at the end of your session. Which means over time you accumulate a series of files that have the diffs between what an AI wrote and how you corrected it. This is incredible data for tone of voice analysis and instruction.

Make it better
This is just an open source passion project, so I’d love to see how you would make it better. I’ve been using this tool pretty much non-stop lately, and I’ve gotten it to a point that it’s pretty nice to use, but as soon as you hand it to someone else they’ll find something obvious to improve!
Code is available here on my github, so have a look and customize to your needs! Let me know what you end up adding!
Help other people find the tool by starring the repo! Thanks!
(Article written collaboratively with AI, including 248 human comments/edits.)
We’re Using AI Wrong. The Chat Window Sucks. was originally published in Bootcamp on Medium, where people are continuing the conversation by highlighting and responding to this story.