Declarative application framework for Nim

One meaning.
Every interface.

Define application capabilities and interactions once. Project them into CLI, TUI, Web, desktop, and MCP interfaces.

Under design · Early development

APPLICATIONDSL
CLI
TUI
MCP
WEB
DESKTOP

Your application is
not its interface.

Applications increasingly expose the same capabilities through many interfaces. Yet each implementation repeats operations, arguments, types, validation, errors, and workflows.

Rhyzora makes those semantics explicit — and reusable.

Contract to interface.
Without the duplication.

Connect existing systems through typed engine contracts, express how their capabilities are used, and let each backend create the right experience.

01 / INPUT

Engine sources

  • Native Nim
  • OpenAPI
  • Structured CLI
  • MCP tools
normalize
02 / CONTRACT

Typed capabilities

operation searchUsers:
  input: query, limit
  output: seq[User]
  effect: read
project
03 / OUTPUT

Native surfaces

CLITUIMCPWEBDESKTOP

Describe intent.
Not widgets.

Rhyzora works above individual components. Define meaningful interactions; each backend decides how they should be represented.

INSTEAD OF

Label

Input

Button

Table

Dialog

DESCRIBE

search

browse

inspect

select

confirm

01

Semantics before presentation

Describe what the application does before deciding how it looks.

02

Business logic stays outside the UI

Engines expose typed capabilities. Interfaces consume them.

03

Backend-appropriate UX

Each surface expresses the same intent in the way that fits its environment.

Build the meaning once.

Help shape a new foundation for multi-interface applications.

View the repository