# TrackMyLang > Local-first language tracker for serious learners. Log immersion, Anki, and study sessions for any language - stored in your browser, synced to your Google Drive. TrackMyLang is a privacy-focused, local-first web app for tracking language learning hours. All data is stored in the user's browser (IndexedDB) by default. Google Drive sync and cloud sync are optional. No account is required to use the core app. ## Key features - **Session logging**: 8 categories (Watching, Listening, Reading, Writing, Speaking, Studying, Playing, Other) with 80+ subcategories. Live timer or manual entry. - **Streaks & goals**: Daily goal tracking with configurable targets. Streak counter with grace days to protect long-term habits. - **Milestone cards**: Auto-generated shareable cards at 100h, 500h, 1,000h, and beyond. - **Progress Roadmap (Free, Beta)**: Maps logged hours to CEFR levels (A1-C2) and other proficiency frameworks, with language difficulty adjustments. - **Anki integration (Free)**: Connects via AnkiConnect to pull cards reviewed, new cards, and retention rate directly onto the dashboard. - **Journals**: Rich text journal entries tied to sessions, stored locally. - **Media Catalog & watchlist (Free)**: Browse a shared, public catalog of YouTube videos and creator channels, filterable by language, rating, duration, and search. Mark items "Want to watch", "Watching", or "Done" to build a personal watchlist, and log any item as a session in one click. - **CSV / JSON export**: Always free. Import sessions via CSV. - **Pro plan ($3/mo)**: Automatic cloud sync, six advanced analytics charts, custom per-day-of-week goals, session templates, keyboard shortcuts, 1 grace day/week. ## Advanced analytics (Pro) - **Productivity Punchcard**: Heatmap of study time by day-of-week and hour-of-day. - **Activity Balance**: Radar chart comparing study mix to a recommended distribution for the user's level. - **Source ROI**: Treemap of hours by content source. - **Language Split**: Monthly bar chart of hours per language. - **Habit Drift**: Ridge-line chart of session start times month by month. - **Media Lifespan**: Stream graph of hours per source across full history. ## Watch analytics (Pro) Backlog and watchlist insights built from the watch statuses you set in the Media Catalog: - **Pace overview**: How fast you add vs finish items, how long they wait, and your median time to complete. - **Backlog burndown**: Items added vs completed over time. - **Completion funnel**: How far saved items get, and how long to clear the queue at your recent pace. - **Language breakdown**: Saved vs completed across the languages you watch. - **Duration sweet-spot**: Saved vs completed by video length. - **Channel leaderboard**: Which creators you actually finish. ## Architecture - Local-first: IndexedDB (Dexie.js) is the primary store. Cloud is never in the write path. - Sync: Google Drive (full-state snapshot) and cloud storage (delta sync). Last-write-wins conflict resolution. Tombstone-based deletions. Reset epoch system for full replacements. - Stack: React, TypeScript, Tailwind CSS v4, shadcn/ui, Vite, Wouter, TanStack Query, Tiptap. ## Pages - [Home](https://trackmylang.com/) - [Blog](https://trackmylang.com/blog) - [Privacy Policy](https://trackmylang.com/privacy) - [Terms of Service](https://trackmylang.com/terms) ## Blog posts - [Why Tracking Multiple Languages Changes Everything](https://trackmylang.com/blog/track-unlimited-languages) - [The Power of Logging Every Session and Keeping a Language Journal](https://trackmylang.com/blog/session-and-journal-logging) - [Daily, Weekly, and Total Goals: The Backbone of Consistent Progress](https://trackmylang.com/blog/goal-tracking) - [See Where You Stand: Progress Charts and Language Roadmaps](https://trackmylang.com/blog/progress-charts-language-roadmaps) - [Anki Integration: Your Flashcard Stats Alongside Your Immersion Hours](https://trackmylang.com/blog/anki-integration) - [Your Data, Everywhere: Google Drive Sync and CSV Export](https://trackmylang.com/blog/google-drive-sync-csv-export) - [Milestone Cards: Celebrating Progress and Building Community](https://trackmylang.com/blog/milestones) - [Grace Days: How Streak Forgiveness Makes Habits Last](https://trackmylang.com/blog/grace-days) - [Real-Time Cloud Sync: Your Language Data on Every Device, Instantly](https://trackmylang.com/blog/real-time-cloud-sync) - [Custom Goals for Every Day of the Week](https://trackmylang.com/blog/custom-weekly-goals) - [Session Templates: Log Recurring Sessions in Seconds](https://trackmylang.com/blog/session-templates) - [Keyboard Shortcuts: For the Learner Who Wants to Get In and Get On With It](https://trackmylang.com/blog/keyboard-shortcuts) - [Productivity Punchcard: Discover When You Learn Best](https://trackmylang.com/blog/productivity-punchcard) - [Activity Balance: Are You Studying the Right Mix for Your Level?](https://trackmylang.com/blog/activity-balance) - [Source ROI: Why Variety in Your Content Sources Matters](https://trackmylang.com/blog/source-roi) - [Language Split: Track How Your Attention Shifts Across Languages Over Time](https://trackmylang.com/blog/language-split) - [Habit Drift: How Your Study Time of Day Changes Month by Month](https://trackmylang.com/blog/habit-drift) - [Media Lifespan: Which Content Sources Do You Keep Coming Back To?](https://trackmylang.com/blog/media-lifespan) - [The Language Roadmap: How Many Hours Does It Actually Take?](https://trackmylang.com/blog/progress-roadmap) - [Import and Export: Your Language Data Belongs to You](https://trackmylang.com/blog/import-export-data) - [Daily Mood and Study Volume: The Calendar That Knows How You Felt](https://trackmylang.com/blog/daily-mood-and-study-volume) - [How TrackMyLang Syncs Your Data: Local-First, Multi-Cloud, and Conflict-Free](https://trackmylang.com/blog/how-sync-works) - [How Data Deletion Works: Local, Cloud, Google Drive, and Your Account](https://trackmylang.com/blog/how-data-deletion-works) - [How the Anki Integration Works: AnkiConnect, Local Polling, and the Data Model](https://trackmylang.com/blog/how-anki-integration-works) - [How Connect Google Drive Works: Scopes, Tokens, and How to Revoke](https://trackmylang.com/blog/how-google-drive-connect-works)