← All tools · tasks
Open source alternatives to Todoist
Todoist Pro plan starts at $5/mo (billed annually), or $7/mo month-to-month (pricing, checked 2026-10-16). Here are 3 self-hostable options – free to run on your own server.
Build it yourself with AI
Easy weekend project: projects, tasks with due dates/priorities, labels and a simple today/upcoming view. Natural-language parse and shared workspaces add complexity.
Paste this prompt into Cursor, Claude Code, Codex or any coding agent to build a minimal self-hosted Todoist clone, deployable with Docker on a VPS.
You are a senior full-stack engineer. Build a minimal, self-hosted clone of Todoist (tasks) that I can run on my own VPS. Keep it small, production-sane, and easy to maintain. ## Goal Replace my paid Todoist subscription for a single person or small team. MVP only — no billing, no enterprise features. ## Core features (build exactly these) 1. projects with ordered tasks, due dates and priorities 2. today and upcoming filtered views 3. labels and filters 4. subtasks and recurring due rules 5. comments and file attachments on tasks ## Stack - Next.js (App Router, TypeScript) + Tailwind + shadcn/ui - PostgreSQL with Drizzle ORM (migrations checked in) - Auth: Better Auth (email + password, optional GitHub OAuth); every query scoped to the signed-in user/workspace - Background jobs (if needed): pg-boss on the same Postgres - File storage (if needed): S3-compatible (MinIO container) ## Data model (start here, extend only if required) User, Project, Task, Label, Filter, Comment, Attachment Use UUID primary keys, createdAt/updatedAt on every table, and foreign keys with sensible ON DELETE behavior. ## Deliverables 1. Working app with the features above and a clean, minimal UI 2. docker-compose.yml with app, postgres, minio and Caddy (automatic HTTPS) — `docker compose up -d` must be all I run 3. .env.example documenting every variable; no secrets in code 4. Seed script with demo data 5. README: local dev, deploy on a fresh Ubuntu VPS (install Docker, set DNS A record, compose up), backups (pg_dump cron), and updating ## Rules - Build in small steps; after each feature, run typecheck and the app, and fix errors before moving on - Validate all input with zod; rate-limit public endpoints - Write a few Playwright smoke tests for the main flow - Ask me before adding any dependency beyond the stack above For reference (study the approach, don't copy code): https://github.com/go-vikunja/vikunja, https://github.com/kanboard/kanboard, https://github.com/wekan/wekan
Recommended hosting
Disclosure: some links are affiliate links. If you sign up through them we may earn a commission at no extra cost to you. It never affects which tools we list. Details
One self-hosted swap per week
A new SaaS teardown and its open-source replacement, every week. No spam.
We only use your email to send the SelfHostThis newsletter (stored with our email provider Resend, EU). Every email has a one-click unsubscribe link, and you can ask us to delete your data anytime. We use double opt-in. Datenschutz · Privacy policy