announcementrelease

Introducing Rezi

A high-performance TypeScript TUI framework with near-native rendering performance.

by Rezi Team

Introducing Rezi

We're excited to announce Rezi, a high-performance TypeScript Terminal UI framework built on the Zireael native C rendering engine.

Why Rezi?

Building terminal user interfaces in Node.js has traditionally meant choosing between developer experience and performance. Ink gives you React-like composability but struggles with complex layouts. Bubble Tea offers performance but requires learning Go. OpenTUI provides a middle ground but still leaves performance on the table.

Rezi changes this equation entirely.

The Numbers

Our benchmarks tell the story:

  • 59.1x faster re-renders than Ink
  • 53.6x faster table rendering
  • 33.5x faster virtual list scrolling
  • 7.3x faster startup time

These aren't synthetic benchmarks — they reflect real-world widget rendering patterns that your apps use every day.

How It Works

Rezi uses a unique architecture that separates the TypeScript widget layer from the rendering engine:

  1. Widget Layer (TypeScript) — Your code lives here. Define UIs with ui.* functions or JSX.
  2. Layout Engine — Constraint-based layout computation, similar to CSS Flexbox.
  3. Drawlist Protocol — Binary serialization of draw operations (ZRDL format).
  4. Zireael Engine (C) — Native rendering via a Node.js addon. Handles the actual terminal I/O.

This separation means your TypeScript code stays clean and productive while the heavy lifting happens in optimized native code.

56 Widgets and Counting

Rezi ships with a comprehensive widget library:

  • Primitives: Text, Box, Row/Column, Spacer, Divider
  • Inputs: Button, Input, Textarea, Slider, Checkbox, Radio, Select
  • Data: Table, Virtual List, Tree
  • Charts: Gauge, Sparkline, Bar Chart, Mini Chart
  • Graphics: Canvas, Image, Line Chart, Scatter, Heatmap
  • Advanced: Command Palette, File Picker, Code Editor, Diff Viewer

Every widget is type-safe, keyboard-navigable, and theme-aware.

Get Started

npm create rezi my-app
cd my-app
npm run dev

Check out the documentation to learn more, or dive into the quickstart guide to build your first app.

What's Next

We're just getting started. On the roadmap:

  • Interactive playground (browser-based terminal emulator)
  • VS Code extension for live preview
  • More chart types and data visualization widgets
  • Plugin system for community widgets

Follow us on GitHub to stay updated.