User Guide
Learn how to use challenges, habits, workouts, import/export, and Google Sheets sync. This app stores data locally and never requires an account.
Quick Start
Challenges
- Go to /challenges to browse or open a challenge; use /create to make your own.
- Two tracking types: Simple (done/not done) and Daily Progress with a target (e.g., 500 words, 10 pages).
- Set a weekly schedule; only scheduled days count toward your streak.
- The challenge page shows a monthly calendar, completion rate, streak, and (for daily progress) progress vs. target.
- Each challenge keeps timestamps:
createdAt
,updatedAt
for conflict‑free sync/merge.
Habits
- Create a habit-like challenge via /create with Daily Progress (target + unit) for a built‑in slider on your daily list.
- Examples: “Drink 8 glasses of water” (target: 8, unit: glasses) or “Read 10 pages” (target: 10, unit: pages).
- On the Daily view, adjust the slider to record progress; reaching the target marks the day complete.
- Alternatively, manage multiple individual habits in /habit-plans using quick suggestions and per‑day schedules.
Projects
- Add project tasks to specific dates — each entry becomes a daily todo on that date (and shows on your Daily dashboard).
- The planner auto-starts at the first recent week with items (otherwise this week). Adjust Start week, Weeks (1–8), and the Active week.
- In the active week, click a day and type the task. It’s staged until you press Save.
- Toggle existing tasks; tasks with unfinished subtasks can’t be marked complete. Delete staged items or mark existing ones for deletion.
- When ready, click Save to commit all staged adds/updates/deletes. Your tasks now appear as todos on those dates.
Workout Plans
- Visit /workout-plan to create a weekly workout plan: choose days, add exercises, sets, and weights.
- Activate a plan to generate daily workout todos; open a workout to tick exercises and track completion.
- You can use quick set templates (e.g., 12‑10‑8) and tweak reps/weights per exercise.
Daily Todos
- Every dated task appears on the Daily dashboard as a todo for that day.
- Todos can come from challenges (on scheduled days), habits (daily progress items with a slider), workout plans (plan days), projects (via the Project Planner), and ad-hoc tasks you add yourself.
- Click the checkbox to complete. If a todo has subtasks, they must all be complete first. Habit/progress items auto-complete when you reach the target (you can log up to 2× the target).
- Use the chevron to show subtasks. You can add/edit/delete subtasks on ad-hoc todos; linked todos from challenges/plans may restrict editing but still allow checking off.
- Ad-hoc todos can be edited or deleted. Linked todos open their source (Challenge/Workout) instead of allowing text edits.
- Open a todo’s page to view notes (Markdown), history, and manage subtasks more comfortably.
Markdown
The app supports a safe, minimal Markdown subset in todos and notes:
- Links:
[label](https://example.com)
and barehttps://
URLs auto‑link. - Bold:
**bold**
or__bold__
. - Notes support headings (
# Heading
) and lists (- item
,1. item
). - No raw HTML or advanced Markdown (images, tables, code blocks).
Import & Export
- Use /import-data and /export-data for CSV import/export.
- Exports include challenge metadata and daily todo progress with subtasks.
- Imports merge by ID; if an item exists, the CSV value overwrites local (use Sync for timestamp‑aware merge).
- Markdown import (recommended): Paste or upload Markdown on /import-data for the most accurate results. Supported: H2 date headings (e.g.,
## 2025-09-05
), checklists and bullets as tasks/subtasks, strikethrough as complete, and inline links[label](url)
(Google redirects are normalized; Google Docs links are canonicalized). - HTML import: Also supported (paste or upload). We handle headings, UL/LI hierarchies, checkboxes, strikethrough, and links, but accuracy can vary with exported HTML. Prefer Markdown when possible.
Sync with Google Sheets
- Go to /sync-data.
- Click Connect Google and paste your Spreadsheet ID (from the Sheets URL). You can create a spreadsheet from the Export page if needed.
- Click Start Syncing. The app will import recent changes from Sheets, then export your local data.
- Auto‑sync runs in the background and periodically syncs the last day. If the last import was under 1 day ago, it fetches only the latest date; otherwise it fetches recent days.
- Conflict resolution: “latest wins” using
updatedAt
, orcreatedAt
when missing. - Sheets layout: Challenges sheet for challenges; one sheet per date (YYYY‑MM‑DD) for daily todos.
Privacy
No accounts or tracking. Your data stays on your device unless you export or sync it.
Tips & Troubleshooting
- If syncing fails, verify your Google Client ID and Spreadsheet ID on /sync-data.
- To reconcile edits across devices, use Sync (merges by timestamps) rather than raw CSV import.
- Back up regularly via Export — it’s instant and offline.