📋 What is this?
Tasks is a personal task management application. It lets you create and organize tasks with statuses, priorities, due dates, and categories. The goal was to have a real, personal-use application to build on top of rather than a toy example.
Beyond day-to-day use, Tasks is the primary proving ground for the site's AI agent integration — specifically, exposing task operations to AI agents via the Model Context Protocol (MCP).
✦ Features
Task Statuses
Four states: To Do, In Progress, Done, and Archived. Completion timestamps are recorded automatically.
Priorities & Due Dates
Mark tasks High, Medium, Low, or None. Attach a due date to keep yourself accountable.
Categories
Organize tasks into named categories with color labels. Create as many as you need.
MCP Agent Access
AI agents (Claude Code, Claude Desktop) can read and manage your tasks via a secure MCP endpoint authenticated with an API key.
🔬 What I Was Exploring
- Ash Framework — resource-based data modeling, Ash policies for authorization, and how Ash actions map cleanly to both UI and API surfaces.
- AshAuthentication — magic-link and password-based auth flows, session management, and API key strategies.
- Phoenix LiveView — real-time UI without writing JavaScript. Form handling, modal patterns, and live navigation.
- MCP (Model Context Protocol) — exposing structured actions to AI agents via a standardized protocol. Using AshAi to auto-generate tool schemas directly from Ash resource actions.
- User-scoped data — enforcing at the policy layer that agents and users can only access their own records, not through application-level filtering.