Back to Projects
Ritual TUI
CompletedTypeScriptReactInk+4 more

Ritual TUI

Terminal-first task logger and time tracker with keyboard-driven workflows, nested tasks, and timeline history.

Timeline

2 Months

Role

Full Stack Developer

Team

Solo

Status
Completed

Technology Stack

TypeScript
React
Ink
Node.js
pnpm
Express.js
Redis

Key Challenges

  • Designing a responsive three-pane terminal UI with smooth keyboard navigation
  • Supporting infinitely nested tasks without making interactions confusing
  • Building secure short-lived cross-machine sync with conflict-safe import behavior
  • Maintaining readability and performance in long timeline histories

Key Learnings

  • How to architect rich terminal interfaces with React + Ink
  • State modeling strategies for hierarchical task systems
  • Practical server-side security patterns for temporary data exchange
  • Balancing CLI ergonomics with discoverable shortcuts and help UX

Ritual: Keyboard-First Task Logging in the Terminal

Overview

Ritual is a modern terminal application focused on fast, distraction-free task management. Instead of moving between multiple GUI tools, Ritual keeps planning, execution, and history inside a keyboard-centric TUI.

The app combines three coordinated panels:

  • Calendar for date selection and planning context
  • Tasks for nested todo management
  • Timeline for action-level event history

This design makes it easy to track what changed, when it changed, and why.

Core Features

Three-Pane Workflow

Ritual allows direct pane switching (1, 2, 3) and cycling (Tab / Shift+Tab) so you can stay in flow while moving between planning and execution.

Infinite Nested Tasks

Complex work can be decomposed into unlimited subtask depth. Indent and unindent shortcuts let you reshape task trees quickly as scope evolves.

Task Lifecycle + Timeline

Tasks move across practical states such as todo, completed, delegated, and delayed. Every action is also written to an activity timeline with timestamps for traceability.

Local-First Persistence

Task data is stored locally in JSON, giving users full ownership of their data and easy backup/portability.

Cross-Machine Sync (Temporary Codes)

Ritual includes export/import using short-lived server storage and secure one-time-like codes. This supports quick transfers between machines without introducing permanent cloud lock-in.

Technical Highlights

  • UI Layer: React + Ink for terminal rendering
  • Language: TypeScript
  • Date Handling: date-fns
  • Storage: local file system JSON
  • Sync Server: Express + Redis (temporary storage with TTL)
  • Quality: tests, formatting, and local analysis tooling

Why This Project Matters

Most productivity tools optimize for mouse-first interfaces. Ritual explores the opposite direction: a high-speed, low-friction workflow for developers who live in the terminal.

The project demonstrates that CLI experiences can be both powerful and user-friendly when interaction design is treated as a first-class concern, not an afterthought.

Design & Developed by Harsh Surani
© 2026. All rights reserved.