diff --git a/README.md b/README.md
index 1154f23..dba118d 100644
--- a/README.md
+++ b/README.md
@@ -1,14 +1,16 @@
# Focus Seed
-Focus Seed is a private, offline-first focus timer, habit tracker, and daily reflection app built with Flutter.
+Focus Seed is the current working name for a Flutter product evolving from a lightweight daily action loop into a personal growth and behavior intelligence system.
-## V1 Product Loop
+Current implementation starts with local-first focus sessions, habits, reflection, records, and privacy controls. Product direction, PRD, and roadmap are governed by `docs/product-current-baseline.md`.
-1. Choose one anchor task for today.
-2. Complete a focused session.
-3. Check off small habits.
-4. Save a one-minute reflection.
-5. Review the seven-day pulse.
+## Current MVP Loop
+
+1. Choose or continue one meaningful action.
+2. Complete a focused/action session.
+3. Capture a short record.
+4. Review accumulated records.
+5. Grow toward calendar, goals, tags, trends, and user insight over time.
## Architecture
@@ -26,7 +28,7 @@ See `launch/architecture.md` for the complete responsibility map.
## Privacy
-Version 1.0.0 has no account system, server, advertising SDK, analytics SDK, billing SDK, or sensitive Android permissions. User data remains on the device unless the user explicitly exports it.
+The current implementation has no account system, server, advertising SDK, analytics SDK, billing SDK, or sensitive Android permissions. This is the current trust and launch posture, not a permanent product ceiling.
## Development
diff --git a/assets/images/growth/growth-flower.png b/assets/images/growth/growth-flower.png
deleted file mode 100644
index 6187c3c..0000000
Binary files a/assets/images/growth/growth-flower.png and /dev/null differ
diff --git a/assets/images/growth/growth-leaves.png b/assets/images/growth/growth-leaves.png
deleted file mode 100644
index 035debc..0000000
Binary files a/assets/images/growth/growth-leaves.png and /dev/null differ
diff --git a/assets/images/growth/growth-seed.png b/assets/images/growth/growth-seed.png
deleted file mode 100644
index dbbdbf3..0000000
Binary files a/assets/images/growth/growth-seed.png and /dev/null differ
diff --git a/assets/images/growth/growth-sprout.png b/assets/images/growth/growth-sprout.png
deleted file mode 100644
index e648ffe..0000000
Binary files a/assets/images/growth/growth-sprout.png and /dev/null differ
diff --git a/docs/architecture/v1.0.1-architecture.md b/docs/architecture/v1.0.1-architecture.md
index c71ecba..f32d224 100644
--- a/docs/architecture/v1.0.1-architecture.md
+++ b/docs/architecture/v1.0.1-architecture.md
@@ -1,5 +1,7 @@
# Focus Seed 1.0.1 Architecture
+Status: historical reference. The current architecture and navigation contract lives in `../../launch/architecture.md` and `../product-current-baseline.md`.
+
## Decision
Keep the app offline-first and SDK-light. Flutter renders all product UI. `shared_preferences` remains the persistence adapter because the current dataset is one small versioned document and does not require relational queries, pagination, joins, or concurrent writers.
diff --git a/docs/design/focus-seed-living-ambience-v1.0.1.png b/docs/design/focus-seed-living-ambience-v1.0.1.png
deleted file mode 100644
index 2054c93..0000000
Binary files a/docs/design/focus-seed-living-ambience-v1.0.1.png and /dev/null differ
diff --git a/docs/design/focus-seed-visual-direction-v1.0.1.png b/docs/design/focus-seed-visual-direction-v1.0.1.png
deleted file mode 100644
index c84c748..0000000
Binary files a/docs/design/focus-seed-visual-direction-v1.0.1.png and /dev/null differ
diff --git a/docs/design/focus-seed-visual-system-v1.0.2.md b/docs/design/focus-seed-visual-system-v1.0.2.md
index 8bec3f4..dd30687 100644
--- a/docs/design/focus-seed-visual-system-v1.0.2.md
+++ b/docs/design/focus-seed-visual-system-v1.0.2.md
@@ -1,6 +1,6 @@
# Focus Seed Visual System v1.0.2
-Status: planning contract. Do not treat this document as an implementation diff.
+Status: visual direction reference. Current product scope is defined in `../product-current-baseline.md`.
## Product Thesis
@@ -31,14 +31,14 @@ This direction is global-friendly, feasible in Flutter, serious enough for produ
## Target App Structure
-Preferred primary navigation:
+Current V1 primary navigation:
- Today: daily action hub.
- Focus: immersive timer and active session.
-- Habits: habit list, completion, weekly rhythm.
-- Growth: reflection, history, trends, milestones.
+- Records: focus sessions and reflection history.
+- Me: preferences, privacy, and local data controls.
-Settings should move behind a top-right profile/settings entry or a More sheet. It should not compete with the daily loop unless account, billing, or preferences become a core product surface.
+Habits and Growth are not current primary tabs. They can be promoted later only when habit management, trend review, and detail pages are real product surfaces rather than thin wrappers.
## Screen Hierarchy
@@ -46,18 +46,22 @@ Settings should move behind a top-right profile/settings entry or a More sheet.
| --- | --- | --- | --- | --- | --- |
| Today | Know what to do now | Date, greeting, main focus | Start focus or set focus | Habit summary, reflection prompt, small growth cue | Natural vertical scroll; P0 remains near top |
| Focus | Stay in one session | Current task and timer | Pause/complete/start | Duration, mode, next break, session stats | Minimal scroll; controls stable |
-| Habits | Complete and manage habits | Today progress and filters | Toggle habit / add habit | Weekly dots, streaks, edit/reorder | Dense list; sticky section controls optional |
-| Growth | Understand progress | Reflection entry or weekly summary | Reflect today / view timeline | Sessions, habits, records, trend charts | Timeline + cards; history can go to detail |
-| Settings | Adjust app and privacy | Local data, appearance, language | Change preference | Privacy, clear data, version | Compact grouped list |
+| Records | Review saved work | Focus/reflection history switch | Open Today when empty | Sessions, notes, simple trends | Timeline/list; detail pages are V2 |
+| Me | Adjust app and privacy | Local data summary | Change preference | Privacy, clear data, language | Compact grouped list |
## Visual System
Palette:
-- Primary: mature green or teal for progress and focus.
-- Secondary: restrained blue/violet for reflection or insight.
+- Brand: deep ink for identity, headings, and logo text. Do not use brand as a catch-all accent.
+- Action: blue for primary buttons, navigation selection, and forward movement.
+- Focus: blue family for timer and active-session controls.
+- Habit: amber or warm accent for small repeatable actions.
+- Reflection: violet for notes, review, and insight.
+- Success: green for completion, checkmarks, and finished progress.
+- Privacy/local: green-teal for on-device trust indicators only.
- Warm neutral surfaces instead of pure white where appropriate.
-- Semantic colors for success, warning, destructive, disabled, offline.
+- Warning/destructive/disabled/offline must remain separate semantic colors.
- Dark mode must be designed, not inverted.
Typography:
@@ -79,6 +83,14 @@ Motifs:
- Use illustration in empty states, onboarding, growth, and rewards.
- Do not decorate every card.
+Asset ambition:
+
+- Be more expressive with the logo, app icon, key illustration set, reward visuals, and store screenshots. These are allowed to carry stronger identity than the everyday UI.
+- Do not rely only on the plant metaphor. Explore sharper symbols such as focus rings, marked paths, light windows, paper cuts, modular tiles, timeline traces, and crafted seed/anchor hybrids.
+- Navigation and utility icons should stay readable and consistent, but they may use a custom symbolic grammar after the structure passes.
+- Illustrations should feel complete and production-worthy at their real display size. Avoid rough placeholder line art in polished previews.
+- Dense task surfaces stay restrained; onboarding, empty states, milestones, completion moments, and launch assets can be bolder.
+
## Interaction And Motion
Motion budget:
@@ -87,6 +99,12 @@ Motion budget:
- 15% spatial motion: tab/page/sheet/list transitions.
- 5% reward: session complete, streak, milestone.
+Motion ambition:
+
+- Reward moments may be more memorable than the base UI: focus ring bloom, path lighting, notebook mark, seed-to-signal transition, or timeline pulse.
+- Keep bold motion rare, interruptible, and non-blocking. It should celebrate completion or clarify state, not decorate every tap.
+- Use Flutter-safe primitives first. Escalate to Rive/Lottie only for a signature reward or onboarding moment with a static fallback and reduced-motion behavior.
+
Required behavior:
- Tap feedback within 100 ms.
@@ -127,9 +145,9 @@ Create or consolidate:
1. Create design, component, and motion foundations.
2. Prototype Today and Focus first; review screenshots and interaction.
-3. Add the Habits screen as a real first-class surface.
-4. Rework Growth into reflection plus progress timeline.
-5. Move Settings out of primary navigation or make it compact.
+3. Keep Records and Me honest until Habits/Growth have enough product depth to become primary tabs.
+4. Add detail pages only when they have data writes, navigation targets, and clear user outcomes.
+5. Keep Settings compact and user-facing; avoid developer-tool language.
6. Add empty/dense/error/offline/restored states.
7. Verify light/dark, English/Chinese, small phone, large text.
8. Build and test Android release after each large module.
diff --git a/docs/design/visual-direction-v1.0.1.md b/docs/design/visual-direction-v1.0.1.md
deleted file mode 100644
index 75240c7..0000000
--- a/docs/design/visual-direction-v1.0.1.md
+++ /dev/null
@@ -1,117 +0,0 @@
-# Focus Seed Visual Direction 1.0.1
-
-## Decision
-
-Use an editorial botanical interface with premium Soft 3D growth objects and state-driven Material Expressive motion.
-
-The interface remains a mature productivity product. Illustration and 3D are reserved for progress, state, onboarding, empty states, and completion feedback rather than ordinary controls.
-
-## Product Expression
-
-- Core metaphor: intention plants a seed; focus, habits, and reflection grow it.
-- Navigation: Today, Journey, Me.
-- Today expands the current next action and compresses completed or future stages.
-- Journey shows the relationship between daily actions and growth rather than a generic statistics dashboard.
-- Ordinary lists, forms, dialogs, and settings stay compact and familiar.
-
-## Visual Balance
-
-- 72% functional editorial UI
-- 18% Soft 3D state objects
-- 10% botanical illustration, semantic accent, and motion
-
-## Foundation Tokens
-
-- Porcelain: `#F7F8F5`
-- Ink: `#17211C`
-- Leaf: `#4D8B63`
-- Mint: `#A9E8B5`
-- Ultramarine: `#4E63D8`
-- Coral: `#EA725E`
-- Radii: `8`, `12`, `16`
-- Spacing: four-point base with an eight-point layout rhythm
-- Elevation: two restrained levels plus hairline separators
-- Body type: 14-16 logical pixels with compact headings
-
-## Growth States
-
-- Seed: no intention
-- Sprout: intention saved
-- Leaves: focus and habit progress
-- Flower: reflection complete
-
-Every state needs a non-color cue. Reduced-motion mode replaces growth animation with crossfade and an immediate state swap.
-
-## Living Ambience System
-
-Use stable structure with slowly changing ambience. Time must never move controls, change navigation, alter semantic meaning, or reduce contrast.
-
-### Local Time Modes
-
-- Dawn, `05:00-09:59`: cool porcelain, pale sky-mint surface tint, low-stimulation entrance, dew highlight on seed or sprout.
-- Day, `10:00-16:59`: clean porcelain, highest information clarity, leaf and ultramarine accents.
-- Dusk, `17:00-20:59`: restrained coral-lilac tint, softer localized shadows, reflection receives more visual priority when pending.
-- Night, `21:00-04:59`: warm graphite, off-white text, mint primary, muted violet reflection accent, no bright glow.
-
-Determine the mode from the device clock. Do not request location or network access. Re-evaluate on launch, resume, and the next time boundary; never run a background polling loop.
-
-### Priority Order
-
-1. Accessibility and contrast requirements
-2. Explicit user Light, Dark, or System appearance preference
-3. Platform reduced-motion and high-contrast settings
-4. Time ambience within the selected appearance
-5. Product growth state
-
-If the user forces Light or Dark, preserve that appearance and vary only compatible neutral tints and object lighting. System appearance always wins over an automatic day/night surface switch.
-
-### Week And Season
-
-- Weekday/weekend may adjust optional greeting copy and recommended session length, but must not rearrange the interface.
-- Do not infer physical season from month alone for a global audience because hemispheres differ.
-- Offer optional Growth Seasons as cosmetic progression chapters. They are driven by product progress or an explicit user choice, not location.
-- Avoid weather, religious, national, and holiday imagery unless the user explicitly enables a localized pack.
-
-## Motion Contract
-
-- Press response: `120ms`
-- Ordinary state transition: `180-240ms`
-- Growth transformation: `360-480ms`
-- One-time completion celebration: no more than `700ms`
-- Page transition: preserve spatial continuity and remain under `300ms`
-
-Motion events:
-
-- Intention saved: seed rises, settles, and becomes a sprout.
-- Focus starts: progress begins; plant movement is nearly imperceptible.
-- Habit completes: checkbox morphs to a leaf and one leaf unfolds.
-- Reflection saves: flower opens once, then remains still.
-- Background restoration: timer and plant immediately snap to correct data, followed by a short confirmation.
-
-Never run continuous decorative motion. Pause nonessential animation when the app is inactive, during scrolling, under battery-saving conditions, or when reduced motion is enabled. Reduced motion uses crossfade, opacity, and immediate state replacement.
-
-## Variation Budget
-
-- Structure and navigation: `0%` time-based variation
-- Semantic colors and action meaning: `0%` variation
-- Neutral surfaces and background tint: subtle variation only
-- Plant state: driven by real user progress
-- Illustration: reserved for onboarding, empty states, milestones, and completion
-- Copy: may vary by time while preserving the same meaning and action
-
-The goal is recognition with freshness, not novelty on every launch.
-
-## Guardrails
-
-- No childish faces or mascot behavior.
-- No oversized 3D hero or giant timer.
-- No card-per-section dashboard.
-- No decorative illustration without state meaning.
-- No animation that delays input or hides status.
-- Validate long localization, 200% text, dense lists, keyboard, offline restoration, loading, and recoverable errors.
-
-## Visual Reference
-
-See `focus-seed-visual-direction-v1.0.1.png` in this directory.
-
-See `focus-seed-living-ambience-v1.0.1.png` for time modes and motion behavior.
diff --git a/docs/roadmaps/v1.0.2-local-database-product-loop.md b/docs/roadmaps/v1.0.2-local-database-product-loop.md
index 33af19b..5afe7ed 100644
--- a/docs/roadmaps/v1.0.2-local-database-product-loop.md
+++ b/docs/roadmaps/v1.0.2-local-database-product-loop.md
@@ -1,5 +1,7 @@
# Focus Seed 1.0.2 Local Database Product Loop
+Status: historical implementation/reference plan. Superseded for active product direction by `../product-current-baseline.md`.
+
## Decision Header
- Objective: move Focus Seed from a simple local MVP into a richer offline-first product with durable history, user-facing settings, and basic retention feedback.
diff --git a/launch/architecture.md b/launch/architecture.md
index 8c4f941..221181f 100644
--- a/launch/architecture.md
+++ b/launch/architecture.md
@@ -1,6 +1,6 @@
# Focus Seed Architecture
-Status: refactored from single-file prototype into modular Flutter structure.
+Status: current release architecture for Focus Seed 1.0.2.
## Directory Layout
@@ -8,77 +8,71 @@ Status: refactored from single-file prototype into modular Flutter structure.
lib/
main.dart
src/
- app/
- focus_seed_app.dart
- app_theme.dart
- core/
- date_keys.dart
- iterable_extensions.dart
- json_utils.dart
- data/
- focus_seed_store.dart
- models/
- app_state.dart
- focus_session.dart
- habit.dart
- mood.dart
- reflection_entry.dart
- services/
- analytics_provider.dart
- monetization_provider.dart
- features/
- shell/
- focus_seed_home.dart
- home/
- home_screen.dart
- timer/
- timer_screen.dart
- habits/
- habits_screen.dart
- reflection/
- reflection_screen.dart
- settings/
- settings_screen.dart
- widgets/
- app_scaffold.dart
- dialogs.dart
- empty_state.dart
- habit_row.dart
- inline_editable_text.dart
- loading_view.dart
- metric_tile.dart
- section_label.dart
- seed_card.dart
- settings_tile.dart
- weekly_progress.dart
+ app/ app shell, theme, ambience, localization setup
+ application/ product controllers and timer lifecycle
+ core/ date keys, focus durations, ambience, utilities
+ data/ local persistence boundary
+ data/local/ Drift SQLite database
+ models/ immutable product models and derived state
+ services/ no-op analytics and monetization interfaces
+ features/ Today, Focus, Records, Me, habits, onboarding, reflection, shell
+ widgets/ reusable panels, dialogs, headers, loading, illustrations
```
## Responsibility Boundaries
- `main.dart`: process entry only.
-- `src/app`: app shell and theme.
-- `src/models`: serializable domain objects.
-- `src/data`: persistence boundary using `shared_preferences`.
-- `src/services`: no-op interfaces for analytics and monetization.
-- `src/features/shell`: state orchestration and feature routing.
+- `src/app`: app-level theme, locale policy, ambience updates, and shell bootstrapping.
+- `src/application`: user commands, save rollback, local analytics events, and timer lifecycle.
+- `src/core`: framework-light utilities and product constants.
+- `src/data`: persistence boundary used by controllers.
+- `src/data/local`: Drift tables, SQLite connection, and product-data clearing.
+- `src/models`: product snapshots, sessions, habits, reflections, mood, records, and progress models.
+- `src/services`: SDK-light interfaces with no-op implementations.
+- `src/features/shell`: top-level navigation and controller wiring.
- `src/features/*`: screen-level UI and user flows.
-- `src/widgets`: reusable UI components and dialogs.
-- `src/core`: framework-light utilities.
+- `src/widgets`: reusable UI primitives.
+
+Widgets render state and forward intent. Controllers own commands. `FocusSeedStore` is the durable persistence boundary. Feature UI does not write to SQLite directly.
+
+## Current Product Structure
+
+Primary destinations:
+
+- Today: daily focus, timer entry, habit summary, reflection prompt, and loop progress.
+- Focus: immersive timer and active-session context.
+- Records: completed focus sessions, reflections, and lightweight history.
+- Me: preferences, privacy, local data controls, and about/legal surfaces.
+
+Habits are a Today support flow, not a primary tab. Growth/Journey was removed from the V1 primary surface; review belongs in Records until a future feature has enough depth to justify a dedicated destination.
+
+## Persistence
+
+Focus Seed is offline-first and stores product data locally with Drift/SQLite:
+
+- `daily_intentions`
+- `focus_sessions`
+- `habits`
+- `habit_logs`
+- `reflections`
+- `app_settings`
+
+The current user-facing app exposes no manual data transfer tools. Existing legacy local preference data is migrated once into SQLite when present, then removed. Small app preferences such as appearance and development language selection remain local preferences.
## Current Design Decisions
- No real ad SDK in V1.
- No real billing SDK in V1.
- No analytics SDK in V1.
-- No network dependency.
-- JSON import/export uses copy/paste to avoid file permissions.
-- Shell owns state until a future state-management package is justified.
+- No account, server, or network dependency.
+- Default focus duration is a user-facing local setting.
+- Clear today resets only today's loop.
+- Delete all data clears local product records while preserving app preference behavior where appropriate.
## Upgrade Path
-Next modularization steps when needed:
-
-- Move `src/app`, `src/core`, `src/models`, `src/services`, and `src/widgets` into shared packages.
-- Replace shell state with Riverpod once multiple apps/features share the same state patterns.
-- Add real `AnalyticsProvider`, `MonetizationProvider`, and remote config implementations only with privacy/Data safety updates.
-- Add golden tests for key screens before scaling the app factory.
+- Keep Drift as the local source of truth while the product remains offline-first.
+- Add DAO-style query methods before history grows large enough to make whole-snapshot writes inefficient.
+- Add Riverpod or a repository package only when multiple apps or features need shared state patterns.
+- Add real analytics, ads, billing, remote config, or sync only with privacy, Data safety, policy, and tests in the same release.
+- Add golden or screenshot tests before scaling launch screenshots or visual variants.
diff --git a/launch/play-console/closed-testing-plan.md b/launch/play-console/closed-testing-plan.md
index 73e016f..f378522 100644
--- a/launch/play-console/closed-testing-plan.md
+++ b/launch/play-console/closed-testing-plan.md
@@ -31,11 +31,11 @@ Official references:
2. Publish an internal testing release.
- Upload `build/app/outputs/bundle/release/app-release.aab`.
- - Use release name `1.0.0 internal`.
+ - Use release name `1.0.2 internal`.
- Release notes:
```text
- First internal test release.
- Includes focus timer, habit tracking, daily reflection, local progress stats, JSON export/import, and local privacy controls.
+ Internal test release for Focus Seed.
+ Includes focus timer, habit tracking, daily reflection, local progress stats, default focus duration, and local privacy controls.
```
- Add yourself and one or two trusted accounts if available.
- Use this to confirm Play delivery and installation.
@@ -45,11 +45,11 @@ Official references:
- Create track name: `Focus Seed V1 closed test`.
- Countries/regions: use English-first regions from `region-localization-strategy.md`.
- Upload the same AAB.
- - Release name: `1.0.0 closed test`.
+ - Use release name `1.0.2 closed test`.
- Release notes:
```text
- First closed test release for Focus Seed.
- Please test the Today, Timer, Habits, Reflect, Settings, Export JSON, Import JSON, and Clear local data flows.
+ Closed test release for Focus Seed.
+ Please test Today, Focus, Records, Me, habit management from Today, default focus duration, clear today's loop, delete local records, and privacy information.
```
4. Add testers.
@@ -58,11 +58,11 @@ Official references:
- Minimum passing target: 12 opted-in testers.
- Tester emails must be Google accounts that can access Google Play.
- Adding emails is not enough. Each tester must open the opt-in link and join the test.
- - If uploading CSV, use one email address per line with no comma and no header row. Use `tester-email-list-no-header.csv` as the safer template.
+ - If uploading CSV, use one email address per line with no comma and no header row.
5. Send tester instructions.
- Send the opt-in link from Play Console.
- - Ask each tester to confirm after they see the "You're a tester" or equivalent joined state.
+ - Ask each tester to confirm after they see the joined tester state.
- Ask each tester to install and open the app at least once.
6. Track 14 days.
@@ -74,14 +74,14 @@ Official references:
- Apply from the Play Console dashboard when eligible.
- Answer questions using the notes in this file.
-## 12 Tester Strategy For A Solo Developer
+## Tester Strategy For A Solo Developer
Best compliant sources:
- Friends and family with Android phones and Google accounts.
- Former classmates, coworkers, or community contacts.
- Small indie developer groups where members exchange real testing help.
-- Productivity/focus communities where you honestly ask for feedback.
+- Productivity or focus communities where you honestly ask for feedback.
- Existing users from your personal network.
Recommended count:
@@ -108,35 +108,7 @@ Tester success checklist:
- Tester tries at least one real flow.
- Tester sends short feedback privately.
-## Tester Invitation Message - Chinese
-
-```text
-我在 Google Play 上做一个新的 Android 应用封闭测试,名字是 Focus Seed。
-它是一个轻量的专注计时、习惯追踪和每日反思工具,不需要账号、不收费、没有广告。
-
-能麻烦你帮我测试一下吗?
-
-步骤:
-1. 用你的 Android 手机打开这个测试链接:
- [粘贴 Play Console opt-in 链接]
-2. 确认加入测试。
-3. 从 Google Play 安装 Focus Seed。
-4. 打开 App,试一下:
- - Today 页面设置一个今日重点
- - Timer 页面启动或完成一次专注
- - Habits 页面勾选一个习惯
- - Reflect 页面写一句反思
- - Settings 页面看一下隐私/导出入口
-5. 测完后告诉我:
- - 是否能正常安装和打开
- - 哪个页面最不清楚
- - 有没有崩溃、卡顿、文字看不清或按钮点不了
-
-这个测试需要保持加入状态 14 天。你不需要每天使用,但请不要退出测试。
-谢谢!
-```
-
-## Tester Invitation Message - English
+## Tester Invitation Message
```text
I am running a closed Google Play test for a new Android app called Focus Seed.
@@ -150,11 +122,13 @@ Steps:
2. Join the test.
3. Install Focus Seed from Google Play.
4. Try these flows:
- - Set a daily anchor on Today
+ - Set today's focus on Today
- Start or complete a focus timer
- Check off a habit
- Save a short reflection
- - Open Settings and review privacy/export controls
+ - Open Records and view progress/history
+ - Open Me and change the default focus duration
+ - Review privacy information and local data controls
5. Send me quick feedback:
- Did install/open work?
- Was any screen confusing?
@@ -166,23 +140,20 @@ Thank you!
## Quick Feedback Questions
-Send these as a message or simple form:
-
```text
1. Your phone model:
2. Android version, if known:
3. Did the app install from Google Play? Yes / No
4. Did the app open successfully? Yes / No
-5. Which screen did you try? Today / Timer / Habits / Reflect / Settings
-6. Any crash, freeze, lag, or layout issue?
-7. What felt confusing?
-8. One thing you would improve:
+5. Which screen did you try? Today / Focus / Records / Me / habit manager
+6. Did default focus duration work as expected?
+7. Any crash, freeze, lag, or layout issue?
+8. What felt confusing?
+9. One thing you would improve:
```
## Tester Tracking Table
-Use a spreadsheet or notes app:
-
```text
Tester name | Google account email | Invited | Opted in | Installed | Opened app | Feedback received | Still opted in day 14
```
@@ -199,8 +170,8 @@ Target:
Use these points when Play Console asks about the closed test:
- App purpose: Focus Seed is a private focus timer, habit tracker, and daily reflection app.
-- Test scope: Today anchor, timer, habits, reflection, settings, export/import, and local data deletion.
+- Test scope: Today focus, timer, habits, reflection, Records/history, Me/settings, default focus duration, clear today's loop, delete local records, and privacy information.
- Tester recruitment: invited trusted Android users through direct email/message using the Play Console opt-in link.
- Feedback collected: installation success, first-run clarity, timer usability, habit check-off, reflection save flow, settings/privacy clarity, layout or crash reports.
-- Actions taken: fixed native Android launch package path, removed unfinished ads/subscription placeholders from settings, verified release build on Android 14.
+- Actions taken: verified local-only storage, removed obsolete data-transfer wording, added default focus duration, and checked release-sensitive privacy wording.
- Readiness: no account, no server, no ads, no billing, no analytics SDK, no sensitive permissions, privacy policy and Data safety match the shipped app.
diff --git a/launch/play-console/data-safety-guide.md b/launch/play-console/data-safety-guide.md
index 8c78273..10a2dca 100644
--- a/launch/play-console/data-safety-guide.md
+++ b/launch/play-console/data-safety-guide.md
@@ -8,8 +8,8 @@ This guidance assumes the submitted build is the current Focus Seed V1:
- No analytics SDK.
- No billing SDK.
- No network permission.
-- Data stored locally with `shared_preferences`.
-- Export/import is user-controlled copy/paste JSON.
+- Data stored locally with Drift/SQLite plus small local preferences.
+- User can clear today's loop or delete local app records from settings.
## Suggested Data Safety Answers
diff --git a/launch/play-console/store-listing.md b/launch/play-console/store-listing.md
index c119bb7..1165ae2 100644
--- a/launch/play-console/store-listing.md
+++ b/launch/play-console/store-listing.md
@@ -10,9 +10,9 @@ Private focus timer, habit tracker, and one-minute daily reflection.
## Full Description
-Focus Seed helps you turn each day into a small, trackable win. Choose today’s anchor task, start a focused timer, mark habits as done, and write a short reflection when you finish.
+Focus Seed helps you turn each day into a small, trackable win. Choose today's anchor task, start a focused timer, mark habits as done, and write a short reflection when you finish.
-Everything works locally on your device. No account is required, and your focus sessions, habits, and reflections stay on your phone unless you choose to export them.
+Everything works locally on your device. No account is required, and your focus sessions, habits, reflections, and preferences stay on your phone.
Features:
@@ -22,7 +22,7 @@ Features:
- One-minute reflection log
- Mood tags
- Local 7-day progress view
-- JSON export and import
+- Default focus duration preference
- Clear local-data privacy controls
Focus Seed is designed for people who want a lightweight productivity tool without accounts, feeds, or complicated setup.
@@ -47,11 +47,11 @@ focus timer, habit tracker, reflection, productivity, offline, private, daily ro
## Release Notes
-First release:
+Current release:
- Focus timer
- Habit tracker
- Daily reflection
- Local progress stats
-- Local JSON export/import
+- Default focus duration setting
- In-app privacy controls
diff --git a/launch/privacy/privacy-policy.html b/launch/privacy/privacy-policy.html
index 9fdc47c..51a80dd 100644
--- a/launch/privacy/privacy-policy.html
+++ b/launch/privacy/privacy-policy.html
@@ -71,17 +71,15 @@
Habit names and completion dates
Focus session completion time and duration
Reflection notes and mood tags
+
App preferences such as appearance and default focus duration
Basic app state needed for the app to work
Data Sharing
Focus Seed V1 does not share your app data with the developer or third parties.
-
Export And Import
-
You can export your local data as JSON from the app settings. You control where that exported text is copied or stored. You can also paste a previous JSON export into the app to import it.
-
Data Deletion
-
You can clear local app data from Settings. You can also remove data by uninstalling the app or clearing app storage in Android settings.
+
You can clear today's loop or delete local app records from Settings. You can also remove data by uninstalling the app or clearing app storage in Android settings.
Ads, Analytics, And Purchases
Focus Seed V1 does not include advertising SDKs, analytics SDKs, or in-app purchase SDKs.