{ "projects": [ { "id": "1", "name": "OpenClaw iOS", "description": "Main iOS app development", "color": "#8b5cf6", "createdAt": "2026-02-18T17:01:23.109Z" }, { "id": "2", "name": "Web Projects", "description": "Web tools and dashboards", "color": "#3b82f6", "createdAt": "2026-02-18T17:01:23.109Z" }, { "id": "3", "name": "Research", "description": "Experiments and learning", "color": "#10b981", "createdAt": "2026-02-18T17:01:23.109Z" } ], "tasks": [ { "id": "1", "title": "Redesign Gantt Board", "description": "Make it actually work with proper notes system", "type": "task", "status": "in-progress", "priority": "high", "projectId": "2", "createdAt": "2026-02-18T17:01:23.109Z", "updatedAt": "2026-02-18T17:01:23.109Z", "comments": [ { "id": "c1", "text": "Need 1-to-many notes, not one big text field", "createdAt": "2026-02-18T17:01:23.109Z", "author": "user" }, { "id": "c2", "text": "Agreed - will rebuild with proper comment threads", "createdAt": "2026-02-18T17:01:23.109Z", "author": "assistant" } ], "tags": ["ui", "rewrite"] }, { "id": "2", "title": "MoodWeave App Idea", "description": "Social mood tracking with woven visualizations", "type": "idea", "status": "backlog", "priority": "medium", "projectId": "1", "createdAt": "2026-02-18T17:01:23.109Z", "updatedAt": "2026-02-18T17:01:23.109Z", "comments": [], "tags": ["ios", "social"] }, { "id": "3", "title": "Set up Gitea integration for code pushes", "description": "Create bot account on Gitea (192.168.1.128:3000) and configure git remotes for all OpenClaw projects.", "type": "task", "status": "done", "priority": "medium", "projectId": "2", "createdAt": "2026-02-18T17:01:23.109Z", "updatedAt": "2026-02-18T17:01:23.109Z", "comments": [ { "id": "c3", "text": "User has local Gitea at http://192.168.1.128:3000", "createdAt": "2026-02-18T17:01:23.109Z", "author": "assistant" }, { "id": "c7", "text": "✅ All 3 repos created and pushed to Gitea: gantt-board, blog-backup, heartbeat-monitor", "createdAt": "2026-02-18T17:01:23.109Z", "author": "assistant" } ], "tags": ["gitea", "git", "automation", "infrastructure"] }, { "id": "4", "title": "Redesign Heartbeat Monitor to match UptimeRobot", "description": "Completely redesign the Heartbeat Monitor website to be a competitor to https://uptimerobot.com.", "type": "task", "status": "done", "priority": "high", "projectId": "2", "createdAt": "2026-02-18T17:01:23.109Z", "updatedAt": "2026-02-18T17:01:23.109Z", "comments": [ { "id": "c29", "text": "COMPLETED: Full rebuild with Next.js + shadcn/ui + Framer Motion. Dark OLED theme, glass-morphism cards, animated status indicators, sparkline visualizations, grid/list views, tooltips, progress bars. Production-grade at http://localhost:3005", "createdAt": "2026-02-18T17:01:23.109Z", "author": "assistant" } ], "tags": ["ui", "ux", "redesign", "dashboard", "monitoring"] }, { "id": "5", "title": "Fix Blog Backup links to be clickable", "description": "Make links in the Daily Digest clickable in the blog backup UI.", "type": "task", "status": "done", "priority": "medium", "projectId": "2", "createdAt": "2026-02-18T17:01:23.109Z", "updatedAt": "2026-02-18T17:01:23.109Z", "comments": [ { "id": "c41", "text": "COMPLETED: Fixed parseDigest to extract URLs from markdown links [Title](url) in title lines", "createdAt": "2026-02-18T17:01:23.109Z", "author": "assistant" }, { "id": "c42", "text": "COMPLETED: Title is now the clickable link with external link icon on hover", "createdAt": "2026-02-18T17:01:23.109Z", "author": "assistant" } ], "tags": ["blog", "ui", "markdown", "links"] }, { "id": "6", "title": "Fix monitoring schedule - 2 of 3 sites are down", "description": "The cron job running every 10 minutes to check heartbeat website is failing.", "type": "bug", "status": "done", "priority": "urgent", "projectId": "2", "createdAt": "2026-02-18T17:01:23.109Z", "updatedAt": "2026-02-18T17:01:23.109Z", "comments": [ { "id": "c16", "text": "FIXED: Updated cron job with pkill cleanup before restart + 2s delay. Created backup script: monitor-restart.sh", "createdAt": "2026-02-18T17:01:23.109Z", "author": "assistant" } ], "tags": ["monitoring", "cron", "bug", "infrastructure", "urgent"] }, { "id": "7", "title": "Investigate root cause - why are websites dying?", "description": "Currently monitoring only treats the symptom (restart when down). Need to investigate what is actually killing the Next.js dev servers.", "type": "research", "status": "done", "priority": "high", "projectId": "2", "createdAt": "2026-02-18T17:01:23.109Z", "updatedAt": "2026-02-18T17:01:23.109Z", "comments": [ { "id": "c27", "text": "COMPLETED: Root cause analysis done. Primary suspect: Next.js dev server memory leaks. Secondary: SSH timeout, OOM killer, power mgmt. Full report: root-cause-analysis.md. Monitoring script deployed.", "createdAt": "2026-02-18T17:01:23.109Z", "author": "assistant" } ], "tags": ["debugging", "research", "infrastructure", "root-cause"] }, { "id": "8", "title": "Fix Kanban board - dynamic sync without hard refresh", "description": "Current board uses localStorage persistence which requires hard refresh (Cmd+Shift+R) to see task updates from code changes.", "type": "task", "status": "done", "priority": "medium", "projectId": "2", "createdAt": "2026-02-18T17:01:23.109Z", "updatedAt": "2026-02-18T17:01:23.109Z", "comments": [ { "id": "c44", "text": "COMPLETED: Added /api/tasks endpoint with file-based storage", "createdAt": "2026-02-18T17:01:23.109Z", "author": "assistant" }, { "id": "c45", "text": "COMPLETED: Store now syncs from server on load and auto-syncs changes", "createdAt": "2026-02-18T17:01:23.109Z", "author": "assistant" } ], "tags": ["ui", "sync", "localstorage", "real-time"] }, { "id": "9", "title": "Add ability to edit task priority in Kanban board", "description": "Currently users cannot change task priority (Low/Medium/High/Urgent) from the UI.", "type": "task", "status": "done", "priority": "high", "projectId": "2", "createdAt": "2026-02-18T17:01:23.109Z", "updatedAt": "2026-02-18T17:01:23.109Z", "comments": [ { "id": "c28", "text": "COMPLETED: Added priority buttons to task detail dialog. Click any task to see Low/Medium/High/Urgent buttons with color coding. Changes apply immediately.", "createdAt": "2026-02-18T17:01:23.109Z", "author": "assistant" } ], "tags": ["ui", "kanban", "feature", "priority"] }, { "id": "10", "title": "RESEARCH: Find viable screenshot solution for OpenClaw on macOS", "description": "INVESTIGATION NEEDED: Find a reliable, persistent way for OpenClaw AI to capture screenshots of local websites running on macOS.", "type": "research", "status": "done", "priority": "high", "projectId": "2", "createdAt": "2026-02-18T17:01:23.109Z", "updatedAt": "2026-02-18T17:01:23.109Z", "comments": [ { "id": "c39", "text": "SUCCESS: Playwright + Google Chrome works! Successfully captured screenshot of http://localhost:3005 using headless Chrome", "createdAt": "2026-02-18T17:01:23.109Z", "author": "assistant" }, { "id": "c47", "text": "COMPLETED: Playwright installed globally. Screenshots now work anytime without setup.", "createdAt": "2026-02-18T17:01:23.109Z", "author": "assistant" } ], "tags": ["research", "screenshot", "macos", "openclaw", "investigation"] }, { "id": "11", "title": "RESEARCH: Find iOS side projects with MRR potential", "description": "Research and identify iOS app ideas that have strong Monthly Recurring Revenue (MRR) opportunities.", "type": "research", "status": "done", "priority": "low", "projectId": "3", "createdAt": "2026-02-18T17:01:23.109Z", "updatedAt": "2026-02-18T17:01:23.109Z", "comments": [ { "id": "c52", "text": "COMPLETED: Full research report saved to memory/ios-mrr-opportunities.md", "createdAt": "2026-02-18T17:01:23.109Z", "author": "assistant" }, { "id": "c53", "text": "TOP 10 IDEAS: (1) AI Translator Keyboard - $15K/mo potential, (2) Finance Widget Suite, (3) Focus Timer with Live Activities - RECOMMENDED, (4) AI Photo Enhancer, (5) Habit Tracker with Social, (6) Local Business Review Widget, (7) Audio Journal with Voice-to-Text, (8) Plant Care Tracker, (9) Sleep Sounds with HomeKit, (10) Family Password Manager", "createdAt": "2026-02-18T17:01:23.109Z", "author": "assistant" } ], "tags": ["ios", "mrr", "research", "side-project", "entrepreneurship", "app-ideas"] }, { "id": "12", "title": "Add markdown rendering to Blog Backup", "description": "The blog backup page currently shows raw markdown text instead of rendered HTML.", "type": "task", "status": "done", "priority": "high", "projectId": "2", "createdAt": "2026-02-18T17:01:23.109Z", "updatedAt": "2026-02-18T17:01:23.109Z", "comments": [ { "id": "c58", "text": "COMPLETED: Installed react-markdown and remark-gfm", "createdAt": "2026-02-18T17:01:23.109Z", "author": "assistant" }, { "id": "c61", "text": "COMPLETED: Links now open in new tab with blue styling and hover effects", "createdAt": "2026-02-18T17:01:23.109Z", "author": "assistant" } ], "tags": ["blog", "ui", "markdown", "frontend"] }, { "id": "13", "title": "Research TTS options for Daily Digest podcast", "description": "Research free text-to-speech (TTS) tools to convert the daily digest blog posts into an audio podcast format.", "type": "research", "status": "backlog", "priority": "medium", "projectId": "2", "createdAt": "2026-02-19T17:01:23.109Z", "updatedAt": "2026-02-19T17:01:23.109Z", "comments": [ { "id": "c62", "text": "Goal: Convert daily digest text to audio for dog walks", "createdAt": "2026-02-19T17:01:23.109Z", "author": "user" }, { "id": "c63", "text": "Requirement: Free or very low cost solution", "createdAt": "2026-02-19T17:01:23.109Z", "author": "user" } ], "tags": ["research", "tts", "podcast", "audio", "digest", "accessibility"] } ], "lastUpdated": 1771527708121 }