Step 2 · Foundations · Foundations · How to run it ENPT
Organizer Loop Engineering · Visual Course

How to run it

Only Python 3.11+ is required. No npm, no build, no external services.

Read the plain version, or open the technical layer on any section.
1

The big idea


The whole system runs on your machine. You generate a data file, start a tiny Python server, and open a browser. That is it.

This matters because the project is intentionally fragile in one direction: it does not ask you to trust a cloud service, create an account, or install a package manager. Your tasks stay in data.json; your edits stay in your browser.

Think of it like… a paper notebook that happens to refresh itself from the notes already scattered on your desk. The notebook is not magic; it is just organized.

Under the hood

collector.py uses only the Python standard library. It walks docs/ and sessions/, runs regexes over Markdown, and emits a typed dataclass list. server.py uses http.server with two extra routes: /agents returns JSON, and /events streams SSE for live status.

2

In one picture


collector.py writes data.json server.py 127.0.0.1:7321 Browser dashboard
Three commands: collect, serve, open.
3

In the code


The server binds to port 7321 and serves static files from the dashboard folder. It also exposes an /agents endpoint that checks running processes.

dashboard/server.py
def active_agent_status() -> list[dict]:
    procs = subprocess.run(["ps", "-eo", "comm"], capture_output=True, text=True).stdout
    agents = []
    for name in ["claude", "codex", "grok", "kimi"]:
        running = name in procs.lower()
        agents.append({
            "name": name,
            "status": "active" if running else "idle",
            "last_seen": datetime.now(timezone.utc).isoformat() if running else None,
        })
    return agents

Access it yourself

open ~/Documents/Projects/appfy/organizer-loop-engineering/dashboard/server.py
4

Try it


Open a terminal and run the three commands below. The dashboard should appear in your default browser.

cd ~/Documents/Projects/appfy/organizer-loop-engineering
python3 dashboard/collector.py
python3 dashboard/server.py
open http://127.0.0.1:7321
If server.py says the port is in use, set ORGANIZER_PORT=7322 and try again. In the next lesson you will learn how to read the dashboard once it is open.