PATRICH.tech
Desktop tools

Task manager (desktop and web)

Two Python implementations of a task manager: a desktop/console app and a Streamlit web interface. Both store tasks in a shared text file.

Patrich's role: Author of both implementations.

Problem and context

Keeping a simple task list without depending on an account or an external service.

Audience

Personal use, for practice and managing one's own tasks.

Solution

A desktop version (PySimpleGUI interface plus a console version) and a Streamlit web version, both reading and writing the same text file (todos.txt) through shared functions.

Implemented scope

  • Desktop: add, edit, complete and select tasks, with a clock (gui.py)
  • Console: add, show, edit, complete and exit commands (cli.py)
  • Web (Streamlit): add and complete tasks with checkboxes (web.py)
  • Shared persistence in a text file (functions.py)

How I built it

No evidence of AI assistance was observed in this code.

Process and decisions

cli.py and the shared functions have identical content in both reviewed repositories, indicating code reuse between the desktop and web versions rather than two independent implementations.

Technologies

PythonPySimpleGUIStreamlit

Lessons learned

The desktop version doesn't preserve line breaks when editing a task. Duplicate entries in the web version share the checkbox's key. Both versions use a common file with no per-user isolation, so it shouldn't be presented as a multi-user platform.

Repository

Related projects