The heart of Todoist is a list with a clever text box: type "pay rent every 1st at 9am #Home p1" and it becomes a recurring task in a project with a priority. A personal copy needs a parser (chrono-node plus a small recurrence grammar over rrule), projects, labels, saved filters and a Today view, which an agent can write in one sitting as a web app you add to your phone's home screen. The gap is the phone: push reminders need HTTPS and web push, and native widgets, share sheets and the email and calendar integrations don't come with the copy.
Before you buildTodoist Beginner is free with 5 personal projects and 3 filters. If you stay inside that, you may not need to pay.
Build me a personal task manager to replace Todoist. 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:4800.
- Storage: better-sqlite3 in ./data/tasks.db: projects (with a parent for sub-projects), tasks
(title, notes, project, parent task, priority 1-4, due date or datetime, recurrence rule,
done_at), labels with task_labels, filters (name, query) and reminders.
- Quick add: one text box. Parse the sentence with `chrono-node`, so "call Sam tomorrow 3pm #Work
@phone p1" becomes a due time, project, label and priority, and "every other friday" becomes a
recurrence stored as an `rrule` string. Show the parsed pieces as chips before saving.
Unit-test at least 25 sentences.
- Recurring tasks: completing one creates the next occurrence, counted from the due date
("every friday") or from the completion date ("every! friday").
- Views: Inbox, Today (overdue first), Upcoming (the next 14 days grouped by day), and every
project as a list or a board, with sub-tasks and progress, drag to reorder, and shortcuts
(q quick add, e edit, 1-4 priority, t today).
- Filters: a small query language ("today | overdue & @phone & !p4") parsed into SQL and saved
as named views in the sidebar.
- Reminders: web push (`web-push`, VAPID keys generated on first run into .env) at the due time
or a set number of minutes before; a worker checks every 30 seconds.
- Import Todoist CSV project backups; export everything as JSON plus one CSV per project.
- Single user, one password from .env. No accounts, no telemetry, local-first.
- Out of scope: shared projects, comments, file attachments, calendar sync, location reminders.
- README: reaching it from a phone over HTTPS (Tailscale or a tunnel), adding it to the home
screen, and where ./data lives.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 Todoist.
Add a calendar feed to the task manager in this folder. Requirements: - GET /calendar/<secret>.ics returns an iCalendar feed (`ical-generator`) of open tasks that have a due date, with duration 30 minutes when only a date is set, all-day when no time. - The secret is a random 32-character token created in settings and revocable there. - Recurring tasks appear as their next 10 occurrences. - Update the README with how to subscribe from Apple Calendar and Google Calendar.
Add email capture to the task manager in this folder. Requirements: - Poll one IMAP folder named Tasks every 2 minutes (`imapflow`; host, user and app password in .env). - Each unread message becomes a task in Inbox: the subject is the title and the first 2,000 characters of the text go into the notes, plus the sender; then mark the message read. - Skip mail from senders that are not in an ALLOWED_SENDERS list. - Update the README.
Add a Telegram bot to the task manager in this folder. Requirements: - TELEGRAM_BOT_TOKEN and TELEGRAM_CHAT_ID in .env; use long polling with `grammy`. - A message from that chat id is run through the quick-add parser and saved; the bot replies with the parsed due date, project and priority. - /today and /overdue list tasks; ignore every other chat. - Update the README with how to create a bot with BotFather.
Add a weekly review to the task manager in this folder. Requirements: - A Review page with tasks completed this week by project, tasks overdue for more than 7 days, and projects with no open task. - Each overdue task has buttons to reschedule to tomorrow, next Monday, or drop. - A sparkline of completions per day for the last 8 weeks. - Update the README.
Capture is fast everywhere: the same list on phone, watch, browser and email, with reminders that fire. The free plan's five projects and three filters push heavier users to Pro, and years of labelled tasks and recurring habits are tedious to move. Teams add shared projects and comments.
Estimate · Runs on your machine or a $5 VPS, and web push is free. The build is token usage on your agent plan.
| Plan | Monthly | Annual, per month | What you get |
|---|---|---|---|
| Beginner | $0/user | $0/user | 5 personal projects, 3 filter views, 1 week of activity history, 5 MB uploads, 5 people per project, 4 themes, limited Todoist Assist and Ramble sessions. |
| Pro | $7/user | $5/user | 300 personal projects, 150 filter views, full activity history, calendar layout, task duration, custom reminders, deadlines, larger uploads, unlimited Todoist Assist and Ramble, automatic backups. |
| Business | $10/user | $8/user | Everything in Pro for each member plus a shared team workspace, up to 500 team projects, 1,000 members and 1,000 guests, roles and permissions, central billing. |
Beginner is free with 5 personal projects and 3 filter views.
Yes. An AI coding agent such as Claude Code, Codex or Cursor can build a usable personal version in one session with the prompt on this page, running on your own machine.
About $7 a month on the Pro plan per seat, $84 a year (checked 2026-10-14).
Native iOS and Android apps, widgets and watch apps; Time-based, location-based and recurring reminders on every device; Shared projects and comments with other people; Todoist Assist and Ramble, its AI helpers for capturing tasks; Email, calendar and other integrations built by Todoist. If any of those matter to you, keep paying.
Yes: Vikunja (open source), Super Productivity (open source), Tasks.org (open source).