Goal
Add Firebase/Google Analytics only when MindSwipe is ready to measure real usage or introduce cloud-backed product features, while preserving the current privacy-first local prototype until then.
Current state
- React/Vite PWA + Capacitor Android wrapper.
- No analytics SDK, advertising SDK, account system or remote user database.
- Progress, saved cards, streaks and reminders stay on-device.
Why Firebase fits here
MindSwipe is an actual app, so Firebase can become useful for product analytics and later app infrastructure. It should be added deliberately, not merely because it exists.
External prerequisites
Phase 1 — analytics only
Initial event taxonomy
Measure product value rather than every tap:
Do not send raw mood selections, free-form personal text, financial details or learning-content text as analytics parameters unless there is a separately justified and reviewed reason.
Phase 2 — reliability tooling
Evaluate after a real Android release path exists:
Phase 3 — cloud product features
Do not add these until the roadmap requires them:
Local-first behavior is currently a feature, not a defect.
Reporting
Validation
Definition of done
Firebase is attached only to the platforms/features that need it, the app emits a small intentional event set, analytics is verifiably useful for product decisions, and MindSwipe does not become a cloud architecture project before there is a product reason.
Goal
Add Firebase/Google Analytics only when MindSwipe is ready to measure real usage or introduce cloud-backed product features, while preserving the current privacy-first local prototype until then.
Current state
Why Firebase fits here
MindSwipe is an actual app, so Firebase can become useful for product analytics and later app infrastructure. It should be added deliberately, not merely because it exists.
External prerequisites
Phase 1 — analytics only
Initial event taxonomy
Measure product value rather than every tap:
learning_session_startedlearning_session_completedcard_savedmission_completedreminder_enabledinstall_prompt_acceptedreturn_sessionor an equivalent retention event if neededDo not send raw mood selections, free-form personal text, financial details or learning-content text as analytics parameters unless there is a separately justified and reviewed reason.
Phase 2 — reliability tooling
Evaluate after a real Android release path exists:
Phase 3 — cloud product features
Do not add these until the roadmap requires them:
Local-first behavior is currently a feature, not a defect.
Reporting
Validation
npm run checkand Android sync/build checks after integration.Definition of done
Firebase is attached only to the platforms/features that need it, the app emits a small intentional event set, analytics is verifiably useful for product decisions, and MindSwipe does not become a cloud architecture project before there is a product reason.