Skip to content

decision: Determine analytics strategy (Firebase vs Vercel vs both) #136

@claude

Description

@claude

Summary

A product decision is needed for the analytics strategy. There is a @todo annotation in lib/analytics/platform.web.ts:9 that blocks proper analytics implementation.

Current State

/**
 * @todo PRODUCT DECISION REQUIRED: Determine analytics strategy:
 *   - Option 1: Use Firebase Analytics only (current default)
 *   - Option 2: Use Vercel Analytics only (for Vercel-hosted deployments)
 *   - Option 3: Use both Firebase and Vercel (requires deduplication logic)
 *   Configure via EXPO_PUBLIC_ANALYTICS_PROVIDER: 'firebase' | 'vercel' | 'both' | 'none'
 */

Options

Option Pros Cons
Firebase Only (current) - Already implemented
- Works across all platforms
- Free tier generous
- Requires Firebase project setup
- May not be ideal for web-only metrics
Vercel Only - Zero-config for Vercel deployments
- Great web vitals
- Web-only
- No native support
- Paid feature
Both - Best of both worlds
- Platform-specific insights
- Requires deduplication
- More complex
- Higher cost
None - Simplest - No analytics data

Decision Criteria

  1. What platforms matter most? (web, iOS, Android)
  2. What metrics are most important? (user events, performance, crashes)
  3. Budget considerations
  4. Where is the web app deployed? (Vercel, other)

Action Required

Product owner should decide which analytics strategy to pursue and update:

  1. lib/analytics/platform.web.ts - Remove TODO and implement chosen strategy
  2. .env.example - Document the EXPO_PUBLIC_ANALYTICS_PROVIDER option if needed
  3. README.md - Update analytics documentation

Files Affected

  • lib/analytics/platform.web.ts
  • .env.example (potentially)

Related to: #133 (Daily Codebase Review - 2025-12-11)

🤖 Generated with Claude Code

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentation

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions