A minimal, elegant task tracking app. Local-first with optional sync.
- Natural language input: Type "Buy milk #groceries due:tomorrow" and it just works
- Local-first: All tasks stored in your browser, works offline
- Smart grouping: Due Today and Due Later sections
- Quick capture: One input field, press Enter, done
- Inline editing: Click any task to edit it
- Optional sync: Connect to sync.thatsit.app for multi-device access
Type in the input field and press Enter:
Buy milk #groceries- Simple task with tagSubmit report due:today- Task due todayCall mom due:tomorrow- Task due tomorrowMeeting #work due:4/15- Task due on specific dateReview PR #urgent due:monday- Task due next Monday
today,tomorrowmonday,tuesday, etc. (next occurrence)4/15,12/25(M/D format)2026-04-15(ISO format)
- Complete: Click the circle checkbox
- Edit: Click the task text, modify, press Enter
- Delete: Hover and click the trash icon
# Install dependencies
pnpm install
# Run dev server
pnpm dev
# Run tests
pnpm test
# Build for production
pnpm build- React 19 + TypeScript
- Vite
- Dexie (IndexedDB wrapper)
- Zustand (state management)
- date-fns (date parsing)
- Tailwind CSS
Local-first architecture with optional sync:
- Local Storage: Tasks stored in IndexedDB via Dexie
- State Management: Zustand for reactive UI
- Natural Language: Parser extracts tags and due dates
- Grouping: Smart grouping by due date with sorting
- Optional Sync: Connect to sync backend for multi-device