A personal ClickUp is spaces, lists, tasks with custom fields and four views over SQLite, and an agent gets that running in an afternoon. The weekend goes on the parts around it: statuses and automations per list, time tracking and a timesheet, docs linked to tasks, and email that arrives. What a self-hosted copy won't have is ClickUp's breadth for teams: chat, whiteboards, dashboards, forms, the phone apps, the AI credits and the connectors to Google Drive, Slack and Teams. For one person or a small team that already agrees on a structure, it is a fair replacement; for a company, it isn't.
Before you buildCheck ClickUp Free Forever first: unlimited tasks and members cost nothing, and what bites is the 60 MB of storage and the missing custom fields and Gantt charts. Pay only when those do.
Build me a self-hosted work tracker for myself and a few collaborators to replace ClickUp. Requirements: - Node.js 22 + TypeScript: a Fastify API and a React UI built with Vite. `npm start` builds the UI and serves everything on http://localhost:4900. Storage: better-sqlite3 in ./data/work.db and attachments in ./data/files/. - Model: spaces hold lists, lists hold tasks. A task has a title, Markdown description, a status from the list's own status set, priority, assignees, start and due dates, tags, subtasks, a checklist, "blocked by" links, custom fields (text, number, date, dropdown, checkbox) defined per list, comments and an activity log. - Views per list: list, board by status (drag to move), calendar and a Gantt drawn with frappe-gantt that shows the dependencies. Filter, sort and group settings can be saved as named views. - Docs: Markdown pages inside a space that can link to tasks with [[T-123]]. One search box over tasks, comments and docs with SQLite FTS5. - Time tracking: a start/stop timer on every task, manual entries, and a weekly timesheet table per person with CSV export. - Automations per list: when a task is created, changes status or passes its due date, set the assignee, change the status, add a tag or send an email. Keep a log of the last 200 runs. Email goes through nodemailer with SMTP settings from .env, plus an 8:00 digest of tasks due today. - People are added with `npm run user:add <email>`; passwords hashed with argon2, signed-cookie sessions. No sign-up page, no OAuth, no telemetry. - Import a ClickUp CSV export (Settings > Imports/Exports > Export Items): read the header row, map name, status, assignee, dates, tags and description, show the mapping and ask before writing. - Out of scope: mobile apps, chat, whiteboards, dashboards, forms, AI features, SSO. - README: setup, adding people, backing up ./data, and serving it over HTTPS with Caddy.
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 ClickUp.
Add recurring tasks and templates to the work tracker in this folder. Requirements: - A task can repeat daily, weekly (chosen weekdays), monthly (day of month or last weekday) or every N days, parsed and stored as an RFC 5545 RRULE with the `rrule` package. - Completing a recurring task creates the next one with the same fields, shifted dates and an unchecked checklist; a "skip this one" button advances without creating history noise. - A template is a task with subtasks and a checklist that can be stamped into any list. - Tests cover month ends, daylight-saving changes and a task completed late. - Update the README.
Add outgoing notifications to the work tracker in this folder. Requirements: - Per list, a webhook URL and an ntfy topic URL in settings; events: task created, assigned, status changed, comment added. - Sign webhook bodies with an HMAC header from a secret in .env; retry three times with backoff and log each attempt. - Notification rules per person: all events on my tasks, or only mentions. - A settings page can send a test event. - Update the README.
Add a workload view to the work tracker in this folder. Requirements: - Tasks get an estimate in hours. A table shows each person against the next 8 weeks: estimated hours due that week divided by their capacity (default 30 hours, editable). - Cells over 100% turn red; click a cell to list the tasks behind it. - Dragging a task onto another person's row reassigns it after a confirmation. - Tasks without an estimate or due date are listed separately, not silently ignored. - Update the README.
Make the work tracker in this folder usable from my phone. Requirements: - A responsive layout below 640px wide: list and board views, a bottom bar for My Tasks, search and quick add. - A web app manifest and icons so it installs to the home screen. - Reach it over Tailscale: the server keeps listening on 127.0.0.1 and the README explains `tailscale serve` to expose it to my devices only. - Never listen on 0.0.0.0 and add no login of its own beyond the existing one. - Update the README with the Tailscale steps.
ClickUp stands in for several tools at once: one workspace for tasks, docs, goals, chat and time tracking, with views and automations every team can bend to its own process. Years of lists, custom fields and automations pile up inside it, and rebuilding that structure elsewhere is the real cost of leaving.
Estimate · Runs on your own machine for free, or on a $5 VPS if others need access; SMTP at this volume fits free tiers. Core costs $12 per person monthly, so a team of five pays $60. The build session is token usage on your agent plan.
| Plan | Monthly | Annual, per month | What you get |
|---|---|---|---|
| Free Forever | $0 | $0 | Unlimited tasks, subtasks and members, collaborative Docs, Kanban boards, calendar view, sprint management, time tracking, 60 MB of storage, 1 form. |
| Core | $12 | $9 | Everything in Free plus custom fields and task types, unlimited storage and spaces, unlimited forms, Gantt charts, ClickUp Chat, goals, guest permissions, 1K automations a month and 1K pooled AI credits per user. |
| Business | $25 | $17 | Everything in Core plus advanced dashboards, webhooks, 10K automations a month, resource management, Google SSO, private views and docs, timesheets and 1.5K AI credits per user. |
| Max | $120 | $100 | Everything in Enterprise plus the heaviest AI allowance: 10K credits per user, custom skills, MCP connections and unlimited agents. |
| Enterprise | custom | — | White labeling, 1M automations a month, custom roles, SSO, SCIM and SAML, audit logs, HIPAA and data residency, 3K AI credits per user. |
Free Forever gives unlimited tasks and unlimited free members, but only 60 MB of storage, one form and a 500-credit AI trial per workspace.
Kinda. The core is a weekend build with the prompt on this page, but real gaps remain: Phone and desktop apps with push notifications, Chat, whiteboards, dashboards and forms inside the same tool.
About $12 a month on the Core plan per seat, $144 a year (checked 2026-10-19).
Phone and desktop apps with push notifications; Chat, whiteboards, dashboards and forms inside the same tool; ClickUp Brain: AI fields, the notetaker and agents, all billed in credits; Connectors to Google Drive, Slack, Microsoft Teams and the like; Guests, granular permissions, SSO and audit logs on the higher plans. If any of those matter to you, keep paying.
Yes: Plane (open source), OpenProject (open source), Vikunja (open source).