Quick Start •
Feature Tour •
Tech Stack •
Local Dev
Clean dark UI, fast keyboard flow, project rollups, deadline focus, and daily dispatch planning in one screen.
| Local-first by default | Your data stays on your machine in SQLite (dispatch.db). |
| One workspace for everything | Tasks, projects, notes, and dispatches stay connected. |
| Keyboard-friendly UX | Fast actions, global search, and shortcut support keep flow uninterrupted. |
| Built for real execution | Deadline focus, progress rollups, and upcoming work are always visible. |
Dashboard: instant visibility into active tasks, notes, dispatches, deadlines, and project activity.Tasks: status + priority + due dates + project links.Projects: progress rollups and scoped task lists.Notes: markdown editing, preview, and export.Dispatch: daily planning surface with rollover support.Personal Assistant (Beta): streaming AI chat powered by Vercel AI SDK, with in-app actions via a local MCP (Model Context Protocol) tool server.Search: global search across tasks, notes, and dispatch records.Recycle Bin: restore or permanently remove archived items.Auth: GitHub OAuth and local development credentials.
Dispatch includes production launchers that create/update .env.prod and run Docker Compose.
Prerequisites:
- Docker Desktop (Windows/macOS) or Docker Engine + Compose plugin (Linux)
dockeravailable on yourPATH, with Docker running before setup- Internet access to pull the default image (
ghcr.io/nkasco/dispatchtodoapp:latest)
Use one of the following:
.\dispatch.ps1 setup./dispatch.sh setupGitHub Auth in Docker:
- During setup, choose
Enable GitHub OAuth sign-in?and provideAUTH_GITHUB_ID/AUTH_GITHUB_SECRET. - Set
NEXTAUTH_URLto the public URL users will open in the browser. - If this runs on a dedicated server in your home/lab network, use the server hostname or LAN IP in
NEXTAUTH_URLinstead oflocalhost. - In GitHub OAuth app settings, set the callback URL to:
<NEXTAUTH_URL>/api/auth/callback/github- Example:
http://dispatch-server:3000/api/auth/callback/github
Use this section only if you are running Dispatch locally with Node.js (npm run dev, npm run build, npm run start).
- Node.js
20.9+(LTS recommended).
Node includes npm, which is required for local development commands. - Git (recommended for pulling updates).
- If native module install fails (for
better-sqlite3), install platform build tools:- Windows: Visual Studio Build Tools (C++ workload)
- macOS: Xcode Command Line Tools (
xcode-select --install)
npm installCreate .env.local (local Node.js/dev runtime only):
Docker setup uses
.env.prod, not.env.local.
# Required for NextAuth
AUTH_SECRET=your_random_secret
NEXTAUTH_URL=http://localhost:3000
# GitHub OAuth (optional)
AUTH_GITHUB_ID=your_github_oauth_client_id
AUTH_GITHUB_SECRET=your_github_oauth_client_secret
# Optional (defaults to ./dispatch.db)
DATABASE_URL=./dispatch.dbnpm run db:migratenpm run devOpen http://localhost:3000.
npm run dev starts both services:
- Next.js app on
http://localhost:3000 - Dispatch MCP server on
http://localhost:3001(used by Personal Assistant tool calling)
- Seeded account:
test@dispatch.local/test- Run
npm run db:seedfirst to create the seeded account.
- Run
Dispatch is an independent open-source project and is not affiliated with any other software using the name Dispatch.
