The Final Chat
The Final Chat is a chat oriented productivity web app that is completely keyboard driven in spirit of command line apps. What it means is information is created/queried through a chat input and navigated/manipulated through keymaps and "/" commands.
Why?
Rarely a productive tool on the web is tailored towards power users. I can only count such tools in single digits. I can only recall Linear for now. I have observed that a lot of UX patterns are carried from the web over to the dev tools ecosystem. One such recent example is Bubbletea which takes a components approach to building command line TUIs. But the reverse is rarely seen in popular web tools. The idea behind this project was to fill this gap, essentially exporing power user workflows in a web app.
How it works?
The input component is driven by a sophisticated state machine since it handles a lot of different states like "/" commands, plain text input, tab completion, popups for selecting items, etc. Doing all this from a text input sounds simple but it's quite complex. The state machine does a great job of managing this complexity. I'm using xstate for this.
Rest of the system involves a lot of state management as we switch between different views and move forward/backward in the history. Each interactive component is focusable via the keyboard and supports intuitive keymaps to perform actions on it, depending on the UI compnent is in focus.
Desired Vision
Right now the project is in a paused state. But a near future goal is to ship the first version that involes tasks, notes, reminders, etc. And some AI commands to query and manipulate these items with natural language.