Skip to content

What is Maru? ​

We built Maru so that generated interfaces remember how you organize information. You chat, and each answer appears as an interactive layout, such as a table, kanban board, map, or timeline. As you work, Maru saves how you group, structure, prioritize, and name things as IA rules, and applies them to every later generation, so each new interface keeps the structure you've built.

We presented Maru at UIST ’26 in our paper, Maru: Information Architecture as a Shared Language for Generating Aligned and Persistent User Interfaces (arXiv).

Maru's IA rule storage beside a generated table that reflects the stored rules.
The rules carry forward; the layout changes.

The problem ​

When you work through an information task, you build structure as you go. You group apartments by neighborhood, decide commute matters more than price, and settle on what "affordable" means. Current GenUI systems don't keep this structure. Each generation starts over, so the next interface can drop a grouping you relied on, and you end up repeating yourself.

The idea: IA as a shared language ​

Information architecture (IA) is a design practice for organizing and structuring information. Maru uses it as a language that both you and the system can read and change. From a thematic analysis of 42 papers on sensemaking and interactive systems, we identified four IA elements:

ElementWhat it capturesApartment-search example
PartitionItems grouped together as peersListings grouped by neighborhood
HierarchyItems with different roles, such as fields under an itemPrice and commute under each apartment
OrderWhat matters more to youProximity to work > pet-friendly > parking
VocabularyPersonal terms with a task-specific meaning"Affordable" means under $1,800 a month

See The four IA elements for how each one shapes the generated UI.

How rules are created ​

You create rules in three ways:

  • Query extraction. Ask for something like "show me the apartments by neighborhood," and Maru saves the matching rule.
  • UI interaction. Drag a card to another column, sort a column, or remove a field, and the rules update directly.
  • Manual panel edit. In the IA panel, you can see, edit, and archive every rule.

Maru also creates system-scaffolded rules (a starting Partition and Hierarchy) from the first generated interface, so you refine structure instead of starting from nothing.

Persistence needs boundaries ​

Rules from one sub-task shouldn't leak into the next, and old rules shouldn't pile up. Maru ties each rule to the task it came from, ranks rules lower when they stop being used, and never deletes a rule on its own. Each chat keeps its own rules. See Persistence and its boundaries.

What's included ​

  • The IA framework: the four elements and how they map to UI decisions.
  • The Maru SDK: the reusable IA layer (rule schema, storage, retrieval, and prompts) for adding persistence to any GenUI app.
  • The Maru app: the desktop app we built for our paper, on top of the SDK. See How the app works.
Why “Maru”?

마루 (maru) is Korean for the raised wooden floor of a traditional house: the foundation that everything else stands on. Maru aims to be that floor for generated interfaces.

CC BY 4.0 · 마루