Guide

This is the long-form reference for everything in DONE(kinda). Skim the table of contents on the left for a specific feature, or read it top to bottom.

Getting started

The first time you open the app, a five-slide welcome appears: Welcome, To-do + Day + Week, Habit + Nook, Meaningful, and a closing tile that points you at Settings → Guide for the in-app help surfaces (replay onboarding, Tips & tricks, Icon glossary). Tap through or skip to jump in. Replay any time from Settings → Guide → Replay onboarding.

Right after onboarding, the app also fires a handful of small contextual hints the first time you land on each surface (the status cycler, the Week-tab drag, swipe gestures, and so on). They're one-shot toasts you can dismiss. See Contextual hints below.

The app is local. Nothing you do is sent to a server. To back up or move to another phone, use Settings → Data → Backup → Download backup (JSON) to grab a full snapshot, then Restore from file on the other device. (Export is the human-readable flavour: HTML and per-collection CSVs; Backup is the machine-readable round-trip.)

The five tabs

The bottom tab bar has five surfaces, left to right: Week, Day, To-do, Habits, Nook. They share data; each one frames it differently.

  • Week: a digest across seven days. Drag a to-do from one day to another to reschedule. Skim before planning.
  • Day: today's schedule. Time-anchored events. Use this for "what's happening when".
  • To-do: today's tasks. Things to do, no fixed time. Use this for "what needs doing".
  • Habits: your routines and the check-in grid for the past week.
  • Nook: your save-for-later. Notes, links, podcasts, articles, anything you want to come back to.
Day vs. To-do: they are separate tabs on purpose. Events live on the Day tab; to-dos live on the To-do tab. Don't expect to-dos to show up under your schedule (and vice versa).

Adding to-dos

Two ways to add a to-do.

From the To-do tab

Each bucket (Morning / Afternoon, or any custom buckets) has a faded + Add to-do line at the bottom. Tap it. The line expands into a full form: title input, plus a chip strip for tag, category, priority, meaningful, and pin. The reminder bell, deadline flag, and palette icon live in the action row. Optional + Add note sits below the chips for a quick context line at create time. Tap Add when you're done.

From the floating button

The purple circle button in the bottom-right opens the Quick Capture sheet. Type a title and submit, or use natural language like buy bread tomorrow @health #shopping. See Quick capture for the full syntax.

Editing

Tap the chevron on a row to expand it. The expanded form mirrors the add form: title field, action row, optional notes timeline. Tap the chevron again to collapse. Edits save as you type; there's no Save button.

Editing the title: tap the title on any row to rename in place. When the row is collapsed, the same tap expands it first — one tap from any state to start editing. The input lights up with a subtle background so you can tell you're in edit mode; tap outside or press Enter to commit. Works the same way on every row across the app (to-dos, events, habits, Nook items, meaningful entries).

Notes timeline

The note field on a to-do is append-only: every entry you add becomes a new line in a timeline, timestamped. The latest entry shows in the collapsed row preview, in the Meaningful sheet, and in the DONE(really) archive when relevant. Each note stays editable for 5 minutes after you add it, then locks in place — so the older entries become a quiet record of how a to-do evolved. Useful for "started this Monday, blocked Tuesday by X, finished Friday" trails on longer-running items.

Sink done to the bottom

Settings → To-dos → Sink done to bottom changes how each bucket is ordered. With it on, completed rows sink below pending rows in their bucket (Morning or Afternoon), regardless of sortOrder. Pinned-and-done rows still anchor to the top of the bucket — pinning beats this rule. Off by default; flip it on if you want the active work to read first at a glance.

The status cycler

Every to-do, event, and habit row has a small squircle on the left. Tap it to advance the status. The cycle differs by row type:

  • Non-recurring to-do: pending → done → skipped → pending.
  • Recurring to-do: pending → done → skipped → paused → pending. Pause is template-level (cascades to every linked instance silently). Skip is per-instance (no cascade). Paused sits last so cycling out of paused wraps to pending — one-tap resume.
  • Event: pending → done → skipped → pending. Events don't carry a paused state.
  • Habit: absent → done → skipped → paused → absent. Pause is template-level; skip is per-date.

Each state has its own glyph. Done shows a check; paused shows two bars; skipped shows a horizontal dash; pending / absent shows three queued dots. Done strikes through the title. Paused and skipped both dim the row (no strike). The two channels never overlap: strike = done, dim = on hold.

Swipe-left as undo: swipe a non-pending row left to flip it back to pending in one gesture. Useful when you want to undo without cycling through the remaining states.

Legacy states: rows that already carried in_progress or blocked from before the 2026-05-22 simplification still render their old glyph. Tap the cycler once and they advance into the new cycle (pending → done → …). The two states are kept in the schema for backwards compat but aren't reachable as new states.

Resuming a paused series

Cycling a paused recurring to-do or habit takes today's row back to pending (or absent on a habit) and unpauses the template — one tap, the row returns to active. If other instances are still greyed out from the original pause cascade, a small sheet appears asking what to do with them: Just today (leave others paused), Resume future (paused future instances become pending), or Resume all (every paused instance becomes pending, regardless of date). Past stays paused under "Resume future" so your historical pause window stays intact.

Swipes and gestures

Rows respond to four interactions. The hierarchy from most-deliberate to most-casual:

  1. Drag handle: every to-do and habit row carries a small grip handle on the left of the title. Press and hold for ~120ms on the handle, then drag. Drop in a new spot to reorder within the same bucket; on the Week tab, drop on a different day's card to reschedule.
  2. Long-press: long-press anywhere on a row body to enter multi-select / selection mode. Tap more rows to add them to the selection, then use the action bar at the top of the screen to batch Archive, Delete, or Mark done. Tap the back chevron or empty the selection to exit.
  3. Swipe: right swipe is the "forward" action: from pending it marks done; on a done row, a second right-swipe sends it to archive. Left swipe is the "undo": flips a done row back to pending (no-op on a pending row).
  4. Tap: chevron-only-toggle. Tapping the row body never opens it; only the chevron (›) on the right edge expands. The title is the one exception: tapping a row's title puts the title into rename mode (and expands the row first if it's collapsed).

If you're left-handed, turn on Settings → General → Mirror swipes. Right and left swap meanings.

Drag the + button

The floating Quick Capture button is itself draggable. Press and hold the button, then move it anywhere on screen. Release near an edge for a tidy snap, or leave it mid-screen. The position persists across sessions, so you can park it where it doesn't cover the content you're looking at.

Swipe months on the calendar

The expanded month-view calendar (header date strip, deadline picker, move picker, recurring end-date, anywhere a calendar appears) responds to horizontal swipes: swipe left for the next month, right for the previous. The chevron arrows still work as a fallback. Swipes only register past a 50px threshold and need to be more horizontal than vertical, so brushing against the grid while reading doesn't accidentally page.

The Day tab

The Day tab shows the timed schedule for the selected day. Use the date strip at the top to navigate (chevrons or the calendar caret). All-day events bubble to a section at the top; timed events fall into MORNING or AFTERNOON based on the start hour.

Adding an event

Tap + Add event at the bottom of the timeline. A form appears with the title first, then a row containing the All day toggle plus two time pills joined by an arrow (HH:MM → HH:MM). Tapping either time pill opens a small picker with hour and minute steppers plus a Now shortcut — the same picker the reminder bell uses, so the gesture model is identical wherever you're setting a time. The end-time pill stays in a quieter unset state (no accent fill, neutral border) until you commit a value, with the placeholder showing start + 1 hour as a preview. Opening that muted pill and dismissing it (tap outside, or tap the pill again) commits the placeholder, so "I want exactly 15:00" is one tap. To remove an end time once set, open the End pill and tap Clear at the bottom of the popover. The collapsed row mirrors the unset state: shows only the start time when the end is unset, shows start → end once it's set. Below the time row sits the chip strip (period, category, tag, priority, palette, star, recurring, plus a calendar-with-dot icon for Ends on) and an optional + Add note.

Smart capture works in the title: type 9-10am or 14:00-15:30 and both time pills fill in. @category, #tag, and !priority light up the matching chips. Once parsed, the matched tokens are stripped from the saved title.

End time, all-day, multi-day spans

Toggle All day to hide the time pills and turn the event into a day anchor (vacation, conference, holiday). All-day events render in their own section at the top of the day, above MORNING / AFTERNOON. They appear on the Week tab digest the same way timed events do (see Week tab for the event surfacing rule).

Tap the calendar-with-dot icon (next to the Recurring affordance) to set an Ends on date. The event then renders on every day in the span: Day 1, Day 2, Day 3 of N. The Ends-on calendar carries a small filled dot inside the body so it stays in the calendar family but reads distinctly from the Week tab icon. Setting Ends on is one-off-only; recurring events use the gear → recurrence sheet for their own end cap.

Cross-midnight (end time before start) is not supported in v1. If you set an end before the start, it snaps back to a point event. For night-shift use cases, create two events (e.g., 22:00 → 23:59 today + 00:00 → 06:00 tomorrow).

Editing an event

Tap the time on a collapsed row to inline-edit both start AND end times in place. Or expand the row (chevron) to use the chip strip, with the same All-day, start time, end time (popover with steppers + Clear), and Ends-on affordances live there too. Both edit paths write the same change.

Up next banner

When today has an upcoming event, a small banner sits above the timeline showing what's next and how many minutes until it starts.

Recurring events

Tap the recurrent icon when adding to attach a cadence. Daily, weekdays, weekends, weekly with day picker, monthly, and annually are all supported, along with every N intervals. Recurring events render as one row that surfaces on every matching date; per-instance edits (today's title, today's time, today's category) write to a per-date override so the series template stays clean. See Recurring for cascade rules.

The Week tab

The Week tab shows seven days of digests at once. Each day has its to-dos, events, and habits in a stacked card.

Event surfacing rule: events follow the same rule as to-dos. Past days surface every event for that day (history); today and future surface events that aren't checked off. No priority gate — !high still has a visual effect (priority chip on the row, sort weight on the Day timeline) but doesn't change whether the event appears on Week. Heavy days cap at 5 visible events with a +N more pill at the end of the chip strip; tap any chip or the row to jump to the Day tab where the full list lives.

Tap to navigate

Each strip on a day card routes to the relevant tab on that date. Tap a to-do row (or the day-card background) to jump to the To-do tab; tap the event strip to jump to the Day tab; tap a habit dot to jump to the Habits tab. The date you tapped becomes the selected date everywhere.

Drag-to-schedule

Long-press any digest to-do row. The card lifts; drag onto another day's card to move the to-do to that date. Quick taps still open the day; quick swipes still navigate weeks. The 120ms long-press is the gate that picks the gesture.

Drag-to-schedule moves to-dos only (not events or habits) and works across days but not within the same day.

Drop precision

You can drop right between two existing rows on a day. The dropped to-do lands at that position in its morning or afternoon bucket when you switch to the To-do tab. Dropping on the day-card body (no row underneath) appends to the bottom of the bucket. Each day card shows up to 5 to-dos at a glance; if a day is busier, a +N more hint appears. Open the day to see and reorder the full list, since drops only target visible rows.

Reading order

Within each day, AM (morning) rows render before PM (afternoon) rows. So a freshly-added morning to-do appears among the morning ones in the digest, matching the To-do tab's bucket order.

Carousel cards

If your week has Achievements unlocked or a celebratory weekly wrap, those appear as cards above the day grid.

Habits

Habits are routines you check in on. Different cadence than a to-do: a habit is for "do this regularly", not "do this once".

Adding

Habits tab → + Add habit. Pick a cadence: daily, weekdays only, weekends only, weekly with specific days, every-N-days. Habits also accept a category, tags, priority, palette, and a note.

Smart capture works in the title: type Stretch @health #morning and the category and tag chips fill in. Recurrence is intentionally not parsed from the title; the cadence picker below is the canonical input for how often a habit repeats.

Checking in

Each habit row has the cycler. Tap to mark today's check. The grid at the top of the Habits tab shows the past week so you can see streaks at a glance.

Pausing

Cycle to Paused to halt a habit without deleting it. The row dims. Resume by cycling forward again.

Multi-period (AM + PM)

Both recurring to-dos and habits can fire twice a day from a single template: edit the row and tap both AM and PM period chips. Two instances per day, one template. For habits this auto-splits into sibling templates under the hood (the check grid has no period dimension), so you'll see one row per period in the Habits tab; for recurring to-dos it stays one template that emits one morning + one afternoon instance each matching day.

Nook

The Nook is your save-for-later. Podcasts, videos, links, articles, books, anything you want to remember without it polluting your task list.

Adding

Nook tab → + Add inside any bucket. Pick a type (podcast, video, link, article, book), give it a title, optional URL, optional body. The chip filters across the top of the tab let you narrow the view by type.

Pinned scratchpad + daily note

The Nook also includes a permanent pinned scratchpad and a fresh daily note for the selected day. Both support the same body editor.

Meaningful

The star feature, literally. Star a to-do, event, habit, or thought as Meaningful and it lives in the carousel at the top of every day. A quiet reminder of what's behind the busy.

Marking as meaningful

Tap the star icon on the expanded row's action bar. Add a "why this matters" note. It'll surface in the carousel and the DONE(really) archive.

The carousel

One rotating line at the top of every tab when you have meaningful items. Tap the chevron to see the full list in a sheet.

DONE(really)

When a meaningful to-do is completed, a celebration overlay fires and the entry is added to the DONE(really) archive, your record of significant completions over time.

Restoring a DONE(really) entry

Restore a DONE(really) entry from the archive and its source to-do comes back too — the original row reappears in the bucket it lived in, with its previous status (pending, in progress, blocked, etc). Useful if you marked something done by accident, or want to revisit a meaningful item later. The link works in one direction: if you only delete the source to-do (leaving the DONE(really) entry), the archive entry survives as a standalone record.

Recurring

Recurring to-dos and events generate instances on a cadence. The template is the source of truth; instances on each date inherit from it.

Cadence options

  • Daily: every day
  • Weekly: pick specific days (Mon, Wed, Fri, etc.)
  • Weekends: Saturday and Sunday only
  • Every N days: for cadences like every-3-days
  • Annually: for birthdays / yearly events

Editing instances vs. the template

When you edit a recurring row, you're prompted: "This one / This and future / Whole series". Pick the scope. Some fields (title, category, tags) prompt you; others (colour) cascade silently; AM/PM and cadence are template-only.

Removing

The trash icon on a recurring row opens a delete-scope dialog with three options:

  • Delete this: just today's instance
  • Delete this and future: ends the series at today
  • Delete whole series: wipes the template and every linked instance

30-day archive purge (recurring templates only)

Recurring to-do, habit, and event templates that you archive are kept for 30 days, then auto-purged on app boot. The Recurring / Habits / Events archive screens show a countdown so you can restore before the cutoff. Regular to-do archives, Nook items, and DONE(really) entries are kept indefinitely — the 30-day rule only applies to recurring templates, where stale entries would otherwise build up forever.

Per-instance edits

For both recurring to-dos and recurring events, you can change just today's instance without breaking the link to the series. Edit any chip on a recurring row (title via inline rename, category, tags, priority, colour, period for to-dos, time for events, meaningful flag, note) and the change applies only to this date. Other dates in the series still render the template's values.

The series itself is edited from the gear icon (⚙) on the row, which opens the Edit recurring sheet. That's the canonical place to change a field for the whole series, with cascade prompts where they apply.

How to spot an override

A small accent dot appears in the top-right corner of any chip whose value differs from the template's. Same visual language for to-dos and events. The row also shows an italic footer line inside the expanded form: “Changes here apply to this instance only. Tap the gear to edit the whole series.”

You don't need to expand the row to know it's drifted. The status cycler on a collapsed recurring row carries the same accent dot whenever any field has been overridden — one quick visual signal that this instance differs from the rest of the series. Expand the row to see exactly which field.

For to-do rows, the recurring badge next to the title also gets a smaller dot when the title itself differs from the template, in case you want a title-specific cue.

Resetting to the series

Set a chip back to the template's value and the dot disappears automatically. The override is dropped. If you'd rather rebuild the whole instance from scratch, the Remove from recurring button (the recurring icon's left half on a recurring row) detaches today's instance entirely; from that point it's a standalone item you can edit freely.

Reminders

Each to-do can have a scheduled time and a reminder offset.

Setting a reminder

Tap the bell icon on the expanded to-do row — there's no separate clock icon, the bell handles both the scheduled time and the reminder offset. The popover opens with a stepper time picker (hour and minute, tap or type) and offset chips below: At time, 5 min, 15 min, 30 min, 1 hour, 2 hours. Pick how long before the scheduled time you want to be reminded.

If you pick an offset chip without setting a time first, the chip reads as fire in that many minutes from now. So tapping 5 min on a to-do with no scheduled time sets the time to five minutes from now and fires the notification then; tapping 1 hour sets it an hour out, and so on. You can shift the time afterwards with the stepper if you want a different anchor.

The popover hides offsets that would land in the past, so if you're scheduling for 5 minutes from now you won't see "30 min before".

Cross-midnight offsets

If a reminder offset would land on the previous day (e.g. a 60-minute offset on a to-do scheduled for 00:30), the reminder fires at midnight of the to-do's day instead of crossing into yesterday. The notification still fires, just at the day boundary rather than the offset you picked. Avoid offsets larger than your scheduled time if you want the literal offset honoured.

Permission

The first time you schedule a reminder, Android prompts for notification permission. If you deny it, no reminder will fire until you enable it in system Settings → Apps → DONE(kinda) → Notifications.

Morning briefing

Settings → Notifications → Morning briefing: a daily nudge at the time of your choice. Useful as a "open the app and plan your day" anchor.

Quiet hours

If you don't want notifications during a window (say, 22:00 to 07:00), enable Quiet hours in Settings. Reminders that would land inside that window are suppressed.

Yesterday's unfinished

When you have unfinished to-dos from yesterday and you're on the manual carry-forward mode (the default), the app surfaces them in a small triage sheet the first time you open the app each day. Each row has two buttons:

  • Today: brings the to-do forward onto today's list.
  • Keep: leaves it on yesterday and hides it from the sheet for today.

The footer of the sheet has Push all to today for a one-tap bulk move, plus Later to dismiss.

Dismissed the sheet too quickly? A small banner stays at the top of the To-do tab whenever yesterday has unfinished items. Its Bring over button reopens the same triage sheet so you can decide per-item. Same flow whether you wake up to it or hit it mid-day.

If you'd rather skip the triage entirely, switch Settings → To-dos → Carry forward to Automatic. Yesterday's unfinished to-dos will roll into today on their own each morning.

How auto-carry fires

Auto-carry runs once per calendar day: on app boot, and again at midnight if you leave the app open across the day boundary. A subsequent boot, foreground, or pref-toggle later in the same day is a no-op (yesterday's leftovers already moved). If you switch from Manual to Automatic mid-day for the first time, the carry fires immediately for that day's yesterday-leftovers; subsequent toggles within the same day don't re-fire. First-ever install never carries retroactively — the rule starts running from your second day.

Filters, search, and saved views

Search

The magnifying glass in the header opens a full-screen search across every tab and date. Match is by title, tag, or category — archived items are included so you can find a row you tucked away weeks ago. Results group by tab (To-do, Day, Habits, Nook) so you can jump straight to the surface where the item lives.

Filters

The filter chip (also in the header) opens a draft filter panel. Narrow the visible list by date range, status, priority, category, tags, recurrence, and meaningful flag. Filters apply per tab. The panel is two-layer at most (no nested sheets), and the chips are draft until you tap Apply — closing the panel discards anything you didn't commit.

Saved views

Once you have a useful filter combo, save it as a named view. The view chips appear at the top of the panel. Tap to apply, long-press for actions (rename, update with current selection, delete).

Categories and tags

Both classify items, but they behave differently:

  • Category: single-select (one per item). Drives the row's left-edge bar colour by default.
  • Tags: multi-select (up to three per item). Don't drive colour, just appear as chips.

Manage both from the kebab menu in the header (Categories, Tags). Each gets its own list with rename, recolour, delete.

Bar colour cascade: the left-edge bar colour resolves in this order: palette override (per-row, via the palette icon) → your preferred source (category or tag, set in Settings → Appearance → Bar colour priority) → the other source as a fallback → a neutral default. So if your preferred source is "category" but a row has only a tag, the tag colour still shows; the preference picks priority order, not a hard gate. A per-row palette pick always wins.

Quick capture and smart capture

The floating purple button is for fast adds without leaving your current view. Tap it, type, submit. Works for to-dos by default; flip the type chip to add an event or note instead.

Smart capture

The title input parses common phrases inline. Smart capture is just our name for the same trick most people would call inline tags, shortcuts, or NLP — type a sigil or a time anywhere and the matching chip lights up:

  • tomorrow, monday, next week → sets the date
  • at 14:00, at 2pm, 18:00 → sets the scheduled time
  • 9-10am, 14:00-15:30 → sets a time range (start AND end)
  • !high, !med, !low → priority chip
  • @category-name → category chip
  • #tag-name → tag chip

Tokens can appear in any order. Call mum @personal #family !high 18:00 and 18:00 Call mum #family @personal !high parse to exactly the same thing. The saved title is whatever's left over after the matched metadata is stripped.

Recurrence keywords like daily or every monday are intentionally not parsed from the title. They're bare English words that collide with legitimate to-do titles like "Daily standup" or "Weekly retro." Use the recurring icon below the input to attach a cadence.

The action-row chips below the input update live as you type, so you can see what's been parsed. Tap any chip to override.

Sigil guards

If a #tag or @category doesn't match anything in your existing tag or category list, it stays as literal text in the title. So #meeting with no matching tag, or @anywhere with no matching category, is safe to type. The sigils only "claim" the word when an autocomplete match exists; otherwise they fall through into the saved title verbatim. This is the safety net: typos like @personl won't accidentally create an orphan category next to @personal.

Create from a sigil

When you actually want to make a new tag or category right from the input, a small + Create chip appears below the smart-capture chip strip for every unmatched sigil. Tap the chip to create the entity (with a default colour) and assign it in one go. The parser re-runs on the next keystroke, the matching tag or category chip lights up automatically, and the create chip disappears. No trip into Categories or Tags settings required.

Because the create step is an explicit tap (never automatic on sigil match), the safety net above stays intact: a literal sigil-word that doesn't match anything is just typed text until you choose otherwise.

Works in every add surface

Smart capture runs in + Add to-do (To-do tab buckets), + Add event (Day tab), + Add habit (Habits tab), and the recurring template form, not just Quick Capture. Everything described above applies wherever you can type a title.

Share to DONE(kinda)

DONE(kinda) registers as an Android share target. From any app (Chrome, an RSS reader, a podcast app, your phone's Notes), tap Share and pick DONE(kinda). The shared text or URL lands pre-filled in Quick Capture.

If the shared content contains a link, a small Looks like a link. Save to Nook banner appears at the top of the sheet. One tap saves it straight to the Nook tab as a link item, no further setup. Otherwise the standard Quick Capture submit creates a to-do, event, or habit depending on the selected mode.

Android lazy-indexes new share targets, so DONE(kinda) might take a minute to appear in the share sheet after first install. Sharing once from another path usually wakes it up.

Themes

18 themes live under Settings → Appearance → Theme: nine light Pastel Drift themes (Lavender, Sage, Mint, Rose, Orchid, etc.) and nine dark Iron Drift themes (Charcoal, Pine, Walnut, Teal, Burgundy, Plum, etc.).

Each is a complete palette: accent, background gradient, text tiers, surface colours. Switching is instant and doesn't reload anything. The status bar matches the theme automatically. Your chosen theme persists per device; the app doesn't auto-follow system dark mode.

App icon

The Android launcher icon can swap with your theme. Settings → Appearance → App icon offers Auto (the default: Light icon for any light theme, Dark icon for any dark theme), Light, or Dark as a manual override. Both variants show the same white sphere mark — only the background swaps (lavender squircle for Light, charcoal for Dark) so the icon matches the in-app wordmark.

Extras

Optional features grouped under Settings → Extras.

Rage shake

Stuck? Shake the phone four times within a second. A bottom-up popup slides in with one of today's undone to-dos and a motivational line. Auto-dismisses in 3 seconds, or tap to skip. Picks today's first undone in reading order: AM bucket before PM, then pinned, then highest priority, then earliest order. The threshold is tuned (24 m/s²) so casual movement doesn't trigger it.

Weather

A short weather flourish on the first cold-open of each calendar day. Animated background per category (clear / partly cloudy / cloudy / fog / rain / snow / thunder), temperature, and high/low. Uses your device's coarse location to fetch from Open-Meteo. Once-per-day only; restart the app the next morning to see it again. Tap anywhere or the Close button in the top-right to dismiss early.

If you have the weather toggle on but deny location permission, you'll see a one-time toast explaining what's needed.

Both Extras default to ON; toggle off in Settings to disable.

Pomodoro

A focus timer that floats in the bottom-right when enabled. Off by default — flip the top toggle in Settings → Pomodoro to opt in. Once on, a small pill anchors to the bottom-right of the screen across every tab; tap it to start a session.

Default cadence is a 25-minute work block, a 5-minute short break, and a 15-minute long break every 4 sessions. All four numbers are configurable in Settings → Pomodoro, along with Auto-start next phase (chains work and break automatically) and the Phase chime (a soft sound at each transition).

The pill stays visible while a session runs so you can switch tabs without losing it. Drag the pill to move it out of the way if it covers something you want to see.

Changed your mind? Tap the pill to expand the card, then tap Hide at the bottom. The timer resets and Pomodoro turns off without a trip to Settings. Re-enable any time from Settings → Pomodoro.

Stats and achievements

DONE(kinda) keeps two distinct views on your activity. Stats is always on and shows the raw numbers. Achievements adds a soft layer of recognition on top. Both layers ship on by default; turn either off in Settings → Achievements if you'd rather skip the gamification. Open both from the kebab menu (top-right) → Stats. Achievements lives behind a link inside the Stats screen.

Stats

Stats opens to a single scrollable screen with four blocks, top to bottom.

This month: heatmap and pills

The heatmap is a small calendar of the current month, one square per day. Squares fill in based on activity for that day. Two pills underneath show the month's totals: active days (any day you completed something) and to-dos done.

Reading the heatmap colours:

  • Empty cell (faint surface tint): no activity that day, but the day has happened.
  • Light accent fill: a small amount of activity (one or two completions or habit checks).
  • Strong accent fill: a busy day. The shade scales with the day's intensity (completed to-dos plus done habits) relative to your busiest day in the visible range, so the colour is always meaningful in context.
  • Transparent / faded cell: a future day. Hasn't happened yet.
  • Cell with a thicker accent border: today.
  • Cell with a faint accent ring inside: you marked at least one DONE(really) entry that day.

The point of the heatmap isn't to chase a perfect grid. It's a quiet reminder of the rhythm of your weeks: the cadence of how you actually work, not how an app thinks you should.

All time: lifetime totals

Three pills with no decoration: total active days across the entire history, total to-dos done, and total DONE(really) entries (only shown when you have at least one). These are the big-picture numbers.

Per-habit summary

One row per habit, with the habit's name and adherence percentage over the last 30 days by default. Tap any habit row to expand it. The expanded view includes:

  • A larger heatmap focused on that habit alone (same colour rules as above: filled = done, empty = scheduled-but-skipped, transparent = not scheduled).
  • Adherence and streak numbers for the selected window.
  • A date range picker so you can pick any window you want. Default is the last 30 days; tap the date pills to choose a custom from and to. Adherence and the heatmap recompute live as you change the window. A Reset pill restores the default 30-day window when you're ready to leave the custom range.

Useful for questions like “how have I done with this habit since I started a new job in March?” or “what was my exercise consistency last summer?”

Most meaningful month

If you've recorded any DONE(really) entries, the calendar month with the most of them gets its own card. Just the month name and count. Optional and quietly there.

Achievements

Achievements has two parallel layers, both on by default. Disable either in Settings → Achievements if you'd prefer no gamification:

  • Active days: the Rhythm tier system.
  • Badges: the badge grid.

Turn both off and Achievements disappears entirely. The link inside Stats hides itself.

Rhythm tiers

Six tiers, ordered by effort. The first three are rolling-window tiers: they reflect how active you've been recently and can drop off if you slow down. The last three are lifetime cumulative: once earned, they stay earned. The split is intentional. The rolling tiers track your current rhythm gently; the lifetime tiers are distance markers that reward you for sticking around.

TierTypeRequirement
🌱 Finding Your Rhythmrolling7 active days in the last 14
🎵 In the Grooverolling20 active days in the last 30
🌊 Good Rhythmrolling50 active days in the last 90
🌲 Still Herelifetime100 active days total
🎉 A Whole Year Done(kinda)lifetime365 active days total
🚀 Unstoppable Kindalifetime500 active days total

An “active day” means any day on which you completed at least one to-do or marked at least one habit done. Just showing up counts. Hitting a new tier surfaces in the Week tab digest the following Sunday.

The rhythm card on the Achievements screen shows the full ladder of all six tiers below the current-tier hero. Earned tiers render in colour; locked tiers render greyscaled with a one-line hint of what unlocks them. Same visual language as the badge grid.

Badges

Twelve specific milestones. Each shows as a locked outline with its unlock hint until you earn it, so the full set is visible at a glance. Nothing is hidden or surprise-only. Unlocking a badge fires a soft confetti animation (toggleable in Settings → Achievements → Celebrate achievements).

BadgeUnlocked by
🎯 One DownComplete your first to-do.
🔥 On FireComplete 5 to-dos in one day.
⚡ Not Stopping Now50 to-dos completed (lifetime).
💯 No Kinda About It100 to-dos completed (lifetime).
🌠 Seriously Though250 to-dos completed (lifetime).
📋 The Lister500 to-dos completed (lifetime).
👑 Fully Done1000 to-dos completed (lifetime).
🦊 Night OwlComplete a to-do between midnight and 4 am.
💪 Monday? Fine.Finish every Monday to-do before 10 pm.
🎊 Friday LegendComplete every to-do scheduled for a Friday.
🎌 New Year Same ListComplete a to-do on January 1.
🏅 Overachiever (kinda)Complete 10 to-dos in one day.

The badge philosophy: nothing punishes you for missing one. There are no “daily streaks” that reset. Badges only ever go from locked to earned, never back. Some are short-term wins for a single day; others reward sustained effort over months. Pick the ones that resonate and ignore the rest.

Data & backup

Everything you create lives in your phone's local storage. Settings → Data has two flavours of export and a danger zone.

Export (human-readable)

  • Printable: a tidy HTML file. Open it in your browser, then Print → Save as PDF. Includes to-dos and schedule grouped by day, habits with their schedule, Nook items grouped by status, and DONE(really) by month, plus separate sections for archived items.
  • To-dos (CSV): one row per to-do, with category and tag names resolved.
  • Habits (CSV): one row per habit template, with a human-readable schedule string ("Weekly: Mon, Wed, Fri · AM").
  • Nook (CSV): one row per saved item, with type, status, source and URL.
  • DONE(really) (CSV): one row per meaningful moment.

Backup (machine-readable)

  • Download backup (JSON): a single file with everything: every collection, preferences, badge state, saved views, sequence counters. Use this to move to a new phone or hold a complete snapshot.
  • Restore from file: pick a previous JSON backup. Replaces everything currently in the app, so download a fresh backup first if you're not sure.

Import

  • Import to-dos (CSV): bring to-dos in from a CSV exported by Todoist, TickTick, or any spreadsheet with a title column. Aliases text / name / task / content also work. Optional columns: date, priority, tag, category, notes, deadline. Priority numbers map per source (Todoist 1-4 inverted, TickTick 0-5 forward). Tags and categories are matched case-insensitively by name and created if they don't exist yet. Adds to your data — never replaces what's already there. When the import finishes, an Import complete sheet pops up summarising what landed: how many to-dos came in, how many new tags / categories were created, how many to-dos got linked to a tag or category, and a breakdown of any rows that were skipped (section / note marker rows from Todoist or TickTick, or rows that were missing a title). Close the sheet to return to Settings.

Danger zone

  • Factory reset: wipes all data and prefs. Confirmable. Useful for clean-slate testing or if you're handing the device to someone else.

Contextual hints

The welcome onboarding teaches the mental model (the tabs and what they mean). The deeper gestures — the four-state status cycler, the Week-tab drag, swipe-right's two-step, the meaningful flag, the draggable + button — are surfaced as small lavender toasts the first time you land on each surface or perform the relevant gesture. Each fires exactly once per device, then never again, so they don't get noisy.

The five hints currently wired:

  • Cycler: on first visit to the Day or To-do tab.
  • Week-tab drag: on first visit to the Week tab.
  • Swipe grammar: on your first swipe of any row.
  • Meaningful flow: after you mark your first to-do meaningful.
  • FAB drag: shortly after the floating + button first appears.

Each toast is tappable to dismiss and auto-fades after 7 seconds. If you blew through one and want to see it again, scroll to the bottom of Settings → Guide → Tips & tricks and tap Reset onboarding hints. All five "seen" flags clear; the hints fire again the next time each trigger fires.

Hints are modal-aware: if a sheet, dialog, or the welcome onboarding is currently open, a hint that's about to fire waits up to 45 seconds for the dialog to close, then fires. If the dialog hangs around longer than that, the hint stays unfired and retries on the next trigger — it won't get silently consumed.

Tips & tricks

The companion to this guide. Settings → Guide → Tips & tricks opens a scrollable reference page grouped by intent:

  • Gestures: status cycler, swipes, long-press, drag handle, the + drag, chevron-to-expand.
  • Capture: smart capture examples, sigil guards, Share from any app.
  • Plan: yesterday's unfinished, reminder offsets, multi-period, pausing habits.
  • Customise: themes, palette override, app icon variants.
  • Track: notes timeline, Rhythm + Badges, filters with saved views.
  • Extras: weather, rage shake, Pomodoro.
  • Move data: import, JSON backup + restore, per-collection CSVs.

Each entry is a single sentence plus a one-line explanation. Anything covered by a contextual hint (cycler, drag, swipe, meaningful, FAB drag) is intentionally not repeated there — the hint handles the moment-of-need; Tips & tricks is for the rest.

Prefer the web? The Tips & tricks page on this site mirrors the in-app reference exactly, so you can skim it from a desktop browser.

Icon glossary

Every interactive glyph in the app has a name and a meaning. Open Settings → Guide → Icon glossary for the full reference. The list is grouped by purpose so you can scan-match by category:

  • Status cycler: the small squircle on each row. Pending, in progress, blocked, paused, done.
  • Row tools: the chips in a row's expanded view. Colour, pin, reminder, deadline, ends on, move, duplicate, habit, meaningful, recurring, recurring rule (the cycle + gear pair on a recurring row), archive, delete.
  • Navigation: the expand caret, chevrons for previous / next, doubled chevrons in calendar pickers jump a full year.
  • Swipe and toast actions: Undo (appears in toasts and on swipe-left reveals).
  • Tabs: the five bottom-tab glyphs.
  • Header and tools: the icons that live in the top bar and the kebab dropdown. Search, filter, more menu, categories, tags, date picker, settings, quick capture.
  • Nook content types: podcast, video, link, article, book.

The list mirrors the icons exactly (same shape and stroke weight as you see in the app), so you can match by sight without guessing.

Prefer the web? The icons reference page on this site shows the same icons in a single grid, handy for a quick scan without opening the app.

Settings tour

Settings groups its sections by purpose:

  • Appearance: theme, font size, bold text, high contrast, reduce motion, app icon, bar colour priority.
  • General: date format, time format, first day of week, startup tab, mirror swipes, Quick Capture button toggle.
  • To-dos: default priority, period, reminder offset, carry forward, confirm before delete, highlight overdue, sink done to bottom.
  • Event / Recurrents / Habits / Nook: per-domain defaults.
  • Notifications: enable, quiet hours, vibration, morning briefing, briefing time.
  • Pomodoro: work/break durations, sessions before long break, auto-start, chime.
  • Extras: rage shake, weather.
  • Achievements: active days toggle, badges toggle, celebrate achievements (default on; turn off for no gamification).
  • Data: export, import, factory reset.
  • Guide: tips & tricks, Icon glossary, replay onboarding, link to this guide.
  • About: version, privacy link.
Nothing matches that yet. Try a shorter word, or clear the filter.