Skip to content

ancepsinfans/taskflow

Repository files navigation

TaskFlow

Self-hosted personal task manager with GTD-style workflows, natural-language capture, and a REST API designed to be read by other tools.

Reference implementation, extracted from a private monorepo where development continues.

What makes it not another todo app

  1. Raycast quick capture — Drop tasks from anywhere via a one-line Raycast script that hits POST /api/quick-add. Natural-language parsing runs server-side, so "Follow up with Alex tomorrow #work 30m high energy" becomes structured fields before it lands in your inbox. See scripts/raycast_quick_add.sh.

  2. Readable by Work Assistant as an ingest source — TaskFlow exposes a clean REST API (GET /api/tasks, POST /api/quick-add, etc.) that Work Assistant's taskflow_sync.py polls for inbox and today tasks. Captured tasks enter the same synthesis pipeline as Slack and JIRA, then merge into your Obsidian task list. TaskFlow is the capture layer; Work Assistant is the intelligence layer.

  3. Natural-language parsing with energy levels — Quick Add extracts due dates, time estimates, tags, priority markers, Eisenhower quadrant hints, people references, and energy level (high, medium, low) from plain text.

  4. Auto-priority from due-date proximity — Overdue and due-today tasks rise to priority 5 automatically; tomorrow, this week, and later each map to configurable buckets. Manual overrides stick.

Beyond that: inbox/today/waiting/done lifecycle, Eisenhower Matrix, people-aware task linking, full-text search, sprint archives, and keyboard-first navigation throughout.

Screenshots

Captured from a demo instance (seed_demo.py) — no real task data.

Today — suggested next task, time estimates, and priority sorting:

Today view

Inbox — triage captured tasks before scheduling:

Inbox view

Matrix — Eisenhower quadrants with drag-to-reprioritize:

Eisenhower Matrix view

Quick start

Requires Docker and Compose (docker-compose or the docker compose plugin).

cp .env.example .env
docker-compose up --build -d
docker-compose exec backend python init_db.py

Open http://localhost:5174.

Optional — load fictional demo data (for screenshots or local exploration):

docker-compose exec backend python seed_demo.py

Stack

Component Technology Port
Frontend React, Vite, Tailwind 5174
Backend Flask REST API 5000 (proxied via frontend at /api)
Database PostgreSQL 15 5432

Deployment is defined in docker-compose.yml at the repo root.

Documentation

License

MIT — see LICENSE.

About

Self-hosted personal task manager with NLP capture, GTD workflow, and Work Assistant integration

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages