Local first · Open source · Built in public

Plans break. The system should help you return.

After almost three years of showing up, a difficult period left me with a backlog that no red date could explain. I came back needing more than another overdue list.

I am building the task app I wanted: deep enough for serious work, calm enough for daily life, available offline, and small enough to run on my own server.

Open my tasks Why this exists Follow the build
Today

Back in motion

2 of 6
Local first
The phone remains useful offline.
Deep work
Hundreds of nested steps stay navigable.
Small server
One service, one database, no idle polling.
Yours
Self-hosted and licensed AGPL-3.0.

A backlog can record dates. It cannot record what happened to you.

The system worked for almost three years. Then life interrupted it. That history matters because the overdue tasks are residue from a difficult period, not proof that the routine or commitment was false.

Returning should begin with orientation: what still matters, what can be released, and what belongs in this week. The app should preserve context without turning it into another form to maintain.

The list kept Overdue
The person knew Life interrupted the routine.

The return needs a new plan, not a louder warning.

  1. 01 · Before Routine held Almost three years
  2. 02 · Interruption Life changed The list lost context
  3. 03 · Now Re-orient first Keep, release, reschedule

One clear surface for the day. Full depth when the work demands it.

A daily list should stay quiet. A professional project should expose its whole structure. The same task model powers both views, so planning never requires copying work into a second system.

Interactive project tree

Release client portal

20%2 of 10 complete

Billing workflow

Finish and verify the payment path before the release deadline.

Due
24 September at 16:00
Priority
High
State
Open
Reminder
1 day before
NoteConfirm the final invoice states with finance before handoff.
01

Daily and weekly panels

Sort by importance or due time without losing the task's project context.

02

Arbitrary-depth trees

Collapse, reorder, indent, outdent, and move entire branches as one unit.

03

Habits and focus

Track routines and start a timer from the task that needs the attention.

The phone is the working copy. The server helps devices agree.

Creating, editing, completing, and reorganizing work happens locally. Synchronization waits for a connection and sends changed records instead of downloading entire projects again.

The first backend is running on Rust and SQLite. Tasks save on your device; private synchronization connects your devices when you are online.

Your phone Offline-ready
Edit task saved now Complete habit saved now Reorder branch saved now
IndexedDBworking copy
Outbox3 changes wait locally When onlinesend only changed records
Small VPS When online
Sync APIaccept deltas SQLiteshared state Backupsrecoverable copy

Offline: nothing waits. Online: the outbox drains and another device can catch up.

Read the decisions. Inspect the code. Run your own copy.

The project uses AGPL-3.0. The repository link will appear here with the first public push. Until then, this page describes active development rather than a finished product.

Repository link pending

Your day, one tap away

Give your plans a home.

On iPhone, open this site in Safari, tap Share, then Add to Home Screen. Enable Open as Web App if offered.

On Android, open your browser menu and choose Install app or Add to Home screen. On desktop, use the install icon in the address bar.

The app stores tasks on your device and works offline after its first load. Connect private sync inside the app to use your server.

Open my tasks