Tasks with natural-language dates, recurrence and a calendar view are a sitting's work for an agent on SQLite, and habits and a Pomodoro timer are small additions. The weekend goes on what makes TickTick feel like an app you live in: reliable reminders on a phone, a calendar that matches your other calendars, sync that doesn't drop edits, and widgets. A PWA with web push covers the basics, but iOS push is fussy and native widgets and share sheets don't come with it. Free alone covers a lot if you stay under 9 lists.
Before you buildTickTick Free allows 9 lists, 99 tasks per list and 2 reminders, with sync everywhere. If you stay inside that, you may not need to pay or build.
Build me a personal task and habit app to replace TickTick. Requirements: - Node.js 22 + TypeScript: a Fastify API and a React front end built with Vite, installable as a PWA. `npm start` serves http://localhost:4810. - Storage: better-sqlite3 in ./data/ticks.db: lists, tasks (title, notes, list, parent task, priority 0-3, start, due, all-day flag, duration minutes, rrule, done_at), checklist items, tags, habits with daily check-ins, and focus sessions. - Quick add: one text box. Parse the sentence with `chrono-node`, so "gym tomorrow 7am 45m #health !2" fills the date, duration, list and priority. Recurrence uses `rrule`; completing a recurring task creates the next one from its due date. - Views: List, Today, Next 7 days, a week and month calendar (`@fullcalendar/react`) where dragging a task changes its date, and a 2x2 priority matrix. Search across titles and notes. - Habits and focus: habits have a daily or N-times-a-week goal, a streak that survives a day marked "rest" and a 12-week heatmap. A Pomodoro timer (25/5, editable) attaches to a task, survives a page reload, and feeds a stats page with minutes per day and per list. - Reminders: web push with `web-push` and VAPID keys generated on first start into .env; a service worker shows the notification, and a minute-level scheduler in the server sends it. - Calendar feed: a read-only ICS URL (`ical-generator`) behind a secret token for your phone. - Single user, one password in .env. No accounts, no telemetry, local-first. - Out of scope: shared lists, assignments, voice capture, native widgets, Google or Outlook two-way sync. Tests with vitest for the date parser and recurrence. - README: serving over HTTPS with a tunnel so iOS accepts push, and the TickTick backup import.
Opens your agent with the prompt filled in, you press enter. Or copy it and paste it into an empty folder.
The first prompt builds the core. Run these one at a time in the same folder to grow it into your own TickTick.
Add a TickTick importer to the task app in this folder. Requirements: - A command `ticks import <backup-file>` that reads the file from Settings > Account > Backup & Import. Inspect the file first and print its format and columns before importing. - Map lists, tasks, notes, tags, priorities, due dates, checklist items and repeat rules to the SQLite tables; convert repeat rules to rrule strings and report any that couldn't be mapped. - Run in dry-run mode by default, print counts of new and skipped items, and only write with --apply. Importing twice must not create duplicates. - Update the README.
Extend the task app in this folder. Requirements: - Read events from up to three secret iCal URLs in .env, refresh every 15 minutes and show them greyed out in the week and month calendar. - Events are read-only and never stored in the task tables; cache the last good copy in memory. - In the Today view, flag tasks scheduled over an event. - If a feed fails, show a banner with the feed name and the HTTP status. - Update the README.
Add a weekly review page to the task app in this folder. Requirements: - A page at /review listing tasks completed this week by list, tasks that were rescheduled more than twice, and habits with their weekly completion percentage. - Total focus minutes per list and per day as a small bar chart (plain SVG, no chart library). - One button that moves unfinished tasks with a past due date to today. - Update the README.
TickTick is one cheap app instead of four: tasks, calendar, habit tracker and focus timer, on every device, for about $50 a year. People stay because the phone, watch and desktop all agree and the reminders arrive, and because the free tier already tempts them into the paid one.
Estimate · Runs on your own computer or a $5 VPS; a tunnel is free. The build is token usage on your agent plan, and a phone that needs HTTPS push is the main running cost.
| Plan | Monthly | Annual, per month | What you get |
|---|---|---|---|
| Free | $0/user | $0/user | 9 lists, 99 tasks and notes per list, 19 checklist items per task, 2 reminders, 5 habits, 2 members per shared list, 1 attachment a day; List and Kanban views. |
| Premium | — | $4.17/user | 299 lists, 999 tasks per list, 199 checklist items per task, 5 reminders, 299 habits, 29 members per shared list, 199 attachments a day, multiple calendar views, timeline, task duration, email reminders, themes. |
Free keeps 9 lists, 99 tasks per list and 2 reminders, with sync on every platform.
Kinda. The core is a weekend build with the prompt on this page, but real gaps remain: Native iPhone, Android, Apple Watch and desktop apps with home-screen widgets, Shared lists and task assignment with family or teammates.
About $4.17 a month on the Premium plan per seat, $50.04 a year (checked 2026-10-19).
Native iPhone, Android, Apple Watch and desktop apps with home-screen widgets; Shared lists and task assignment with family or teammates; Two-way sync with Google, Outlook and iCloud calendars; Voice and share-sheet capture, email-to-task and the web clipper; The Pomodoro, habit and statistics views as they stand today. If any of those matter to you, keep paying.
Yes: Vikunja (open source), Super Productivity (open source), Tasks.org (open source).