Ito – Build Terminal UIs in Lua

My friend and I are huge Neovim nerds. We like to rice our terminals and our editors. We just wanted a harness that we can do the same with, rice it till our hearts' desire. So, we started looking out for harnesses. Pi was great, Pi was good. But in the end, it was JavaScript. I don't have anything against JavaScript, but Lua is more fitting, and I can just as easily base it in Rust to make it even faster. So, we started cooking, and we ended up with a design that's minimal at its core and is built using Lua. Every built-in abstraction, the way you define providers, the way you rice it up, everything, literally everything, you can do in Lua.But how? How does it all work? I proposed we just do it the Ratatui way, but my friend was like, nah! We shall make it possible to build TUIs in Lua. (Weirdo!) But it paid off, and we got ourselves a shiny new Lua library, ito!!!He didn't get the gravity of the situation. We had an awesome terminal UI library in Lua! I wanted everyone to know how cool that is, so I got cooking, wrote myself a custom canvas implementation of this library instead of the usual terminal adaptor, exported it as wasm, and made this super cool website where you can experiment building awesome UIs in Lua. For vibe-coders, we got an llms.txt too. Have at it, and see if you can build something really cool with it. The library's at github.com/uji-labs/ito, and the awesome sauce harness is at github.com/uji-labs/uji.I hope you like it!

Hacker NewsToolAISource
0Sign in to voteCopy link

FL score

65

out of 100

Verdict

VALIDATE

high confidence

Competition

No competitor data yet

Trend

No signal yet

A Lua-based terminal UI library designed for Neovim users who want customizable, performant terminal interfaces.

The pain

Current terminal UI libraries are mostly JavaScript-based and do not fit well with Lua-centric workflows favored by Neovim users.

The gap

There is a lack of minimal, performant, Lua-native terminal UI libraries that allow deep customization and integration with Lua tooling.

Build angle

The project is technically feasible for a small team with Lua and Rust skills and can leverage open source to build a solid foundation.

Strengths

  • Strong technical fit for Lua and Neovim users
  • Open source approach with Rust performance benefits
  • Unique positioning in a niche developer community

Risks

  • Limited market size and unclear monetization
  • Competition from established JS-based libraries
  • Niche appeal may limit growth and adoption

Questions about this idea?

FlyBot reads the scoring and gives you a second opinion on “Ito – Build Terminal UIs in Lua”.

Open FlyBot