83 lines
3.1 KiB
Markdown
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*
|