Realtime GenUI
A command bar that turns a sentence into the interface you need, while you type.
Jev · Design & engineering · Working prototype
The next action, in context
This prototype is a sales CRM for aviation services. Jev powers a natural-language command bar available throughout the app, including over an open account.
“Add Delta as new prospect” opens a prospect form with the company already looked up. “Remind me to call Lufthansa on Wednesday” opens a reminder form with the date filled in. Each request shows the component that finishes the task, with its fields filled from the sentence and a chance to review the details before saving. A question such as “top airlines” produces a ranked list.
Fast enough to follow a thought
The four recorded requests took 289, 247, 270 and 279 ms to interpret, measured on the server from candidate selection through the Jev request and result assembly.
Jev selects the intent and relevant entities from candidates supplied by the application. Code handles dates, calculations, form fields and saved records. The result uses the product’s components and interaction rules.
A partial sentence can change meaning as someone types. The prototype stabilizes those interpretations, offers a choice when the intent is ambiguous, and ignores late answers to earlier input. Values a person edits in the form take precedence over later interpretations.
A working product around the interaction
The prototype includes a pipeline, account records, reminders and a dashboard, built in Phoenix LiveView. Opening an account gives the command bar context, so a follow-up can refer to that record without naming it again.
If the model is unavailable, the bar falls back to ordinary search. The core product remains usable.
Any spreadsheet becomes a working board
The same prototype can start from any CSV. I uploaded 32 job applications, and the import worked out the board. Code reads the value types. Jev picks the column that names a card and the one that holds its stage. Claude names the cards and puts the stages in order.
None of that is in the CSV. Every card also gets notes, contacts and reminders, whatever the data is.
The command bar reshapes the board too
“Show waiting on on the cards” or “show the seniority filter as buttons” changes the board itself. The bar shows each change in plain words before I apply it. Every change is saved with the board and listed in its history, and the newest can be undone.
Jev handles a single change on its own, in 231 to 344 ms in the recording. Bigger requests go to Inception’s diffusion model Mercury 3, which wrote each change in 0.5 to 3.4 seconds. The card layout took longest.
Changes stay inside the design system
Mercury can only use a fixed set of board changes, and code checks each one before it’s shown. Cards are composed from the design system’s elements: a heading, a line of text and a chip, each at three levels, with an optional blue, orange or red flag.
The components declare what each element can do. A property added to a component becomes available to the command bar with no other change.
Records, contacts and job links from a sentence
The bar works on the data the same way. It reads “maya at lumenstack dot dev” as an email address, and “her phone is …” right after goes to the contact I just added. A pasted job link fills the form while the posting is read. If I save before that finishes, the card fills in afterwards.