Vertically To-do

A to-do list where every task is a column you read top to bottom.

LiveWeb

Try this

Open full screen

In motion

Half a minute of the real gestures: a task written in vertical text, a column pulled down into the trashcan that opens behind it, another dragged sideways to reorder, and the whole interface flipped across 한 / あ / 中.

Everything in the recording is the live app above · try the same moves yourself.

Features

Tasks are columns

Every task is a full-height column read top→bottom, stacking right→left with the newest at the reading start. The list scrolls on the column axis, like a page of writing.

Pull down to delete

Drag a column down · past the end of its own text · and a trashcan opens behind it in the vacated slot.

Orthogonal drag axes

Vertical deletes, horizontal reorders. Direction alone disambiguates intent, so there are no long-press modes to discover.

Vertical text input

Composing a task happens in a contentEditable vertical column that stays column-centered as you type · writing and reading share one axis.

한 / あ / 中

One toggle re-localizes the entire interface across Korean, Japanese, and Chinese · the same interface logic expressed in three vertical scripts.

Design Decisions

Why are tasks full-height columns?

A to-do is a written line, and in vertical writing a line is a column. Giving every task the full column height keeps the page's rhythm · the list reads like text, not like a table of rows rotated sideways.

Why does pulling down delete?

Down is the reading axis · dragging a column past its own end carries it out of the flow. The trashcan appearing behind the card, in the slot the column vacated, gives the gesture a visible target instead of an invisible threshold.

Why split the drag axes?

With two orthogonal axes, direction alone carries intent · vertical removes from the flow, horizontal rearranges it. No modes, no delays · the drag's first direction sets whether it removes or reorders.

Use it in the browser

The app owns the full viewport at todo.vertically.works. Your list is saved locally on this device.

Open Vertically To-do