Designing Interfaces for Vertical Writing Systems

See the apps

Components

All components

The interaction primitives of a vertical interface · real, accessible React components you copy into your project with one command.

Bring them into your project

Every component is source you own · no runtime dependency. Run init once for the tokens, then add any component · fetched live from the registry, nothing to configure.

npx verticallyworks init
View on GitHub

Applications

All applications

What happens when vertical-first thinking is applied to actual product categories.

What This Project Explores

All challenges

Open questions, and the principles derived from trying to answer them.

Motion

Should a sheet animate from screen geometry or reading direction?

Typography

How should mixed CJK and Latin content behave in the same column?

Navigation

Where does the navigation rail belong in a vertical-first interface?

Interaction

How does text selection work when reading flows top-to-bottom, right-to-left?

IME

Where does the IME candidate window appear when input is vertical?

Accessibility

What do the arrow keys mean in a vertical, RTL interface?

Interaction

How does drag-and-drop reordering work when list items are columns?

AI

How should AI chat interfaces adapt to vertical writing systems?

Derived Principles

01

Respect Reading Flow

Begin with how the reader moves, not convention.

02

Motion Has Meaning

Animation reinforces reading direction, never decoration.

03

Interaction Before Typography

Behavior is the goal; typography enables it.

04

Mixed Language First

Design for mixed scripts, not the average.

05

Accessibility Is Fundamental

Keyboard, touch, screen reader, reduced motion, built in.

06

Research Never Ends

Document open questions beside resolved ones.

Contact us

Questions, ideas, collaborations — write to us anytime. Compose your message vertically or horizontally, whichever way you think.

Purpose