Files
taskplaner/.planning/PROJECT.md
2026-02-03 03:14:14 +01:00

83 lines
3.1 KiB
Markdown

# TaskPlanner
## What This Is
A personal web app for capturing tasks and thoughts with image attachments, accessible from any device. Replaces scattered paper notes and Samsung Notes by providing a single place to capture, organize, and find things — especially from laptop where Samsung Notes doesn't work.
## Core Value
Capture and find anything from any device — especially laptop. If cross-device capture with images doesn't work, nothing else matters.
## Current Milestone: v2.0 Production Operations
**Goal:** Establish production-grade CI/CD pipeline and observability stack for reliable operations.
**Target features:**
- Automated tests in Gitea Actions pipeline
- ArgoCD for GitOps deployment automation
- Prometheus metrics collection
- Grafana dashboards for visibility
- Loki log aggregation
## Requirements
### Validated (v1.0 - Shipped 2026-02-01)
- [x] Capture tasks and thoughts from any device via web browser
- [x] Distinguish between tasks (actionable) and thoughts (reference)
- [x] Attach images to entries (from file upload or camera)
- [x] Organize entries with tags (emergent, not predefined categories)
- [x] Find entries by tag, time, or search
- [x] Add notes to existing entries
- [x] Digitize paper notes by photographing and tagging them
### Active
(None — see v2 candidates in `.planning/milestones/v1.0-REQUIREMENTS.md`)
### Out of Scope
- Mobile native app — web-first, browser works on all devices
- Real-time collaboration — personal tool, single user
- Offline mode — online-first for v1
- OCR/text extraction from images — manual tagging is fine for now
- Calendar integration — focus on capture and retrieval first
## Context
**Current pain:**
- Paper notes scattered, hard to find
- Samsung Notes works on phone/tablet but no web access for laptop
- Finding things means manually scanning through piles
**User profile:**
- Senior software engineer, DIY mindset
- Comfortable with self-hosting and container deployments
**Learning goals:**
- Vibe coding (AI-assisted development)
- Container deployments
This project solves a real problem while serving as a vehicle for learning new approaches.
## Constraints
- **Deployment**: Container-based — user wants to learn/practice container deployments
- **Platform**: Web app — must work in any modern browser
- **User**: Single user (personal tool) — no multi-tenancy needed for v1
## Key Decisions
| Decision | Rationale | Outcome |
|----------|-----------|---------|
| Web app over native | Works on all devices including laptop without app stores | ✓ Validated |
| Tags over folders | Flexible organization, items can have multiple tags | ✓ Validated |
| Images from day one | Core need is digitizing paper notes | ✓ Validated |
| Tailwind CSS v4 | Modern utility-first CSS with Vite plugin | ✓ Validated |
| SQLite with WAL mode | Simple, fast, concurrent reads for single-user | ✓ Validated |
| Repository pattern | Clean data access, testable, singleton instances | ✓ Validated |
| adapter-node for Docker | Server-side rendering with env prefix support | ✓ Validated |
---
*Last updated: 2026-02-03 after v2.0 milestone started*