Skip to content

Phase 6: Growth & Virality -- PRD

Product: Objectuve (codename: Enkidu) Phase: 6 (Growth & Virality) Status: Discovery / Design Date: April 2026


1. Problem Statement

To hit the 1-year North Star targets (5K-15K registered users, 1.5K-4K MAU), Objectuve must transition from relying on direct-sold, unscalable acquisition to organic virality.

Currently, the app lacks "growth loops." When a user does something amazing (hits a 100-day streak), there is no low-friction way to show it off outside the Objectuve ecosystem. Additionally, new users need clear social proof that Objectuve is worth trying, and public user profiles aren't optimized to convince non-users that the product delivers value.

Phase 6 is entirely about organic acquisition. Every feature in this phase answers the question: "How does this feature bring a new user to Objectuve?"


2. Priority Features Scope

  1. Celebration Sharing Cards (External Virality)
  2. Public User Profile Overhaul (Social Proof)
  3. Community Discovery Improvements (Internal Network Effects)
  4. Seasonal Events & Challenges (Cultural Relevance & Reactivation)

Phase 6 Success Metrics

MetricTarget (90 days post-launch)
Registration volume (organic)+50% month-over-month
Unattributed signups (from shared links)15% of all new signups
Public profile visits by non-users2x increase
Community join rate in onboarding60%+

3. Feature 1: Celebration Sharing Cards

3a. Concept & Value

When users hit major milestones—like a 30-day streak, a Legendary Badge, or reaching a new Level—they want to celebrate. By generating visually stunning, branded share cards (similar to Spotify Wrapped or Duolingo progress shares), users can easily post to Instagram Stories or Twitter, serving as high-trust, high-signal organic marketing.

3b. User Stories

  • US-1: As a user who just unlocked the "100 Day" badge, I want a beautiful card to post to my Instagram Story.
  • US-2: As the product team, I want every share card to include a branded footer and, where possible, a QR code or deep link to funnel viewers to sign up.

3c. UX Flow

  1. Trigger: The moment a high-value badge or milestone is achieved, the celebration modal appears.
  2. The Output: A new primary button: "Share to Stories".
  3. Card Generation: A server-side or Canvas-based function renders a 9:16 aspect ratio image featuring the Badge artwork, the user's name, the achievement text, and the Objectuve logo/CTA at the bottom.
  4. Deep Linking: Utilizing Capacitor's Share plugin, the image is passed directly into native social apps.

3d. Engineering Notes

  • Implementation: Evaluate html2canvas for frontend rendering, or use a headless browser service (like Puppeteer in a microservice) to generate exact SVGs/PNGs to avoid native font discrepancies.
  • Tracking: Embed UTM parameters in any text links generated alongside the image payload to attribute signups to the sharing feature.

4. Feature 2: Public User Profile Overhaul

4a. Concept & Value

When a shared card links back to Objectuve, or when someone Googles a user's username, the Public Profile is the landing page. Currently, profiles are functional but not optimized for conversion. The overhaul transforms the profile into a "Proof of Progress" portfolio, highlighting streaks and badges in an inspiring way to sell the product to non-users.

4b. User Stories

  • US-1: As a non-user landing on a profile, I want to clearly understand what Objectuve is based on seeing this person's goals and achievements.
  • US-2: As a user, I want my public profile to look premium and highlight my hardest-earned badges.

4c. UX Flow

  1. Structure: The profile uses a "bento box" design. The top widget is the User's Level and Rank. Below it are their top 3 pinned badges, active streaks, and a 30-day consistency heatmap.
  2. For Non-Users: If the viewer is unauthenticated, a subtle, sticky bottom bar reads: "Start building your own streaks with Objectuve. [Sign Up Free]."

4d. Engineering Notes

  • SEO/OpenGraph: Public profiles need SSR (Server Side Rendering) or pre-rendered OG tags to look good unfurled in Slack/iMessage. The marketing site or dynamic proxy might need to handle this to ensure Facebook/Twitter crawlers read the tags properly.
  • Privacy Controls: Must rigorously respect the Phase 4 privacy switches ("Go it alone" and Private mode).

5. Feature 3: Community Discovery Improvements

5a. Concept & Value

Users who join communities retain higher than solo users. However, "Discovery" right now is a flat, uncurated list. We need to leverage network effects by suggesting communities based on shared goals, ally overlap, and community health scores to ensure users land in active, relevant spaces.

5b. User Stories

  • US-1: As a user who tracks "Weightlifting," I want the app to suggest active fitness communities automatically.
  • US-2: As a new user, I don't want to see "dead" communities with no posts in 6 months at the top of the discovery list.

5c. UX Flow

  1. The Discovery Tab: Reordered by a "Health Score". First carousel: "Suggested for You" (based on goal category overlap). Second carousel: "Where your Allies are."
  2. Preview: Tapping a community shows a preview of recent activity (anonymized if private) to prove the community is alive before joining.

5d. Engineering Notes

  • Algorithm: Create a CommunityScoreService that calculates a nightly health metric: (active_posters_past_7_days * 2) + post_count_past_7_days - (days_since_last_post * 5). Order discovery results by this score.
  • Backend Changes: recommended_communities GraphQL query needs to accept the current_user to perform ally-overlap and goal-overlap joins.

6. Feature 4: Seasonal Events & Challenges

6a. Concept & Value

App engagement naturally dips in certain months. Time-boxed, platform-wide seasonal events (e.g., "The January Reset" or "The Summer Sprint") create artificial urgency and excitement. These events drive lapsed users to return and give active users a highly shareable reason to recruit friends.

6b. User Stories

  • US-1: As a user, I want to join the "New Year Resolution" platform event to earn an exclusive, limited-time badge alongside thousands of other users.
  • US-2: As a lapsed user, an email about a 14-day Summer Challenge gives me the perfect excuse to reinstall the app.

6c. UX Flow

  1. Announcement: A rich banner appears on the Dashboard 3 days before the event linking to an opt-in page.
  2. The Event: A platform-wide progress bar replaces the usual community challenge bar. It tracks collective milestones (e.g., "Objectuve users have logged 50,000 habits this week!").
  3. The Reward: Completion grants an Epic or Legendary badge that can never be earned again.

6d. Engineering Notes

  • Scale: Platform-wide aggregation is computationally expensive. Use Redis to increment a global counter (INCR event_january_2027_total) on every CreateGoalEvent rather than running a COUNT() on the SQL database.
  • Architecture: Extends the Phase 4 Community Challenges architecture, specifically bypassing the community_id requirement to make it global.

7. Delivery Strategy

Sprint 1: Celebration Sharing Cards (Rendering pipeline and Share intent integration). Sprint 2: Public User Profile Overhaul (Bento box UI and OG Meta Tags). Sprint 3: Community Discovery algorithm and UI updates. Sprint 4: Global Seasonal Events architecture (Redis counters, global challenges). Sprint 5: Polish, End-to-End QA, Analytics validation.

Last updated: 2026-05-04

Loading…