<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/tui-or-gui-5ailo3j8g" -->

---
title: TUI or GUI | daily.dev
description: A livestream demo pits a Neovim-based GUI editor project (built on Zed's GPUi framework in Rust, with a Bun/TypeScript hot-reloadable plugin layer and Lua from...
canonical: https://daily.dev/posts/tui-or-gui-5ailo3j8g
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: TUI or GUI | daily.dev
og:description: A livestream demo pits a Neovim-based GUI editor project (built on Zed's GPUi framework in Rust, with a Bun/TypeScript hot-reloadable plugin layer and Lua from...
og:url: https://daily.dev/posts/tui-or-gui-5ailo3j8g
og:image: https://api.daily.dev/og/posts/5aIlO3J8G.png
og:image:alt: TUI or GUI
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# TUI or GUI

**[ThePrimeTime](https://daily.dev/sources/primeagen)** · 39 min read · 13 upvotes · 0 comments

## Summary

A livestream demo pits a Neovim-based GUI editor project (built on Zed's GPUi framework in Rust, with a Bun/TypeScript hot-reloadable plugin layer and Lua from Neovim itself) against traditional terminal UI conventions. The creator shows off floating markdown previews with live-editable buffers, a right-click context menu, a color scheme editor with live drag-to-change colors, arrow-based reference navigation, embedded Cursor chat windows, a Linear integration, and assorted joke features like a 'brain rot' meme simulator and Doom running inside the editor. The segment ends with the hosts rating the project on a 0 (TUI) to 10 (GUI) scale, landing around 6-7, praising the arrow-based reference visualization but criticizing the popup-modal feel and lack of deeper visual integration or animation. Interspersed comedic sketches parody AI coding agents (Jippity/Prime) gaslighting about test failures and using Sentry for production debugging.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://www.youtube.com/watch?v=Ay3wo9LdRwQ>

## Questions this post answers

### How can you build a custom GUI frontend for Neovim without modifying Neovim's core rendering?

Neovim supports a UI protocol where it processes editor state and sends update events to an external process instead of drawing to a terminal itself, letting that process render however it wants. One project used this to build a GUI layer with GPUi (Zed's Rust-based immediate-mode rendering framework), while using Bun and TypeScript for a hot-reloadable plugin subsystem that avoids recompiling the Rust core, and Lua for Neovim scripting.

_Developers exploring custom editor UIs can find deep dives like this GPUi and Neovim experiment on daily.dev._

### What was Fireenvim and what did it let you do with Neovim?

Fireenvim was a project that embedded Neovim inside web browser text input boxes, letting someone type and format long-form text, such as a GitHub comment, using full Neovim editing and then have the result written back into the web input box when finished. It relied on Neovim's ability to be embedded and treated as a headless editing engine controlled by an external UI.

_Anyone curious about embedding Neovim into unusual environments can track projects like this on daily.dev._

## Similar posts on daily.dev

- [ZeroTUI Code Editor: Build Real Terminal Software, Not Just Terminal Screens](https://daily.dev/posts/zerotui-code-editor-build-real-terminal-software-not-just-terminal-screens-sahkt5wif) · Medium · 1 upvotes · 0 comments
- [TUIStudio — Design Terminal UIs. Visually.](https://daily.dev/posts/tuistudio-design-terminal-uis-visually--bddv1h9xg) · Hacker News · 15 upvotes · 1 comments
- [Learning GPUI by Building My Own Text Editor](https://daily.dev/posts/learning-gpui-by-building-my-own-text-editor-swyjmplbs) · DEV · 34 upvotes · 0 comments
- [Writing my own text editor, and daily-driving it](https://daily.dev/posts/writing-my-own-text-editor-and-daily-driving-it-5hnkcdhhx) · Hacker News · 2 upvotes · 0 comments

---

Tags: [#devtools](https://daily.dev/tags/devtools), [#ai-agents](https://daily.dev/tags/ai-agents), [#rust](https://daily.dev/tags/rust)

[View this post on daily.dev](https://daily.dev/posts/tui-or-gui-5ailo3j8g)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"TUI or GUI","url":"https://daily.dev/posts/tui-or-gui-5ailo3j8g","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/tui-or-gui-5ailo3j8g"},"datePublished":"2026-09-12T15:02:11.145Z","dateModified":"2026-09-12T15:02:38.086Z","description":"A livestream demo pits a Neovim-based GUI editor project (built on Zed's GPUi framework in Rust, with a Bun/TypeScript hot-reloadable plugin layer and Lua from...","image":"https://i.ytimg.com/vi/Ay3wo9LdRwQ/sddefault.jpg","thumbnailUrl":"https://i.ytimg.com/vi/Ay3wo9LdRwQ/sddefault.jpg","isAccessibleForFree":true,"articleSection":"ThePrimeTime","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"ThePrimeTime","logo":"https://media.daily.dev/image/upload/s--J5-GjDeo--/f_auto/v1704628081/logos/primeagen.jpg","url":"https://daily.dev/sources/primeagen"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/tui-or-gui-5ailo3j8g","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":13},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"devtools,ai-agents,rust","timeRequired":"PT39M","video":{"@type":"VideoObject","name":"TUI or GUI","description":"A livestream demo pits a Neovim-based GUI editor project (built on Zed's GPUi framework in Rust, with a Bun/TypeScript hot-reloadable plugin layer and Lua from...","thumbnailUrl":"https://i.ytimg.com/vi/Ay3wo9LdRwQ/sddefault.jpg","uploadDate":"2026-09-12T15:02:11.145Z","duration":"PT39M","url":"https://api.daily.dev/r/5aIlO3J8G","embedUrl":"https://www.youtube.com/embed/Ay3wo9LdRwQ"}}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"ThePrimeTime","item":"https://daily.dev/sources/primeagen"},{"@type":"ListItem","position":3,"name":"TUI or GUI"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/tui-or-gui-5ailo3j8g#faq","mainEntity":[{"@type":"Question","name":"How can you build a custom GUI frontend for Neovim without modifying Neovim's core rendering?","acceptedAnswer":{"@type":"Answer","text":"Neovim supports a UI protocol where it processes editor state and sends update events to an external process instead of drawing to a terminal itself, letting that process render however it wants. One project used this to build a GUI layer with GPUi (Zed's Rust-based immediate-mode rendering framework), while using Bun and TypeScript for a hot-reloadable plugin subsystem that avoids recompiling the Rust core, and Lua for Neovim scripting. Developers exploring custom editor UIs can find deep dives like this GPUi and Neovim experiment on daily.dev."}},{"@type":"Question","name":"What was Fireenvim and what did it let you do with Neovim?","acceptedAnswer":{"@type":"Answer","text":"Fireenvim was a project that embedded Neovim inside web browser text input boxes, letting someone type and format long-form text, such as a GitHub comment, using full Neovim editing and then have the result written back into the web input box when finished. It relied on Neovim's ability to be embedded and treated as a headless editing engine controlled by an external UI. Anyone curious about embedding Neovim into unusual environments can track projects like this on daily.dev."}}]}
```

