73 lines
3.6 KiB
Markdown
73 lines
3.6 KiB
Markdown
# Steady 🌿
|
|
|
|
A calm, ADHD-friendly task list. One HTML file, no build step, no server,
|
|
no account. Everything lives in your browser.
|
|
|
|
## Install
|
|
|
|
There's nothing to install. `index.html` *is* the app.
|
|
|
|
- **On this device:** double-click `index.html`, or drag it into a browser window.
|
|
- **On another device:** copy the file over — USB stick, AirDrop, cloud drive
|
|
(Dropbox/Drive/iCloud), email it to yourself, or push this folder to a
|
|
private git repo and pull it down elsewhere. Then double-click it there too.
|
|
Any modern browser works (Chrome, Edge, Firefox, Safari); voice quick-add
|
|
needs a Chromium-based browser (Chrome/Edge) — it hides itself automatically
|
|
where it isn't supported.
|
|
|
|
There's no server involved, so it also works fully offline once the file is
|
|
on the device.
|
|
|
|
### Taking your tasks with you
|
|
|
|
The app itself has no memory of its own — your *tasks* are saved by the
|
|
browser you opened it in (via `localStorage`), tied to that browser on that
|
|
device. Copying `index.html` to a new device gives you the app, but not
|
|
last night's list. To bring your tasks along too:
|
|
|
|
1. On the old device: gear icon (⚙️) → **Backup your list** → **Export**.
|
|
This downloads a `steady-backup-YYYY-MM-DD.json` file.
|
|
2. On the new device: open `index.html`, gear icon → **Restore / move to
|
|
another device** → **Import**, and pick that JSON file.
|
|
|
|
Importing adds tasks on top of whatever's already there — it never deletes
|
|
or overwrites, so it's safe to import the same backup twice by mistake.
|
|
|
|
> Because everything is local to the browser, clearing your browser's site
|
|
> data/history for this file, or opening it in a different browser or
|
|
> incognito window, will look like an empty list. Export a backup now and
|
|
> then occasionally if you want a safety net.
|
|
|
|
## Using it
|
|
|
|
- **Add a task** — type in the bar at the top and hit **Add** (or press
|
|
Enter). The 🎤 mic button fills the bar by voice instead of typing.
|
|
- **Update status** — click the circle on the left of a task to cycle
|
|
○ not started → ◐ in progress → ✅ done. Finishing a task plays a little
|
|
chime and a burst of confetti.
|
|
- **Break it down** — use "Add a small step" under a task to add subtasks.
|
|
Checking off all of them automatically marks the task done.
|
|
- **Flag it** — click **+ Urgent** or **+ Important** on a task to badge it
|
|
(⚠️ yellow / 🎯 lavender). Click again to remove the flag.
|
|
- **Set a reminder** — click ⏰ on a task to pick a date/time. You'll get an
|
|
in-app notice when it's due, plus a real browser popup if you've enabled
|
|
those in Settings.
|
|
- **Not today** — click 😴 to push a task to tomorrow instead of deleting it.
|
|
It reappears on its own; see it early under **Later** at the bottom.
|
|
- **Delete** — 🗑️ removes a task, with a few seconds to **Undo**.
|
|
- **Focus mode** — click **🔭 Focus mode** to see just the one task worth
|
|
doing next (urgent and important tasks are prioritized), with everything
|
|
else hidden.
|
|
- **Filters** — the chip row (All / Not started / In progress / Done /
|
|
Urgent / Important) narrows the list without deleting anything.
|
|
- **Settings (⚙️)** — dark/light/auto theme, mute the completion chime,
|
|
turn on browser reminders, a dyslexia-friendly font toggle (wider
|
|
spacing, easier-to-scan typeface), clear completed tasks, and the
|
|
export/import backup described above.
|
|
|
|
## Notes
|
|
|
|
- No data is sent anywhere — no network requests, no analytics, no account.
|
|
Everything the app knows lives in your browser's local storage.
|
|
- Voice input and browser notifications both ask for one-time permission
|
|
the first time you use them; both are entirely optional.
|