taskclf¶
A local-first, privacy-preserving classifier that infers your task type (coding, writing, meetings, etc.) from computer activity signals.
Privacy first
No raw keystrokes or window titles are stored — only aggregate rates and hashed identifiers. Everything runs on your machine.
Who is this for? Developers and power users who want automated, private time tracking without sending data to a third-party service.
Quick start¶
See the Getting Started guide for full setup, or try the synthetic data demo to run the full pipeline without ActivityWatch.
Key concepts¶
| Concept | Summary |
|---|---|
| Buckets | Activity aggregated into 60 s windows — Time & Buckets |
| 8 core labels | Build, Debug, Review, Write, ReadResearch, Communicate, Meet, BreakIdle — Task Labels |
| Privacy by design | No raw content is ever stored — Privacy Model |
| Custom taxonomy | Map core labels to your own categories without retraining — Custom Taxonomy |
Guides¶
- Getting Started — workflows from ingestion to daily reports
- Privacy Model — what is and isn't stored
- Inference Pipeline — how a feature row becomes a prediction
- Acceptance Criteria — quality gates for model promotion
API Reference¶
Auto-generated from source docstrings. Use the API Reference tab for the full listing, or jump to a group:
| Group | Description |
|---|---|
| Core | Types, schemas, storage, validation, and observability |
| Adapters | ActivityWatch data import |
| Features | Feature extraction from raw events |
| Labels | Label storage, projection, and active labeling |
| Training | Dataset construction, model training, and evaluation |
| Inference | Prediction, calibration, smoothing, and monitoring |
| Reports | Daily summaries and export |
| UI | Web dashboard and system tray app |
| CLI | Command-line interface |