An English-first productivity system built around PARA + Weekly Review.
- Inbox capture and clarify flow (
task,project,resource) - PARA entity management (
areas,projects,resources,archive) - Task planning with priority, status, due date, and timeboxing
- Weekly review summaries and dashboard KPI cards
- Habit tracking with daily check-ins, current streak, longest streak, and weekly completion rate
- Demo seed and clean reset flows
- Backend: FastAPI + Pydantic + sqlite3
- Frontend: Server-rendered HTML + Vanilla JS + Chart.js
- Database: SQLite (
data/app.db) - Environment and package management:
uv - Test: pytest + FastAPI TestClient
uv python install 3.11
uv sync --devuv run uvicorn app.main:app --reloadApp URL: http://127.0.0.1:8000
uv run pytest -q- The project runs on
Python 3.11. The.python-versionfile pins the expected runtime. - Destructive system endpoints are disabled by default.
- If you need demo data or a full reset, start the app with:
PRODUCTIVITY_ENABLE_SYSTEM_MUTATIONS=1 uv run uvicorn app.main:app --reload- Inbox
POST /api/v1/inbox/itemsGET /api/v1/inbox/itemsPATCH /api/v1/inbox/items/{inbox_item_id}/clarify
- PARA
GET /api/v1/areasPOST /api/v1/areasGET /api/v1/projectsPOST /api/v1/projectsPATCH /api/v1/projects/{project_id}POST /api/v1/resourcesPOST /api/v1/archive/items/{item_id}
- Tasks
GET /api/v1/tasksPOST /api/v1/tasksPATCH /api/v1/tasks/{task_id}POST /api/v1/tasks/{task_id}/timebox
- Habits
GET /api/v1/habitsPOST /api/v1/habitsPOST /api/v1/habits/{habit_id}/checkinsGET /api/v1/habits/summary
- Review / Dashboard
GET /api/v1/review/weekly?week=YYYY-WWGET /api/v1/dashboard/overview
- System
POST /api/v1/system/seedPOST /api/v1/system/reset
- The app must be started with
PRODUCTIVITY_ENABLE_SYSTEM_MUTATIONS=1before using the endpoints below. - To load demo data:
curl -X POST http://127.0.0.1:8000/api/v1/system/seed \
-H "Content-Type: application/json" \
-d '{"mode":"demo"}'- To start from an empty state:
curl -X POST http://127.0.0.1:8000/api/v1/system/seed \
-H "Content-Type: application/json" \
-d '{"mode":"empty"}'- To reset all data:
curl -X POST http://127.0.0.1:8000/api/v1/system/reset- Google Drive synchronization
- AI-assisted weekly summaries and prioritization suggestions
- Calendar integrations
- Multi-user authentication