◆ ONCE UPON A DICE / PROJECT TRACKER

Project Log

PROJECTS
1
SESSIONS
1
PROJECT: ALL Blood Moon Rising (BMR) Claude-Tracker Once Upon a Dice – Social Media Project Log
TAG: Automation Dev IT
Claude-Tracker
Automation Dev IT
1 SESSION LAST: 2026-05-28
2026-05-28
IT Dev Automation
Built and deployed Claude session tracker web app at project.onceuponadice.com
Started by exploring options for tracking daily Claude interactions as a project tracker. Went through several design iterations — from an in-browser React artifact to a persistent local app. Settled on a Flask web app hosted on the Linux server at 65.181.118.40. Deployed the full stack: • Flask + Gunicorn backend on port 5002 • Nginx reverse proxy with SSL via Certbot • Subdomain project.onceuponadice.com pointed via GoDaddy A record • JSON file upload system with drag-and-drop • Logs stored in /opt/project-tracker/logs/ Troubleshooting steps resolved: • Nginx conf.d missing → manually created with SSL + proxy_pass • Systemd service not installed → copied and enabled manually • Venv missing → created and pip installed requirements • Templates folder not copied → manually transferred • app.py crashing on list-type summary fields → patched normalize_session() to handle both simple and rich JSON formats Workflow established: at the end of any Claude session, ask for a log entry JSON, download it, drag it onto the upload zone at project.onceuponadice.com.

EXPECTED JSON FORMAT

{
  "project": "BloodMoonRising-Active",
  "date":    "2026-05-28",
  "summary": "One-line description of what was worked on",
  "tags":    ["Game Dev"],
  "details": "Optional longer breakdown of this session"
}

Pass an array [{...}, {...}] to log multiple sessions in one file. Ask Claude at the end of any session: "Generate a log entry for this session" and it will produce this format ready to upload.