Every change you make is saved instantly to your browser's localStorage. No account, no server, no sync delay. Your tasks are there when you come back — even after closing the tab.
Every task can hold subtasks, turning any item into its own mini-project. Organize work at three levels — Projects, Tasks, and Subtasks — without switching tools or views.
Hit Export to download your entire workspace as a JSON file. Move it to another device, back it up to a drive, or import it back anytime. Your data is always yours — no lock-in.
Each task supports status columns (To Do, In Progress, Done, Blocked), priority levels, due dates with overdue highlighting, custom tags, and freeform notes.
TaskFlow runs entirely in your browser. Nothing is sent to a server. No analytics, no telemetry, no third-party data access. Just a file on GitHub Pages doing exactly what it looks like.
TaskFlow is a single HTML file with no build step and no dependencies. Save it to your desktop, host it on GitHub Pages, drop it on a USB drive — it works the same everywhere.
Create a project by typing a name in the bar at the top and pressing Enter. Inside each project, add tasks the same way. Click the ⋯ button on any task to open its detail panel — that's where you set status, priority, due date, tags, and notes.
Tasks support one level of subtasks. Hover a task and click the + button to add one, or click the arrow toggle to expand and collapse. Double-click any task or project name to rename it inline.
Use Export in the top-right to save your data as a JSON file, and Import to restore it. This is how you move your workspace between devices or keep a backup.