From 0cd09a5f511467aceb102ea7fd054d4997a4382f Mon Sep 17 00:00:00 2001 From: Trey t Date: Mon, 22 Dec 2025 14:07:42 -0600 Subject: [PATCH] wip --- .claude/settings.local.json | 9 +- .../xcshareddata/swiftpm/Package.resolved | 15 +- .../xcschemes/xcschememanagement.plist | 5 + Feels/Localizable.xcstrings | 31 +- .../LongestStreakTemplate.swift | 1 - docs/ASO-Guide.md | 153 ++++++++ docs/Competitive-Analysis.md | 338 ++++++++++++++++++ 7 files changed, 526 insertions(+), 26 deletions(-) create mode 100644 docs/ASO-Guide.md create mode 100644 docs/Competitive-Analysis.md diff --git a/.claude/settings.local.json b/.claude/settings.local.json index ccd4c73..f3c88c9 100644 --- a/.claude/settings.local.json +++ b/.claude/settings.local.json @@ -15,7 +15,14 @@ "Bash(swift -parse:*)", "Bash(swiftc:*)", "Bash(git add:*)", - "Bash(git commit:*)" + "Bash(git commit:*)", + "WebFetch(domain:apps.apple.com)", + "Bash(ls:*)", + "Bash(python3:*)", + "Bash( comm -23 /tmp/code_keys.txt /tmp/xcstrings_keys.txt)", + "Bash( comm -13 /tmp/code_keys.txt /tmp/xcstrings_keys.txt)", + "Bash(xargs cat:*)", + "Bash(xcrun simctl:*)" ] } } diff --git a/Feels.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/Feels.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved index 905d450..58a0a41 100644 --- a/Feels.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/Feels.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -1,5 +1,5 @@ { - "originHash" : "a94a6f7161636f5a828d77329021c6a57c3834b48e41169d840d1bab50287ba3", + "originHash" : "e45fbe19a7a507ebcf572c1b8f6c29186a9e9e533901421771ee77df0ed47fc9", "pins" : [ { "identity" : "chartspackage", @@ -10,19 +10,10 @@ "revision" : "4eb26e270cba2a2230d9c6b25c2ad629bc215e15" } }, - { - "identity" : "cloudkitsyncmonitor", - "kind" : "remoteSourceControl", - "location" : "https://github.com/ggruen/CloudKitSyncMonitor", - "state" : { - "revision" : "980208a30685713c4c4eb10897206a2e2574ed3f", - "version" : "1.1.1" - } - }, { "identity" : "swift-algorithms", "kind" : "remoteSourceControl", - "location" : "https://github.com/apple/swift-algorithms", + "location" : "https://github.com/apple/swift-algorithms.git", "state" : { "revision" : "2327673b0e9c7e90e6b1826376526ec3627210e4", "version" : "0.2.1" @@ -31,7 +22,7 @@ { "identity" : "swift-numerics", "kind" : "remoteSourceControl", - "location" : "https://github.com/apple/swift-numerics", + "location" : "https://github.com/apple/swift-numerics.git", "state" : { "revision" : "6583ac70c326c3ee080c1d42d9ca3361dca816cd", "version" : "0.1.0" diff --git a/Feels.xcodeproj/xcuserdata/treyt.xcuserdatad/xcschemes/xcschememanagement.plist b/Feels.xcodeproj/xcuserdata/treyt.xcuserdatad/xcschemes/xcschememanagement.plist index d7382b4..218c6d9 100644 --- a/Feels.xcodeproj/xcuserdata/treyt.xcuserdatad/xcschemes/xcschememanagement.plist +++ b/Feels.xcodeproj/xcuserdata/treyt.xcuserdatad/xcschemes/xcschememanagement.plist @@ -10,6 +10,11 @@ 1 Feels (macOS).xcscheme_^#shared#^_ + + orderHint + 3 + + Feels Watch App.xcscheme_^#shared#^_ orderHint 2 diff --git a/Feels/Localizable.xcstrings b/Feels/Localizable.xcstrings index 25b56b9..593d401 100644 --- a/Feels/Localizable.xcstrings +++ b/Feels/Localizable.xcstrings @@ -20,6 +20,10 @@ "comment" : "A placeholder text used to indicate that an entry is missing.", "isCommentAutoGenerated" : true }, + "ยท" : { + "comment" : "A period used to separate two related items.", + "isCommentAutoGenerated" : true + }, "\"%@\"" : { "comment" : "A pull-quote style text view displaying the user's mood as a quoted string. The text is italicized for emphasis.", "isCommentAutoGenerated" : true @@ -116,6 +120,10 @@ "comment" : "A title displaying the current streak of days a user has logged in. The argument is the current streak.", "isCommentAutoGenerated" : true }, + "%lld day streak" : { + "comment" : "A text label displaying the user's current streak of days with a positive mood. The argument is the number of consecutive days with a positive mood.", + "isCommentAutoGenerated" : true + }, "%lld days" : { "comment" : "A secondary label below the year, showing the total number of days in that year. The argument is the total number of days in the year.", "isCommentAutoGenerated" : true @@ -2514,6 +2522,13 @@ "Journal Note" : { "comment" : "The title of the view that appears in the navigation bar.", "isCommentAutoGenerated" : true + }, + "Last 5 Days" : { + "comment" : "A label displayed above the grid of days in the medium widget.", + "isCommentAutoGenerated" : true + }, + "Last 10 Days" : { + }, "Legal" : { "comment" : "A heading displayed in the Settings view that links to legal information.", @@ -2532,6 +2547,10 @@ }, "Log your mood daily to build a streak. Consistency helps you understand your patterns." : { + }, + "Logged!" : { + "comment" : "A message displayed when a mood is successfully logged.", + "isCommentAutoGenerated" : true }, "Make it yours" : { "comment" : "A title displayed in the onboarding view, encouraging users to personalize their interface.", @@ -6182,18 +6201,6 @@ "comment" : "A tip to sync their data with Apple Health.", "isCommentAutoGenerated" : true }, - "Syncing moods to Health... %lld/%lld" : { - "comment" : "A caption that describes the current sync status of moods with HealthKit. The first argument is the count of moods that have been successfully synced. The second argument is the total count of moods that need to be synced.", - "isCommentAutoGenerated" : true, - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "new", - "value" : "Syncing moods to Health... %1$lld/%2$lld" - } - } - } - }, "Take Photo" : { "comment" : "A button that takes a photo using the device's camera.", "isCommentAutoGenerated" : true diff --git a/Shared/Views/SharingTemplates/LongestStreakTemplate.swift b/Shared/Views/SharingTemplates/LongestStreakTemplate.swift index 6af6fb7..953942f 100644 --- a/Shared/Views/SharingTemplates/LongestStreakTemplate.swift +++ b/Shared/Views/SharingTemplates/LongestStreakTemplate.swift @@ -6,7 +6,6 @@ // import SwiftUI -import Algorithms struct LongestStreakTemplate: View, SharingTemplate { static var description: String { diff --git a/docs/ASO-Guide.md b/docs/ASO-Guide.md new file mode 100644 index 0000000..6c2692e --- /dev/null +++ b/docs/ASO-Guide.md @@ -0,0 +1,153 @@ +# App Store Optimization (ASO) Step-by-Step Guide + +Based on comprehensive research from ASO communities and industry experts. + +--- + +## Phase 1: Foundation & Audit + +### Step 1: Audit Current Performance +- Review your current keyword rankings, downloads, and conversion rates +- Analyze your app's rating (target 4.0+ stars) +- Check your review response rate (should be 100%) +- Screenshot your current store listing for baseline comparison + +### Step 2: Competitive Research +- Identify 5-10 direct competitors in your category +- Analyze their keywords, titles, subtitles, and descriptions +- Document their visual strategies (icons, screenshots) +- Note their ratings and review volume + +--- + +## Phase 2: Keyword Optimization + +### Step 3: Keyword Research +- Use ASO tools (AppTweak, Sensor Tower, or MobileAction) +- Find keywords with high search volume + low-to-medium competition +- Create separate keyword lists for iOS and Android (algorithms differ) +- Validate with Apple Search Ads data if available + +### Step 4: Strategic Keyword Placement +- **App Title**: Include primary keyword (most weight) +- **Subtitle**: Secondary keywords, naturally written +- **Keyword Field (iOS)**: Use all 100 characters efficiently +- **Description**: Keywords in first 3 lines (Google Play indexes this) +- Don't repeat keywords across fields - algorithms create combinations + +### Step 5: Localization +- Research keywords per target market (don't just translate) +- Use cross-localization to expand visibility +- Prioritize markets with high potential and low competition + +--- + +## Phase 3: Visual Optimization + +### Step 6: App Icon +- Keep it simple and recognizable at small sizes +- Use bright, distinctive colors (70% of top apps do) +- Stand out from competitors without copying +- Test multiple variations + +### Step 7: Screenshots (Critical) +- Focus on first 3 screenshots - most users don't scroll further +- Structure: Value โ†’ Usage โ†’ Trust + - **1-2**: Value promise (what user gets) + - **2-3**: Key feature demo (how it works) + - **3+**: Social proof (ratings, awards, press) +- One clear message per screenshot +- Use device mockups and high-contrast captions +- Platform-specific optimization (don't copy 1:1 between iOS/Android) + +### Step 8: App Preview Video (Optional) +- First 3 seconds must hook the user +- Show actual app functionality, not marketing fluff +- Keep under 30 seconds + +--- + +## Phase 4: Rating & Review Strategy + +### Step 9: Optimize Review Requests +- Use native iOS in-app review widget +- Request reviews at moments of user delight (after achievement, successful task) +- Never interrupt critical user flows +- Limit request frequency + +### Step 10: Review Management +- Respond to **every review** within 24-48 hours +- Address negative reviews with specific solutions (not generic apologies) +- Thank positive reviewers personally +- Consider iOS rating reset with major version updates if needed + +--- + +## Phase 5: Continuous Optimization + +### Step 11: A/B Testing +- Use Product Page Optimization (iOS) and Store Listing Experiments (Android) +- Test one element at a time for clean data +- Run tests for 7+ days for statistical significance +- Successful tests typically boost conversion 10-25% + +### Step 12: Monitoring & Iteration +- Update keywords every 2-3 weeks based on performance +- Track ranking changes for target keywords +- Monitor competitor movements +- Refresh screenshots seasonally or with major updates + +--- + +## Quick Wins Checklist + +- [ ] Keywords in app title and subtitle +- [ ] 4.0+ star rating +- [ ] Responding to all reviews +- [ ] First 3 screenshots optimized for conversion +- [ ] Using ASO tools for keyword tracking +- [ ] Platform-specific optimization (not identical iOS/Android) + +--- + +## Tools to Consider + +| Budget | Tool | Best For | +|--------|------|----------| +| Free Start | App Radar | Beginners | +| $99+/mo | AppTweak | Comprehensive ASO | +| Enterprise | Sensor Tower | Market intelligence | +| Mid-range | AppFollow | Review management | + +--- + +## Expected Results (Based on Case Studies) + +- **Keyword optimization alone**: 45-300% download increase +- **Visual optimization**: 20-35% conversion boost +- **Rating improvement (3โ†’4 stars)**: 92% conversion increase +- **Full ASO strategy**: 100-700% organic growth potential + +--- + +## Key Insight + +ASO is not a one-time task. The most successful apps treat it as an ongoing process with updates every 2-3 weeks based on data. + +--- + +## Sources + +- AppTweak - Top ASO tips and best practices for 2025 +- Udonis - App Store Optimization Complete 2025 Guide +- ASO Mobile - ASO in 2025 Complete Guide +- Dogtown Media - ASO 2.0 Advanced Strategies for 2025 +- AppTweak - App Store Keyword Research Guide +- AppsFlyer - ASO Keyword Research Optimization +- Adjust - App Store Optimization Definitive Guide +- Rotato - App Store Screenshot Best Practices +- yellowHEAD - Creatives for ASO Complete App Graphics Guide +- Storemaven - User Reviews and Ratings Impact on ASO +- AppFollow - Why Ratings and Reviews Are Crucial to ASO Strategy +- Sensor Tower - ASO Case Study 700% Increase +- ASO World - News App 140% Download Growth Case Study diff --git a/docs/Competitive-Analysis.md b/docs/Competitive-Analysis.md new file mode 100644 index 0000000..73d4620 --- /dev/null +++ b/docs/Competitive-Analysis.md @@ -0,0 +1,338 @@ +# Competitive Analysis: Mood Tracking Apps + +*Research Date: December 2025* + +--- + +## Executive Summary + +Analysis of 8 direct competitors in the iOS mood tracking/journaling category. Key findings: +- **Top performer**: Daylio (57K+ ratings, 4.8 stars) +- **Highest rated**: How We Feel (4.9 stars, 26K ratings, FREE) +- **Most expensive**: Reflectly ($59.99/year) +- **Budget option**: iMoodJournal ($2.99 one-time) + +--- + +## Competitor Deep Dive + +### 1. Daylio Journal + +| Attribute | Details | +|-----------|---------| +| **Full Title** | Daylio Journal - Daily Diary | +| **Subtitle** | Mood Tracker, Health, Habits | +| **Category** | Lifestyle | +| **Rating** | 4.8 stars (57,000+ ratings) | +| **Price** | Free + Premium ~$20/year | + +**Keywords Used**: Journal, Daily, Diary, Mood Tracker, Health, Habits + +**Description Highlights**: +- "Private journal without having to type a single line" +- Self-care bullet journal +- Icon-based entry logging + +**Key Features**: +- Year in Pixels visualization +- Customizable mood/activity icons +- Statistics (weekly, monthly, yearly charts) +- iCloud & Google Drive backup +- Voice memo recording +- PDF/CSV export +- PIN lock security +- Dark mode + +**Visual Strategy**: Clean, colorful icons. Emphasizes data visualization and "Year in Pixels" in screenshots. + +--- + +### 2. Moodnotes + +| Attribute | Details | +|-----------|---------| +| **Full Title** | Moodnotes - Mood Tracker | +| **Subtitle** | Daily Self Care Journal & CBT | +| **Category** | Health & Fitness | +| **Rating** | 4.7 stars (10,938 ratings) | +| **Price** | Free + $29.99-89.99/year | + +**Keywords Used**: Mood Tracker, Daily, Self Care, Journal, CBT + +**Description Highlights**: +- "Created by design experts and clinical psychologists" +- Grounded in CBT and positive psychology +- Avoid "thinking traps" + +**Key Features**: +- Facial recognition mood detection +- Photo attachments +- Self-awareness articles by professionals +- Cognitive thinking error identification +- Apple Watch integration +- iCloud sync + +**Visual Strategy**: Professional, clinical aesthetic. Emphasizes psychology credibility and thinking trap education. + +--- + +### 3. Reflectly + +| Attribute | Details | +|-----------|---------| +| **Full Title** | Reflectly - Journal & AI Diary | +| **Subtitle** | Mood Tracker & Daily Quotes | +| **Category** | Health & Fitness | +| **Rating** | 4.6 stars (82,000+ ratings) | +| **Price** | Free + $9.99/mo or $59.99/year | + +**Keywords Used**: Journal, AI, Diary, Mood Tracker, Daily Quotes + +**Description Highlights**: +- AI-powered journaling +- Positive psychology + mindfulness + CBT +- Personalized prompts + +**Key Features**: +- Daily personalized prompts +- AI-driven insights +- Motivational quotes +- Mood correlations/graphical analysis +- Habit tracker +- Lock Screen widget (iOS 16+) +- Photo entries + +**Visual Strategy**: Modern, gradient-heavy design. AI emphasis. Uses daily quotes as hook. + +--- + +### 4. How We Feel + +| Attribute | Details | +|-----------|---------| +| **Full Title** | How We Feel | +| **Subtitle** | An emotional wellbeing journal | +| **Category** | Health & Fitness | +| **Rating** | 4.9 stars (25,856 ratings) | +| **Price** | FREE (nonprofit) | + +**Keywords Used**: Emotional, Wellbeing, Journal + +**Description Highlights**: +- Created with Yale University's Center for Emotional Intelligence +- Based on Dr. Marc Brackett's research +- Emotion regulation strategies + +**Key Features**: +- Color-coded emotion matrix +- Video-based coping strategies (1-min sessions) +- Friend sharing (real-time emotional updates) +- AI weekly review +- HealthKit integration (sleep, exercise, water, caffeine, alcohol) +- Custom emotion words +- Physical sensation tagging +- PDF export + +**Visual Strategy**: Minimalist, academic credibility. Emotion color wheel is central. Free model differentiates. + +--- + +### 5. iMoodJournal + +| Attribute | Details | +|-----------|---------| +| **Full Title** | iMoodJournal - Mood Diary | +| **Subtitle** | Mood Journal and Tracking Tool | +| **Category** | Lifestyle | +| **Rating** | 4.4 stars (173 ratings) | +| **Price** | $2.99 one-time | + +**Keywords Used**: Mood, Diary, Journal, Tracking Tool + +**Description Highlights**: +- Featured on NY Times, NY Daily News +- Made "Best Bipolar Disorder Apps of the Year" by Healthline +- No monthly fees + +**Key Features**: +- Customizable mood scale with colors +- Hashtag-based trigger tracking +- Sleep, medication, stress tracking +- Animated mood history +- Apple Watch support +- PDF/CSV export +- Passcode protection +- Photo attachments + +**Visual Strategy**: Utilitarian, functional design. Press mentions prominent. Appeals to medical/clinical users. + +--- + +### 6. Moodly + +| Attribute | Details | +|-----------|---------| +| **Full Title** | Moodly: Mood Tracker & Journal | +| **Subtitle** | Simple Diary with Stats & Logs | +| **Category** | Lifestyle | +| **Rating** | 4.8 stars (30 ratings) | +| **Price** | Free + $3.99 Premium (one-time) | + +**Keywords Used**: Mood Tracker, Journal, Simple, Diary, Stats, Logs + +**Description Highlights**: +- No typing required +- For teenagers to busy professionals +- Mental health management + +**Key Features**: +- Mood/activity tracking without typing +- Graphs and insights +- Customizable reminders +- Face ID/Touch ID/passcode +- iCloud backup +- Calendar browsing +- Export functionality + +**Visual Strategy**: Simple, approachable. Emphasizes ease of use and "no typing." + +--- + +### 7. Mood Tracker Journal + +| Attribute | Details | +|-----------|---------| +| **Full Title** | Mood Tracker Journal | +| **Subtitle** | Reflect, Notes, Daily, Bearable | +| **Category** | Health & Fitness | +| **Rating** | 4.4 stars (23 ratings) | +| **Price** | Free + $9.99/mo or $149.99 lifetime | + +**Keywords Used**: Mood Tracker, Journal, Reflect, Notes, Daily, Bearable + +**Description Highlights**: +- 14 specialized trackers +- Clinically-validated questionnaires +- Pre-made care plans for mental health conditions + +**Key Features**: +- Medical questionnaires (PHQ-9, GAD-7, MDQ, Y-BOCS, PCL-5, BSL-23) +- Diary, medication, symptoms, sleep, activity tracking +- Goal setting +- Journaling prompts +- Daily affirmations +- Apple HealthKit integration +- 7-day free trial + +**Visual Strategy**: Clinical, comprehensive. Targets users with diagnosed conditions (Bipolar, Depression, Anxiety, OCD, PTSD, BPD). + +--- + +## Keyword Analysis + +### Most Common Keywords +| Keyword | Frequency | +|---------|-----------| +| Mood | 8/8 | +| Tracker | 7/8 | +| Journal | 7/8 | +| Daily | 5/8 | +| Diary | 4/8 | +| Health | 3/8 | +| Self Care | 2/8 | +| Habits | 2/8 | +| CBT | 2/8 | + +### Untapped Keywords (Opportunities) +- Feelings +- Emotions +- Wellbeing +- Mental Health +- Mindfulness +- Gratitude +- Happiness +- Check-in + +--- + +## Visual Strategy Patterns + +### Icon Design +- **Dominant colors**: Purple, blue, teal gradients +- **Common motifs**: Smiley faces, hearts, brain icons +- **Style**: Mostly flat/minimal with subtle gradients + +### Screenshot Strategies +1. **Feature showcase** (most common) - one feature per screenshot +2. **Year in Pixels/Calendar views** - popular data visualization +3. **Stats/charts** - showing insights and patterns +4. **Device mockups** - iPhone frames with app UI + +### Differentiation Approaches +- **Daylio**: Year in Pixels, no-typing emphasis +- **Moodnotes**: Clinical psychology credibility +- **Reflectly**: AI-powered, modern gradients +- **How We Feel**: Yale partnership, free model +- **iMoodJournal**: Press mentions, one-time price + +--- + +## Pricing Comparison + +| App | Free Tier | Subscription | One-Time | +|-----|-----------|--------------|----------| +| Daylio | Yes | ~$20/year | - | +| Moodnotes | Yes | $29.99-89.99/year | - | +| Reflectly | Yes | $59.99/year | - | +| How We Feel | Full app | - | FREE | +| iMoodJournal | - | - | $2.99 | +| Moodly | Yes | - | $3.99 | +| Mood Tracker Journal | Yes | $9.99/mo | $149.99 | + +**Insight**: Market spans from free (How We Feel) to premium ($59.99/year). One-time purchase options are rare and appealing to price-conscious users. + +--- + +## Ratings & Reviews Summary + +| App | Rating | Review Count | Reviews/Rating Ratio | +|-----|--------|--------------|---------------------| +| Reflectly | 4.6 | 82,000+ | Highest volume | +| Daylio | 4.8 | 57,000+ | Best balance | +| How We Feel | 4.9 | 25,856 | Highest rating | +| Moodnotes | 4.7 | 10,938 | Solid performer | +| iMoodJournal | 4.4 | 173 | Niche/established | +| Moodly | 4.8 | 30 | New/growing | +| Mood Tracker Journal | 4.4 | 23 | New entrant | + +--- + +## Competitive Gaps & Opportunities for Feels + +### Underserved Areas +1. **Simplicity** - Most apps are feature-heavy; simple "vote your mood" is rare +2. **Widget-first** - Few emphasize home screen widgets as primary interface +3. **Personality/Customization** - Icon packs, themes, visual customization +4. **HealthKit State of Mind** - Apple's new emotion API (iOS 17+) +5. **Live Activities** - Streak tracking on lock screen + +### Positioning Recommendations +- Emphasize **speed** ("Log your mood in seconds") +- Highlight **widget experience** as primary differentiator +- Leverage **customization** (themes, icon packs, personality packs) +- Consider **one-time purchase** option (rare in market) +- Use **HealthKit integration** as credibility builder + +--- + +## Sources + +- [Daylio - App Store](https://apps.apple.com/us/app/daylio-journal-daily-diary/id1194023242) +- [Moodnotes - App Store](https://apps.apple.com/us/app/moodnotes-mood-tracker/id1019230398) +- [Reflectly - App Store](https://apps.apple.com/us/app/reflectly-journal-ai-diary/id1241229134) +- [How We Feel - App Store](https://apps.apple.com/us/app/how-we-feel/id1562706384) +- [iMoodJournal - App Store](https://apps.apple.com/us/app/imoodjournal-mood-diary/id517952128) +- [Moodly - App Store](https://apps.apple.com/us/app/moodly-mood-tracker-journal/id1189872998) +- [Mood Tracker Journal - App Store](https://apps.apple.com/us/app/mood-tracker-journal/id6446790238) +- [VantageFit - Best Mood Tracker Apps 2025](https://www.vantagefit.io/en/blog/best-mood-tracker-apps/) +- [Mood-Tracker.net](https://mood-tracker.net/)