Application

Vertically Verse

A fully vertical, right-to-left scripture reader for Korean, Japanese, and Chinese. The first application built on Vertically Works principles.

Live · iOS한국어 · 日本語 · 中文 (Traditional)
창 1:1태초에 하나님이 천지를 창조하시니라
創 1:1初めに、神が天と地を創造された
創 1:1起初 神創造天地

Features

Column-based layout

Scripture text is composed into top→bottom columns flowing right-to-left. Each column is an independent snap target, not a paginated view.

Tate-chu-yoko (縦中横)

Verse numbers and digit groups (e.g., "1:1") are set as upright horizontal clusters within the vertical stream — a typographic convention from Japanese publishing.

Scroll-driven immersion

Reading forward (scrolling left) collapses the chrome to reclaim screen surface. Scrolling back, or tapping the indicator, restores full controls.

Horizontal pull-to-paginate

Overscrolling past the last column fills a circular progress ring and triggers the adjacent chapter — with haptic ticks climbing to a landing haptic.

RTL-native chrome

Every control is vertical text. The navigator, drawers, and language toggle all lay out R→L, matching the reading direction.

Three-language support

Korean 개역한글, Japanese 口語訳, and Chinese 和合本 (Traditional). Each is a full translation, selectable as a unified switch.

Design Decisions

Why columns, not pages?

Traditional CJK books do not paginate — they scroll. A digital reader should preserve that continuity. Column-snapping gives the feel of pages without the imposed boundary.

Why RTL scroll direction?

In right-to-left column order, reading forward moves left. The scroll direction must match the reading direction, not the OS default. A single flipEdges constant in the layout handles the offset sign inversion.

Why haptic feedback for chapter turns?

The pull gesture has no visual feedback until the ring is visible. Haptic ticks give progressive feedback during the blind portion of the pull — the same reason analog clocks tick.

Source Code

The iOS app is open source. Built with SwiftUI and Swift 6.

View on GitHub