The tracker is the easy part: projects split into sections, tasks with an owner, dates and subtasks, and the same data shown as a list, a board, a calendar and a timeline. An agent gets that running on SQLite in an afternoon. What a team pays Asana for is everything around the tasks: people getting pinged on their phones, rules that fire on their own, and Slack or Google Drive wired in. A self-hosted version for a handful of people is a weekend, and the mobile apps and integrations are still missing after it.
Before you buildWorking alone or with one other person? Asana Personal is free for two users and keeps list, board and calendar views.
Build me a self-hosted project tracker for a small team to replace Asana. Requirements: - Node.js 22 + TypeScript: a Fastify API and a React front end built with Vite. `npm start` builds the UI and serves everything on http://localhost:4800. - Storage: better-sqlite3 in ./data/tracker.db; attachments in ./data/files/. - Model: projects hold sections, sections hold tasks. A task has a title, Markdown notes, one assignee, start and due dates, a priority, subtasks, "blocked by" links to other tasks, attachments, comments with @mentions and an activity log. - Views per project: list grouped by section, a board (drag tasks between sections), a month calendar, and a timeline drawn with frappe-gantt that shows the dependencies. A My Tasks page lists everything assigned to me. - Rules per project: when a task enters a section or is completed, set the assignee, set the priority or move it. Keep a log of the last 200 rule runs. - Email through nodemailer with SMTP settings from .env: on assignment and mention, plus an 8:00 digest of tasks due today or overdue. - 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 an Asana project CSV: read the header row, map name, section, assignee email, dates and notes, show the mapping and ask before writing anything. - Out of scope: mobile apps, portfolios and goals, chat integrations, AI features. - 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 Asana.
Add live updates to the project tracker in this folder. Requirements: - Server-sent events on /api/events, one stream per open project page. - Broadcast task created, updated, moved and deleted, and new comments, after each write commits. - The client patches its local state from the event instead of refetching the whole project; reconnect with backoff if the stream drops. - If two people edit the same field, the later save wins and the earlier editor sees a notice. - Update the README.
Add request forms to the project tracker in this folder. Requirements: - For any project, build a form by picking fields (title, notes, due date, priority, attachment), labels and required flags, and a target section. - Serve it at /f/:formId without login; each submission creates a task and runs the project's rules. - Rate-limit submissions per IP and cap attachments at 20 MB. - Out of scope: conditional questions and payment fields. - Update the README with how to expose only /f/ routes through a tunnel.
Add an Asana API importer to the project tracker in this folder. Requirements: - Read ASANA_TOKEN (a personal access token) and a project id from .env. - Copy sections, tasks, subtasks, dependencies, comments and attachments, page by page; on HTTP 429 wait for the Retry-After header before retrying. - Match assignees to existing users by email and list any that don't match. - Download attachment files into ./data/files/ during the import. - Running it twice must not duplicate tasks: store the Asana gid on each one. - Update the README with how to create the token.
Add a workload page to the project tracker in this folder. Requirements: - A grid of people by week for the next 6 weeks, counting open tasks by due date, across all projects. - Cells over a per-person limit (set on the user, default 10) turn red. - Clicking a cell lists those tasks and lets me reassign one by dragging it to another person's cell. - Update the README.
Teams pay because Asana is where work changes hands: a request arrives through a form, a rule assigns it, the owner gets a ping on their phone, and a manager watches it move on a timeline or dashboard. Once a company's templates, rules and project history live there, moving everyone at once costs more than the seats, and colleagues who never touch a terminal need no setup.
Estimate · Free on a machine you already run. A small VPS so teammates can reach it costs a few dollars a month, and most SMTP providers have a free tier that covers a small team's notifications. The build is token usage on your agent plan.
| Plan | Monthly | Annual, per month | What you get |
|---|---|---|---|
| Personal | $0 | $0 | Up to 2 users, unlimited tasks and projects, list, board and calendar views, 100 MB per file. |
| Starter | $13.49 | $10.99 | Timeline and Gantt views, dashboards, unlimited automations, forms, custom fields and templates, unlimited free guests; 5 AI requests per user a month (50 per account) and 50K AI Studio credits. |
| Advanced | $30.49 | $24.99 | Adds portfolios, goals, resource management and approvals; 75K AI Studio credits a month. |
| Enterprise | custom | — | SAML single sign-on, admin and compliance controls, 200K AI Studio credits a month. |
Personal is free for one or two people, with list, board and calendar views.
Kinda. The core is a weekend build with the prompt on this page, but real gaps remain: Phone apps with push notifications, Slack, Google Drive, Zoom and the other integrations.
About $13.49 a month on the Starter plan per seat, $161.88 a year (checked 2026-10-13).
Phone apps with push notifications; Slack, Google Drive, Zoom and the other integrations; Portfolios, goals and workload planning across teams; AI Teammates and the AI Studio workflow builder; Instant updates when several people edit at once. If any of those matter to you, keep paying.
Yes: Plane (open source), OpenProject (open source), Huly (open source).