WorkTrace: A Desktop Work Logger Built Entirely by Describing It to an AI
A fully functional, installable desktop app with AI structuring, OCR, and cloud sync was produced without the creator writing code — only describing requirements and reporting bugs. The documented iteration log (11 pitfall entries with symptom → root cause → fix) provides a concrete, reproducible workflow for anyone who can specify software but can't code.
WorkTrace solves the Friday report scramble: scattered records, forgotten tasks, and mixed to-dos. It captures casual entries, auto-structures them via AI, and produces a four-section weekly report in one click, backed by local JSON storage and WebDAV sync. The app includes a yearly heatmap, monthly calendar with dual-color to-do/record markers, and built-in PaddleOCR for image recognition — all packaged as macOS dmg and Windows exe installers auto-built via GitHub Actions.
The entire development was driven by natural-language iteration in Trae. Starting from a single sentence describing the desired tool, each feature — to-do separation, cloud sync, model fixes, OCR, packaging — was added by describing the requirement, letting the AI plan and implement, then feeding back bugs with exact error messages. Eleven documented pitfall fixes now serve as reusable engineering assets.
A core reusable pattern emerged: zero-friction entry (one sentence or paste), one-click delivery (report or export), and hand the middle to AI. The same architecture applies to meeting minutes, reading notes, or client follow-up tools.
The entire app was produced through demand-driven iteration — the human described what they wanted and reported bugs with exact error strings; the AI planned, implemented, and debugged. No code was handwritten.
Bug reporting quality directly determines fix speed: "Read-only file system (os error 30)" led to a root-cause diagnosis in one pass, while vague reports would have required multiple rounds.
Platform-specific WebView behavior (Tauri's missing `window.confirm`) is a class of bug that a non-desktop developer would struggle to diagnose alone; the AI's reproduction-first approach caught it.
The kimi-k3 fix exposed a common AI-integration fragility: model-specific constraints (temperature=1 only) and non-standard JSON output require defensive retry logic, not just a single prompt.
Built-in PaddleOCR replaced a user-configuration step — a pattern worth generalizing: AI coding agents can swap out "bring your own model" for embedded, zero-config alternatives when given the instruction.
The 11-entry pitfall log is arguably more valuable than the app itself for anyone attempting a similar AI-driven build; it captures platform-specific, model-specific, and toolchain-specific failure modes.