Career Stats

Overview

The Career Stats page displays comprehensive putting performance analytics, achievement tracking, and competitive history for any player profile.

Core Features

Player Profile Section

Profile Display:

  • Avatar/profile picture (or placeholder initial)

  • Player name

  • Bio (if configured)

  • Social links:

    • Twitter

    • Instagram

    • YouTube

    • Website

Handicap System:

  • Established Handicap:

    • MPM (Makes Per Minute) handicap value

    • Displayed with 2 decimal precision

    • Recalculate button (own profile only)

  • Pending Handicap:

    • Progress tracker: X / 21 sessions

    • Requirements: 21+ sessions, 5+ minutes each

    • Practice or timed sessions only

    • Clear qualification messaging

Performance Overview Table

Core Metrics (All-Time Best vs All-Time Total):

  • Makes

  • Best Streak

  • Fastest 21 (seconds)

  • Most in 60s (makes in 60-second period)

  • Putts Per Minute

  • Makes Per Minute

  • Session Duration (minutes)

Consecutive Makes Table

Categories Tracked:

  • 3 consecutive

  • 7 consecutive

  • 10 consecutive

  • 15 consecutive

  • 21 consecutive

  • 42 consecutive

  • 69 consecutive

  • 77+ consecutive

Display: Best streak and total count for each category

Makes by Category

Overview Categories:

  • Total makes

  • Makes by distance ranges

  • Makes by angle ranges

  • Categorized groupings

Detailed Categories:

  • Precise distance breakdowns

  • Specific angle measurements

  • Comprehensive shot classification

Sorting: Automatically sorted by total count (highest first)

Misses by Category

Overview Categories:

  • Total misses

  • Miss types (short, long, left, right)

  • Distance-based miss analysis

Detailed Categories:

  • Precision miss tracking

  • Angle-specific misses

  • Performance improvement insights

Competitive History

Duels Section:

  • Opponent name (linked to player comparison)

  • Status badge (Won/Lost/Draw/Active)

  • Player's score

  • Opponent's score

  • Duel link for details

Leagues Section:

  • League name (linked to league detail)

  • Status with round number (if active)

  • Player rank

  • Player score

  • League link for details

Achievement Certificates

Full-width section displaying:

  • Consecutive make achievements

  • 3, 7, 10, 15, 21+ makes certificates

  • Open Timestamps blockchain verification

  • Downloadable certificate images

  • Timestamp proof links

Subscription Tiers

Free User Experience

  • Profile visible

  • Overview stats visible but blurred

  • "Unlock Your Full Career Stats" prompts

  • Upgrade call-to-action buttons

  • Stats are tracked but not fully displayed

Subscriber Experience

  • All stats fully visible and interactive

  • Complete competitive history

  • Achievement certificates access

  • Handicap calculation and recalculation

  • Full performance analytics

Key Insights

Data Structure

API Integration

  • apiGetCareerStats: Fetch comprehensive stats

  • apiListDuels: Get player's duel history

  • apiListLeagues: Get player's league participation

  • /api/calculate-handicap: Fetch or recalculate handicap

Promise.allSettled Pattern

  • Parallel data fetching

  • Graceful handling of partial failures

  • 404 treated as "no data" rather than error

  • Defensive defaults for missing data

Handicap Calculation

  • Based on Makes Per Minute (MPM)

  • Requires 21+ qualifying sessions

  • Only practice/timed sessions count

  • Force recalculation available

  • Recalculation with POST request

Privacy Considerations

  • Own profile: Full access and edit capabilities

  • Other profiles: Public view only

  • Subscription-gated detailed views

  • Blurred stats for upsell

Responsive Grid Layout

  • Stats tables in 2x2 grid on desktop

  • Single column stack on mobile

  • Competitive history in two columns

  • Achievement certificates full-width


Last updated