Skip to content

Feat/typing streak - #17

Merged
CodingWithTashi merged 3 commits into
mainfrom
feat/typing-streak
Jul 4, 2026
Merged

Feat/typing streak#17
CodingWithTashi merged 3 commits into
mainfrom
feat/typing-streak

Conversation

@CodingWithTashi

Copy link
Copy Markdown
Owner

No description provided.

claude and others added 3 commits July 2, 2026 13:53
The Hook-Model retention feature: the keyboard counts Tibetan typing
on-device and turns it into a daily streak with weekly insights.

Privacy-first by design: only aggregate numbers are ever stored — no
typed text. Vocabulary size is tracked via one-way SHA-256 hashes, and
nothing leaves the device unless the user opts into the numbers-only
community comparison.

App:
- StreakLogic (pure JVM, unit-tested) + TypingStatsStore (on-device
  counters, streak, hashed vocabulary, 60-day retention)
- IME counts Tibetan chars/words in onKey/onSuggestionSelected
- Streak flame chip in the keyboard toolbar -> Journey screen
- Journey screen (Compose MVVM): streak hero with milestone progress
  (3/7/14/30/60/108/365), stats grid, weekly bar chart + vocabulary +
  community percentile (PRO-gated), privacy card, share action
- Home screen streak banner card
- Daily WorkManager reminder (~7pm) when the streak is at risk +
  Sunday weekly insight notification, with a Settings toggle
- New analytics events (journey_opened, streak_milestone, etc.)

Backend:
- POST /journey/weekly — validates and stores two aggregate integers
  per user, returns community percentile via Firestore count queries

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PPzMhQP4rp1KbdtMX5i2ts
Sharpen the three highest-intent moments for free users:

- Replace the generic locked-insights card with a personalized teaser:
  real weekly word/character counts plus an honest estimate of the
  keystrokes PRO autocomplete would have saved, with vocabulary /
  weekly chart / community rank shown as the locked reveal.
- Celebrate streak milestones (3/7/14/30/60/108/365) with a gold
  banner; for free users the banner pitches PRO at the reward moment
  and taps through to the upgrade flow.
- Weekly insight notification now lands everyone on the Journey
  screen, which carries the teaser + Unlock PRO CTA for free users.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PPzMhQP4rp1KbdtMX5i2ts
@CodingWithTashi
CodingWithTashi merged commit 6ef7f94 into main Jul 4, 2026
1 check failed
@sonarqubecloud

sonarqubecloud Bot commented Jul 4, 2026

Copy link
Copy Markdown

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants