← All projects

Beginner project · about 35 minutes

Command-line To-Do Manager ✅

Build the classic productivity tool with add, complete, list and delete, saved to a file.

Every developer has written a to-do app. It teaches how data flows in and out of a program and how to structure code as functions. Commands arrive through the input box, one per line.

What you will build

  1. Model a task Each task is a dict: {"title": ..., "done": False}. Keep them in a list.
  2. Write the commands add <title>, done <number>, list, quit. Split the command on the first space.
  3. Render the list Print "[x]" or "[ ]" before each title with its number.
  4. Persist Save to tasks.json with json.dump after each change and load it at start if it exists.

Skills: lists, dicts, files, functions