A standalone, self-contained Eisenhower Matrix (4-quadrant) TODO board web app with drag-and-drop reordering and done archive.
node serve.mjsOpen http://localhost:8900 in your browser.
Custom port: PORT=9000 node serve.mjs
- 4-Quadrant Eisenhower Matrix — Q1 (Urgent & Important), Q2 (Important, Not Urgent), Q3 (Urgent, Not Important), Q4 (Not Urgent, Not Important)
- Drag & Drop — Drag items by the ⠿ grip handle to reorder within a quadrant or move between quadrants. Card text remains selectable and copyable. Changes persist immediately.
- Done Archive — Click the ✓ button on any item to mark it complete. Completed items move to a collapsible "Done" section below the matrix. Click the dot in the done section to restore.
- Bilingual — Toggle between Chinese (中文) and English with a single click.
- Responsive — Desktop: 2×2 grid layout. Mobile: single-column stack.
- Glassmorphism UI — Apple-style frosted glass design.
- Zero dependencies — No npm install needed. Pure Node.js + HTML5.
| File | Purpose |
|---|---|
serve.mjs |
Node.js HTTP server (port 8899) |
index.html |
Board UI with drag-and-drop and done archive |
todo-matrix.json |
Data file (quadrants + done items + i18n labels) |
README.md |
This file |
| Method | Path | Description |
|---|---|---|
GET |
/todo-matrix.json |
Returns the current board data |
PUT |
/todo-matrix.json |
Replaces the board data (validates JSON, returns 400 if invalid) |
- Node.js 18+