User Guide
Updated September 2026

Compeetee — Competition Operating System

Compeetee is the easiest operating system for running sports competitions. It connects one continuous lifecycle: create, register, schedule, play, score, publish, and share. Club administration, coaching, media, communication, seasons, and analytics support that lifecycle across 47 selectable sports, including a flexible Generic option for additional disciplines.

🏆

Events & Competitions

Create, manage, and run tournaments with live scoring and draw sheets.

🎯

Coaching Hub

Practice groups, training plans, exercise library, and attendance tracking.

📊

Individual Analytics

Sport-specific results, trends, comparisons, and performance context.

🏟️

Clubs

Multi-coach clubs with member management, reservations, and messaging.

📱

Mobile App

Full-featured Expo (React Native) companion app for iOS and Android.

🤖

Virtual Coach

A working conversational prototype grounded in recent results and training context.

All 47 Supported Sports

CategorySports
Racket sports (6)Tennis, Padel, Pickleball, Badminton, Squash, Table Tennis
Team and match sports (14)Soccer (Football), Futsal, Basketball, Volleyball, Handball, Cricket, American Football, Baseball, Softball, Rugby, Field Hockey, Ice Hockey, Curling, Esports
Combat sports (7)Boxing, MMA, Wrestling, Judo, Karate, Taekwondo, Fencing
Timed and endurance sports (6)Running (Athletics), Triathlon, Cycling, Swimming, Rowing, Speed Skating
Judged, strength, and precision sports (7)Golf, Darts, Archery, Gymnastics, Weightlifting, Powerlifting, Skateboarding
Winter and water sports (6)Skiing, Snowboarding, Figure Skating, Surfing, Windsurfing, Sailing
Flexible scoring (1)Generic
All 47 sports are ready to use “Implemented” means the sport can be selected in real events and results. Scoring depth varies by sport: dedicated editors capture sets, periods, innings, rounds, attempts, splits, or judged scores, while Generic covers points, time, distance, or another custom value.

Public homepage

The public homepage leads with the competition promise and shows real showcase competitions before sign-in. The Showcase tournament brief rotates through real public event URLs and uses their genuine teaser artwork; sport icons appear only when an event has no usable teaser. Rounded organizer, club, event, and participant totals remain readable at a glance.

Below the Customer Story, the Ready to simplify your next club event? section contains the club-event ROI estimator. Club event managers can enter their expected event workload and use the estimate as planning guidance before choosing a plan or booking a demonstration.

Browse public events at /events without signing in. Use search and page links to find competitions, then open an event to follow its schedule and published results.

Recent updates — September 2026

🏆

Stronger public competitions

Event pages now distinguish uploaded media, social links, and documents; support public/private document access; and open related public club and season pages directly.

🖼️

Custom hero headers

Clubs, events, seasons, and athlete profiles share one focal-point control so important artwork stays visible inside short responsive hero crops.

📣

Communication with context

Announcements identify their author, support comments, and can be removed by the author. Deleted direct messages remain recoverable for seven days.

🎯

Manager coaching perspective

Practice groups use consistent color-coded cards, while the compact coaching schedule supports list and calendar views plus PDF exports.

📷

Faster genuine media

Media views use cached lightweight previews, exclude generic placeholder artwork, and request a higher-resolution rendition only when an image is enlarged.

🔐

Safer account controls

Password changes have explicit recovery behavior, sign-ups and sign-ins have an administrator audit trail, and account deletion performs irreversible anonymization after confirmation.

📰

Blog and club news

Administrators publish rich platform articles, while club managers and permitted staff publish club news. Members are notified by default and can opt out per club.

🤝

Fellow Athletes

Build an approved list of registered athletes by ID, QR code, or invitation link, then select them quickly during result entry and open their published profiles.

📄

Generated reports

Coaches can request practice-group athlete and schedule PDFs. Finished reports create a notification and remain highlighted until downloaded or reviewed.

🧩

Continuous personal-plan builder

Athletes can configure and add several exercises in one visit to Build personal plan, review what has already been added, and select Done only when the plan is ready.

📱

Central mobile configuration

Global mobile landing-page availability now has a dedicated administrator page instead of occupying space on the Admin Dashboard.

🔌

Licensed external scoring

Organizers can buy a per-user API Licence through Stripe, prepare public events for external scoring, and choose manual review or trusted automatic approval.

🧑‍⚖️

Result officials

Match results can retain one or more referee names so the official record remains complete on web, mobile, and offline scoring flows.

Sport Capability Matrix

The matrix below is compiled from the same built-in sport definitions used by event setup. Implementation progress is not a speculative percentage: Implemented means the sport is selectable and its listed scoring path is usable today. The depth label describes how specialized the result model and analytics currently are.

SportSupported schemesFormatSupported scoringSupported statisticsImplementation progress
Soccer (Football)Ranking; Groups (1/2 rounds); Round robin; Elimination; Double elimination; CompletionIndividual + TeamGoals, half-time score, penalties, and live goal/card/substitution timelineGoals, cards, lineups, player ratings, score patterns, and home/away splitsImplemented
Advanced depth
FutsalRanking; Groups (1/2 rounds); Round robin; Elimination; Double eliminationIndividual + TeamGoals and live goal/card/substitution timelineGoals, cards, substitutions, squads, and match resultsImplemented
Core depth
CricketRanking; Groups (1/2 rounds); Round robin; Elimination; Double elimination; CompletionTeamRuns by innings, wickets, overs, extras, fours, and sixesRun rate, boundaries, wickets, innings state, toss, declaration, and all-out stateImplemented
Advanced depth
Table TennisRanking; Round robin; Elimination; Double elimination; SwissIndividual + TeamSet-by-set point scoring and match winnerGames won/lost, game-score breakdown, and match recordImplemented
Standard depth
GenericRanking; Round robin; Elimination; Double elimination; CompletionIndividual + TeamScore, time, distance, or custom valuePrimary result, position, winner, and generic standings totalsImplemented
Basic depth
TennisRanking; Round robin; Elimination; Double eliminationIndividual + TeamSets, games, tiebreaks, and match winnerSet/game record, serve and return markers, and personal match analyticsImplemented
Advanced depth
GolfRanking; Round robin; Elimination; Double elimination; Match play; ScrambleIndividual + TeamHole-by-hole scorecard, handicap, stroke play, match play, and scrambleGross/net score, par relation, putts, fairways, greens, penalties, and handicap analyticsImplemented
Advanced depth
TriathlonRanking; CompletionIndividual + TeamTotal time with swim, bike, run, and transition splitsDiscipline splits, transitions, pace/speed, position, and completion statusImplemented
Advanced depth
CyclingRanking; Elimination; CompletionIndividual + TeamTime, discipline, distance, laps/stages, and splitsAverage speed, split times, position, category, and DNF statusImplemented
Standard depth
SwimmingRanking; Elimination; CompletionIndividual + TeamTime, discipline, distance, heat, lane, and splitsSplit times, position, category, heat/lane, and DNF statusImplemented
Standard depth
Running (Athletics)Ranking; Elimination; CompletionIndividual + TeamTrack, field, relay, road, and combined-event times, distances, heights, points, and attemptsHeats, lanes, wind, reaction time, attempts, pace, status, category, and placingImplemented
Standard depth
BadmintonRanking; Round robin; Elimination; Double elimination; SwissIndividual + TeamGame-by-game point scoring and match winnerGames won/lost, deciding-game rate, score distribution, and match recordImplemented
Advanced depth
SquashRanking; Round robin; Elimination; Double elimination; SwissIndividual + TeamGame-by-game point scoring and match winnerGames won/lost, deciding-game rate, score distribution, and match recordImplemented
Advanced depth
BasketballRanking; Groups (1/2 rounds); Round robin; Elimination; Double eliminationIndividual + TeamPoints by quarter plus final scoreFouls, timeouts, 3-pointers, free throws, assists, rebounds, and turnoversImplemented
Standard depth
PadelRanking; Round robin; Elimination; Double eliminationIndividual + TeamSets, games, tiebreaks, golden point, and match winnerBreak points, winners/errors, viboras, serve data, surface splits, and match recordImplemented
Advanced depth
PickleballRanking; Round robin; Elimination; Double eliminationIndividual + TeamGame-by-game point scoring and match winnerGames won/lost, point totals, and personal match recordImplemented
Standard depth
VolleyballRanking; Groups (1/2 rounds); Round robin; Elimination; Double eliminationIndividual + TeamPoints by set plus sets wonAces, blocks, attacks, errors, set averages, and match recordImplemented
Standard depth
DartsRanking; Round robin; Elimination; Double elimination; SwissIndividual + TeamSets, legs, and match winner3-dart average, highest finish, 180s, legs won, and match recordImplemented
Advanced depth
HandballRanking; Groups (1/2 rounds); Groups + knockout; Round robin; Elimination; Double eliminationIndividual + TeamGoals plus live goal/card/save/miss/substitution/suspension timelineGoals, cards, 2-minute suspensions, saves, misses, player events, and match recordImplemented
Advanced depth
American FootballGroups (1/2 rounds); Round robin; EliminationTeamPoints by quarter and final scoreTouchdowns, field goals, safeties, turnovers, quarter scores, and standingsImplemented
Standard depth
BaseballGroups (1 round); Round robin; Elimination; Double eliminationTeamRuns by 9 innings and final scoreHits, errors, home runs, inning totals, and standingsImplemented
Standard depth
SoftballGroups (1 round); Round robin; Elimination; Double eliminationTeamRuns by 7 innings and final scoreHits, errors, home runs, inning totals, and standingsImplemented
Standard depth
RugbyGroups (1/2 rounds); Round robin; EliminationTeamPoints by half and final scoreTries, conversions, penalty goals, drop goals, cards, and standingsImplemented
Standard depth
Field HockeyGroups (1/2 rounds); Round robin; EliminationTeamGoals by quarter and final scoreShots, penalty corners, green/yellow/red cards, quarter scores, and standingsImplemented
Standard depth
Ice HockeyGroups (1/2 rounds); Round robin; EliminationTeamGoals by period and final scoreShots on goal, power-play goals, penalty minutes, saves, and standingsImplemented
Standard depth
CurlingGroups (1 round); Round robin; EliminationTeamPoints by end and final scoreHammer points, steals, end scores, and standingsImplemented
Standard depth
EsportsGroups (1/2 rounds); Round robin; Elimination; Double eliminationIndividual + TeamMaps and map-by-map scoreKills, deaths, assists, objectives, maps won, and standingsImplemented
Standard depth
BoxingElimination; Double eliminationIndividualScore by round and final resultKnockdowns, significant strikes, penalties, round scores, and winnerImplemented
Standard depth
MMAElimination; Double eliminationIndividualScore by round and final resultKnockdowns, significant strikes, takedowns, submission attempts, and winnerImplemented
Standard depth
WrestlingRound robin; EliminationIndividualPoints by period and final resultTakedowns, reversals, near falls, penalties, period scores, and winnerImplemented
Standard depth
JudoElimination; Double eliminationIndividualMatch score and final resultIppon, waza-ari, shido, and winnerImplemented
Standard depth
KarateElimination; Double eliminationIndividualPoints and final resultYuko, waza-ari, ippon, penalties, and winnerImplemented
Standard depth
TaekwondoElimination; Double eliminationIndividualPoints by round and final resultHead kicks, body kicks, penalties, round scores, and winnerImplemented
Standard depth
FencingRound robin; EliminationIndividual + TeamTouches by period and final resultTouches, priority, penalties, period scores, and winnerImplemented
Standard depth
RowingRound robin; EliminationIndividual + TeamTime, distance, boat class, lane, and splitsSplit times, lane, boat class, position, and final timeImplemented
Standard depth
ArcheryRound robin; EliminationIndividual + TeamTotal score by endsEnds, 10s, X count, total score, position, and winnerImplemented
Standard depth
GymCompletion; RankingIndividualWorkout completion, repetitions, load, or timeSets, repetitions, load, duration, RPE, and exercise historyImplemented
Standard depth
GymnasticsRound robin; EliminationIndividual + TeamTotal judged score by apparatusDifficulty, execution, penalties, apparatus, and total scoreImplemented
Standard depth
WeightliftingRound robinIndividualTotal lifted weight and attemptsSnatch attempts, clean & jerk attempts, body weight, and totalImplemented
Standard depth
PowerliftingRound robinIndividualTotal lifted weight and attemptsSquat, bench, deadlift attempts, body weight, and totalImplemented
Standard depth
SkateboardingRound robin; EliminationIndividualJudged run and trick scoresDiscipline, run scores, trick scores, penalties, and total scoreImplemented
Standard depth
SkiingRound robinIndividualTime or judged score by disciplineDiscipline, run times/scores, penalties, and final resultImplemented
Standard depth
SnowboardingRound robinIndividualTime or judged score by disciplineDiscipline, run times/scores, penalties, and final resultImplemented
Standard depth
Figure SkatingRound robinIndividualTotal judged scoreTechnical score, component score, deductions, and total scoreImplemented
Standard depth
Speed SkatingRound robinIndividualTime, distance, lane, and splitsSplit times, distance, lane, position, and final timeImplemented
Standard depth
SurfingEliminationIndividualJudged wave scores and heat totalWave scores, heat total, priority penalties, position, and winnerImplemented
Standard depth
WindsurfingRound robinIndividualRace time or pointsRace scores, discarded score, penalties, and final pointsImplemented
Standard depth
SailingRound robinIndividual + TeamRace points and net scoreRace scores, discarded score, penalties, and net pointsImplemented
Standard depth
🖼️
Homepage / Landing Page
compeetee.com homepage with feature highlights and call-to-action

Roles & Subscription Plans

Access to features is governed by two overlapping systems: the user's subscription tier and their role within a club. Higher tiers unlock progressively more powerful features.

Plan Who it's for Key capabilities Price
Player Recreational athletes Join public events and clubs, live scores and leaderboards, basic profile, recent analytics, 5 AI prompts/month Free
Athlete Competitive athletes Full history and analytics, AI Insights, training log, public profile, 300 MB storage $8 / month
Organizer Event and tournament organizers 15 events/year, 50 participants/event, seasons, registration, Stripe payments, live scoring, reports and exports $29 / month
Coach Individual coaches Everything in Organizer, 5 teams, practice groups, plans, attendance, athlete/team/video analytics, 30-day trial $59 / month
Club Sports clubs Everything in Coach, 1 club with up to 3 sponsored Coach workspace seats, 2 managers, 100 athletes and 10 teams, finance, reservations, API and integrations $169 / month
Federation Sport organizations Everything in Club, up to 20 clubs and 50 teams, up to 5 sponsored Coach workspace seats per club, larger event and member limits, custom integrations and onboarding Custom quote

Club Roles

Within a club, members are also assigned a role that controls what they can manage inside that specific club:

RoleDescription
ManagerFull club administration: members, settings, billing
CoachManage practice groups, sessions, training plans, athlete feedback
AthleteView schedule, check in to sessions, log results
💡 Tip A user can be both a Coach-tier subscriber and an Athlete member in someone else's club simultaneously. Their subscription level determines global platform access; their club role determines what they can do inside that club.

Athlete

Dashboard

Today's Stats shows today's planned exercises, saved completions, and this week's individual and group sessions. Exercise totals include individual-session activities and personal exercises; shared group activities are tracked through attendance. Open Training for session details and to record results. Mobile shows the same progress in the existing Training shortcut and uses group and individual sessions in its weekly practice metric. Refreshing or returning to the dashboard updates the figures.

The Dashboard is a fully customizable home screen built with a drag-and-drop grid. Each card ("widget") can be moved, resized, or removed. Widgets include:

Athlete Score

Athlete Score is a 1–1,000 point recent-performance rating, supported by activity and consistency. It reflects the work and results recorded in Compeetee; it is not a percentage or a medical fitness assessment.

The performance score uses up to the 50 most recent scored results from the trailing 12 months. The newest result has the strongest influence; each successively older result receives 96% of the weight of the result before it. This keeps the score responsive to current form without letting one old performance dominate forever.

Golf performance

Golf is evaluated from the gross score relative to par. The result score is 825 − (score to par × 25), within the 1–1,000 scale. For example, −1 is 850 (Elite), even when it is the athlete's first recorded round; par is 825 (Advanced), +9 is 600 (Advanced), and +21 is 300 (Developing).

Activity and consistency

Recorded activity supports the performance score, but simply entering events cannot create an Elite athlete:

Recorded signalHow it is used
Scored competitive resultDetermines the recency-weighted performance score
Completed exercisesUp to 25 supporting consistency points
Active days in the last 60 days1.5 supporting points per active day
Current activity streak2 supporting points per day
Event participation without a scored resultRecords activity, but cannot unlock a performance tier

The consistency bonus is limited to 100 points. Without an eligible scored result, activity alone remains in Beginner and cannot exceed 299. Tiers are Beginner (1–299), Developing (300–599), Advanced (600–849), and Elite (850–1,000). Scores are recalculated daily as results enter or leave the 12-month window and as recent activity changes.

How to customize

  1. Click the "Edit Layout" button (pencil icon, top right of the dashboard).
  2. Drag any card to reposition it on the grid.
  3. Resize cards using the resize handle at the bottom-right corner.
  4. Click the on a card to hide it.
  5. Use "Add widget" to restore hidden cards.
  6. Click "Save Layout" to persist the arrangement.
🖼️
Dashboard — Default View
Activities + Calendar + Summary widgets on the default grid layout
🖼️
Dashboard — Edit Mode
Grid edit mode with drag handles and resize corners visible

Feed

The Feed is your personal activity timeline — a chronological stream of everything that happened: competition results, assessment notes from coaches, session attendance records, uploaded photos/videos, and manual log entries.

Feed Entry Types

TypeCreated byWhat it shows
ResultAthlete or auto from eventMatch/race result with sport-specific stats
AttendanceCoach at session check-inWhich session, status (present/absent/excused), notes
AssessmentCoachSkill assessment scores and free-text feedback
MediaAthlete or CoachUploaded photo or video with optional description
ExerciseSystem from training planCompleted exercise / drill logged by athlete

Filtering the feed

Use the filter bar at the top to narrow entries by type, sport, or date range. Results are paginated and loaded in batches of 10.

🖼️
Athlete Feed
Timeline cards showing a mix of results, attendance entries, and media uploads

Sharing

Open Athlete → Other → Sharing to choose what selected coaches across your clubs can see. Sharing is off until you enable a category and choose its coaches. Save your changes to apply them on web and mobile.

Feed controls activity updates. Feed media separately controls photos and videos in your feed, not your entire media library. Results, Practices, Goals, and Assessments have their own coach selections.

For each selected coach and category, choose No limit or add one or more activity date ranges. Both boundary days are included. These are dates of the activity, not dates when the coach can sign in. Undated items require No limit.

Counts show currently eligible entries. Future eligible entries within the selected ranges are shared automatically. Results sharing can include Club results from other clubs and results recorded without a club.

Private items stay private. Event results follow event visibility. Public and explicitly shared items keep their existing audience. Disabling sharing or ending the shared club membership removes the additional access granted here.

Already shared with your coach: exercises, results, and practices they record or manage for you remain available while you share an active club membership. Turning off a Sharing category does not remove this existing coaching access.

Results

The Results page lets you log, browse, and analyse individual sport results. Results are stored per-sport and include rich structured data (scores, splits, handicaps, etc.).

Logging a result

  1. Click the "+ Add Result" button (top right).
  2. Select the sport. A sport-specific dialog opens.
  3. Fill in the fields (opponent, score, round, date, venue, …). Every sport has a tailored form.
  4. Click Save. The result appears in the feed and results list immediately.

Who can see a personal result?

New personal results use Club visibility. Private results stay private. Club results belong to the club where they were recorded; coach access also follows Sharing settings and the recording-coach exception. Coaches visibility explicitly includes every coach in the athlete’s current clubs. Public results can be viewed by everyone.

Use Result Visibility on your personal result to change its audience. Results without a club remain owner-only unless eligible coach access applies or you explicitly share them. Official event scores follow event visibility and cannot be hidden with personal-result settings.

Supported result dialogs

Golf  Tennis  Padel  Pickleball  Badminton  Squash  Table Tennis  Running  Cycling  Swimming  Soccer / Futsal  Volleyball  Basketball  Handball  Cricket  Darts  Generic

View modes

Toggle between Card view (rich visual cards with summary stats) and List view (compact table) using the icons in the toolbar.

Filtering

On the web, combine sport, Search results, and With Stats Only. Coaches can also choose an athlete they manage. Search checks the available result summary, athletes, sport, event, and competition; it updates after a short pause.

With Stats Only shows results with recorded statistics, such as golf putts or fairway data. A score alone is not a statistics entry. The chart icon in List view identifies these results. Both filters apply to the whole history, stay active when switching views, and reset pagination; Clear filter removes them.

Select a result to open its details. If the details cannot be loaded, the web dialog shows a notice and any available summary. Use Retry after checking your connection. An unavailable detail is not an empty scorecard.

🖼️
Results Page — List View and Filters
Results table with Search results, With Stats Only, athlete avatars, and statistics icons
🖼️
Results Page — Add Golf Result Dialog
Golf result dialog: course, date, score, handicap, and hole-by-hole breakdown fields

Analytics

The Analytics page provides deep, sport-specific performance statistics with trend charts, AI performance predictions, and seasonal reports.

Selecting the scope

  1. Choose an Athlete from the dropdown (coaches can select any of their athletes; players see only themselves).
  2. Choose a Sport.
  3. Set the date range (defaults to the previous calendar month).
  4. The analytics panel below updates automatically. While filters are being applied, the standard running-athlete indicator with three dots appears in the result area on web and mobile.

Sport-specific panels

SportKey metrics shown
GolfScoring average, fairways hit %, GIR %, putts per round, handicap trend, handicap differentials
TennisWin/loss record, ace count, double faults, break points, first serve %
Padel / PaddleWin rate, set ratio, games ratio, partner performance, tiebreaks won
PickleballWin rate, games ratio, dink sequences, third-shot drops, kitchen faults
Running / Cycling / SwimmingTotal distance, average pace/speed, personal bests, effort over time
Team sports (Soccer, Volleyball, Basketball, …)Wins/losses, goals/points scored, goals conceded, match records

AI Prediction (Coach tier)

Enter a target training sessions per week and select a season preset (spring / summer / autumn / winter). The system returns a predicted performance trajectory with confidence bands.

Seasonal Report (Coach / Club tier)

Select a year and a division filter (e.g. U12) and click "Generate Report". The report aggregates season stats, highlights personal bests, and tracks year-over-year improvement.

🖼️
Analytics Page — Golf Panel
Golf performance cards for the selected athlete and date range.

Training

The Training page is the athlete's personal training hub. It combines the weekly training plan view, session notes, and individual exercise tracking.

Your training schedule

Athlete > Training opens on Today. On wide screens, today’s sessions and exercise actions appear on the left, with the combined schedule on the right; phones stack these sections. Browsing another calendar date keeps today’s activities in place. The calendar includes Individual Practice sessions, practice group sessions, and personal exercises.

In mobile practice groups, choose a session date and switch between Session details and Notes. Send or discard a note draft before changing dates. When adding a personal exercise, open More options for sets, repetitions, scheduling, and effort.

On mobile, Training opens on Today. Use the compact controls to finish individual session exercises; completion saves immediately. Personal exercises stay separate, and the calendar appears below on phones or beside Today on tablets.

On the web, tick exercises in Today’s individual session cards to save completion immediately. Each card shows saved statuses and a finished count. Open the session to change recorded amounts.

Plans, groups and conversations

Coaches can find Athlete session insights in Practice → Overview. Select a session to see its progress charts. Sessions remains focused on activities and recording results; athletes do not see the Overview subtab.

On the web, Individual Practice has one row of tabs with group labels above: Beginning, Practice, Evaluation and Settings. Beginning contains Goal and motivation and Starting Assessment. Practice contains coach-only Overview, Sessions, Calendar and Notes. Evaluation contains End-of-plan review, Final Assessment and Reports. Plan managers can open General under Settings. Save the plan to apply changes to goals, reviews, assessments and settings; Add Calendar Event saves a shared appointment immediately.

Mobile Individual Practice follows three stages. Beginning holds goals, motivation and starting assessments; Practice contains sessions, exercises, Calendar and Notes; Evaluation holds the end-of-plan review, final assessment and reports. Coaches use the edit menu for the current stage. Athletes can follow the plan and share their thoughts in Notes. Stages remain freely accessible and do not change the plan’s status.

On web or mobile, open Individual Practice → Practice → Calendar. Add Calendar Event requires a From date, name and place. Enable Include time for a timed appointment, or leave it off for a date-only entry. Add end date enables an optional To date with its own optional time. You can also add a description. Events are shared with the athlete and coaching team; times follow your timezone preference, while date-only entries stay on the selected day. Open an entry for details.

Athletes see active individual plans. Individual and group cards identify their coaches. Open a session to mark it done without entering each exercise, or use Undo to reverse completion. Session notes belong to the selected session and date; use Add note on mobile to record a message.

Plans lists your individual plans and their goals. Practice groups lists the groups you belong to. In Notes, choose an individual plan or a practice group: each conversation stays clearly separated. Individual plan notes support the same messages and media as the coach workspace. Group notes show shared updates and notes addressed to you; choose a session date to send a text reply to its coaches. Other athletes’ targeted notes remain private.

On the web, plans and practice groups open directly inside Athlete Training. Open a group card or a group calendar entry to see its sessions and notes on the page, and use Back to return to the group cards. Choose a session and date to see its conversation. Individual plans let you mark exercises finished, adjust actual amounts, and save results in the athlete view.

On the web, plan and practice group cards share the coach workspace’s layout. Plans show their goal, coach, and dates; group cards show session information and the next scheduled date. Open practice and View group keep you in Athlete Training, without coach management actions.

Practice Group Sessions In Athlete Training
Session Results And Actual Amounts
Today And Schedule On A Phone

Building a personal plan

Athlete-tier users and above can build their own plan from library exercises. Each exercise is saved when it is added, so closing the builder does not discard exercises already listed in the green confirmation area.

  1. Select Add exercise.
  2. Search or browse the exercise library. The curated Compeetee catalogue is public: use “Share link” from a card or row menu to copy its public URL, display its QR code, or share it from the mobile app. Anyone with the link can read the exercise without signing in and switch its instructions between English, French, German, Spanish, and Czech.
  3. When starting from a shared exercise, select Build your personal plan. Compeetee opens this builder with that exercise already selected. Use Shape this plan with AI Coach if you want help adding a balanced warm-up, complementary work, progression, and recovery.
  4. Create your own exercises when the catalogue does not cover a drill you need. A personal exercise starts private; its owner can later open “Sharing & visibility” to share it with selected clubs or publish it before generating a public link.
  5. Set reps, sets, duration, load in kilograms, perceived effort (RPE 1–10), and notes.
  6. Select Add exercise. The exercise is saved to the personal plan and the builder stays open.
  7. Choose and configure further exercises as needed. The builder lists everything added during the session; select Done when the plan is ready.
Personal-plan allowance The Athlete tier supports up to five active self-added exercises from today forward. The builder stops accepting further exercises when that allowance is reached, while the exercises already added remain saved. Coach and higher tiers are not subject to this Athlete-tier limit; Player access remains read-only.

Gym training

Gym is a dedicated sport in the exercise library. Its illustrated catalogue covers strength, power, dexterity, conditioning, warm-up, mobility, and injury-resilience work. Gym exercises can be scheduled in an individual training plan or added to a personal plan; sets, repetitions, load, duration, and RPE stay with the exercise so the completed session records what was performed.

Completing scheduled exercises

Exercises assigned by a coach appear with a checkbox. Mark them complete by checking the box. Completed exercises turn green and are reflected in the coach's session completion report.

Training Plan

If your coach has created a Training Plan for you, it appears as a structured multi-week programme. Each week shows drills, strength work, and target intensities. Progress is tracked automatically.

🖼️
Training Page — Weekly View
Week strip at the top, session cards below each day, exercise list with checkboxes

Public Profile

Every user has an optional public profile page accessible at /profile/{userId}. No login is required to view a public profile.

Public profile is opt-in When you view your own profile before publishing is enabled, a prominent notice explains that other people cannot open it yet and links back to the relevant privacy setting.

The profile displays:

Profile owners can choose a hero image and adjust its focal point. The same positioning control is used for event, club, and season heroes so short header crops remain predictable on phones and desktops.

Achievement Badges

Badges are awarded automatically for milestones such as "First result logged", "10-match win streak", "Completed 50 sessions", etc. Click any badge to see the full description and the date it was earned.

🖼️
Public Profile Page
Profile header with avatar, sport chips, club badges, recent result cards, and achievement badge grid

Fellow Athletes

Fellow Athletes is your private, approval-based list of registered Compeetee users. Accepted athletes are offered alongside members of your clubs when you choose an athlete or opponent during result entry.

Adding an athlete

  1. Open Athlete → Fellow Athletes.
  2. Select Add friend and enter the person's Compeetee user ID, scan their QR code, or open the invitation link they shared.
  3. Send the invitation. The other person receives a notification and must accept before either user appears in the other's list.

The header separates your accepted athletes, requests that need your approval, and invitations waiting for approval. Use Search athletes to find someone in your accepted list. Accept or decline incoming requests under Needs your approval; cancel an outgoing request under Waiting for approval.

When a fellow athlete has enabled a public profile and still has access to that feature, their card shows Public profile available. Select the link to open the published profile. No private profile settings are exposed through the list.

Your personal QR card follows the current light or dark theme. Use its copy, share, or download controls to give another registered user an invitation link. Scanning the QR starts an invitation; it does not bypass approval.

🖼️
Fellow Athletes — Connections and Invitations
Searchable athlete cards, separate approval queues, and the theme-aware invitation QR card. Fictional demonstration data.

Reports

The shared Reports workspace is available from both Athlete and Coach navigation. Report creation runs in the background so you can continue working while larger PDFs are prepared.

  1. Request a report from the relevant event, practice group, schedule, or analysis page.
  2. Wait for the completion notification. The unread count beside Reports increases when a new report is ready.
  3. Open Reports to see new documents highlighted in the list.
  4. Download the document, or remain on the Reports page for three seconds, to mark ready reports as read and clear the menu count.

A report may show Pending, Processing, Ready, Failed, or Expired. Failed reports include an error state rather than a broken download. Generated documents remain subject to their original club, event, and user permissions.

Calendar Sync

Athletes can subscribe to a personal Compeetee calendar feed and see events, practices, and reservations directly in Google Calendar, Apple Calendar, Outlook, or any app that supports iCal subscriptions.

  1. Open your calendar or settings area in Compeetee.
  2. Copy your personal calendar feed URL.
  3. In your calendar app, add a new calendar by URL and paste the feed link.
  4. Refresh the calendar and confirm Compeetee events appear.
Private feed URL Treat the feed URL like a private access link. Some calendar providers cache remote feeds, so changes may appear with a short delay.

Coaching Hub

Coach Dashboard

The Coach Dashboard is the first screen coaches see after login. It gives an at-a-glance view of upcoming sessions, athlete attendance trends, and group activity within the selected club.

Club selector

If you are a coach in multiple clubs, use the Club dropdown at the top to switch context. All widgets update to reflect the selected club.

Coach selectors show profile photos and country flags when available, both in the list and after selection. Use the search field to find a coach by name.

Coach perspective for club managers

A club manager sees the Coaches multi-select inside the coaching page's filter toolbar. With no coach selected, schedules and coach-scoped views include every coach in the club. Select one or several coaches to narrow the view without changing club context. Athlete Management and Attendance Tracking intentionally do not show this coach filter; Individual Plans places it on the second filter row.

Coaching Schedule supports a custom date range and initially shows the current week plus the following week. Changing the range or coach selection refreshes the existing view.

The Coach Dashboard combines activity with a calendar in the right column on wide screens. Select a day to see individual-plan and practice-group sessions, then open a session for details. An individual plan needs scheduled sessions to appear in the calendar. Athlete feed and results access follows Sharing preferences.

Use This week, Next week, or This month beside the schedule date filter to change the displayed period.

Dashboard widgets

🖼️
Coach Dashboard
Club selector at top, four summary cards (groups count, athlete count, sessions this week, overall attendance), upcoming sessions list

Practice Groups

Practice Groups are the core organisational unit of coaching. A group bundles a set of athletes, a recurrence schedule, and skill/category metadata.

Creating a Practice Group

  1. Navigate to Coach → Practice Groups.
  2. Select the club and click the toolbar's + button.
  3. Enter the group name, location, category, skill level, age range, capacity, and optional color. Select the club coach or coaches who lead the group.
  4. Click Create, then open the group. Its compact header and summary leave more room for the athlete list; expand Description for the full notes.
  5. Use Athletes to add club members or external athletes, and Schedule to create sessions with their dates, times, and duration.

Group card actions

Practice-group pages and event practice-group views use the same balanced card. Its information is distributed across the available width rather than collected at the left edge. The selected group color decorates the card and follows its sessions throughout the coaching schedule.

Compact group cards show the group identity first, then sport/category, athlete count, next session, and the assigned coach or coaches. The coach label remains visible even when several coaches share a group.

Each card on the list has an overflow menu (⋮) with:

Filtering

Use the toolbar to filter by category, switch compact view, and choose the number of groups per page. Managers also have the coach filter. Click Refresh to reload groups without changing the selected filters. Tick Archived to include archived groups alongside active ones.

Archiving does not cancel sessions or prevent opening the group through an existing link. Review future sessions separately when a group stops meeting. Duplicating copies group settings into an active group with empty athlete, coach, session, and assessment lists.

Club members and external athletes

The Athletes list shows each person's club membership tier, tags, and payment status. Full or Term in a practice payment record describes enrollment for that term and does not change the club membership tier.

  1. For an existing club member, select their membership instead of creating an external duplicate. For an external athlete, use the external option and enter their details.
  2. Add tags such as Junior and enter the practice level, such as Level 1,2,3, in the term. The latest term's level also appears among the athlete's tags.
  3. Record the term name, weeks, Full/Term enrollment, fee, currency, payment confirmation, form receipt, and payment note. A received form does not confirm payment.
  4. To link an external athlete later, choose Convert to club member and select the existing membership. If needed, create the membership first, then return to select it and complete the conversion.

Conversion links the athlete in the current group and retains their external identity and group enrollment records. If they attend other groups, review those rosters too; the link is not automatically applied to every group.

Adding or removing an athlete in a practice group updates future lesson rosters that have no recorded attendance. Past lessons and recorded attendance stay unchanged. For recurring sessions, the roster change applies from the time you save it.

Moving athletes between groups

Choose Move to another group above Remove From Group in the athlete's menu. Select an active group in the same club and confirm. The destination must have space and must not already contain the athlete. Their tags and term/payment details move with the roster entry. Team-managed athletes must be changed through their team.

Attendance after a move Moving an athlete updates future sessions without recorded attendance in both groups. Past sessions and any recorded attendance stay unchanged. Recurring sessions use the move date, so earlier occurrences keep their original roster.

Practice-group reports

Open a group's Athletes tab to request a roster PDF, or its Schedule tab to request a schedule PDF. The report is generated in the background. A notification and unread Reports badge appear when it is ready.

🖼️
Practice Groups Management
Grid of practice group cards with name, category chip, athlete count, next session date, and overflow menu
🖼️
Create / Edit Practice Group Dialog
Group settings including name, location, category, skill level, capacity, and coach selection

Sessions

A session is a single occurrence of a practice group on a specific date. Sessions are generated automatically from the group's recurrence rule, but can also be created ad-hoc.

Coaching Schedule views

The Coaching Schedule header keeps the selected club and summary values in one compact, right-aligned area. The same header owns the Today's Sessions, Scheduled, Assigned Exercises, and Reminders totals; they are not repeated in the page content.

Use List for a compact chronological schedule or Calendar for a monthly overview. Both views use each practice group's saved color, making sessions from the same group easy to recognize. Date-range and coach filters apply to both views.

Select Download PDF from either view to export the currently filtered scheduled sessions. List exports preserve chronological detail; calendar exports preserve the calendar-oriented grouping.

Session Detail page

Click a session to open its full detail view. From here you can:

Session types

TypeDescription
RegularStandard recurring practice session
Training PlanA structured session linked to a training plan week
IndividualOne-on-one coaching session
Event / CompetitionSession tied to a tournament or match day
🖼️
Session Detail
Session header (date, time, location), attendee list with status chips, shared notes section with media thumbnails, assessment button

Attendance Tracking

The Attendance Tracking page aggregates attendance data across all practice groups into a cross-session report. This is separate from the per-session view inside Session Detail.

Taking attendance

Choose a club and group, then use Take Attendance. All sessions shows each scheduled session with its own athlete roster and Save Attendance button. Select a single session to focus on it; no separate date picker is needed.

The shared filters are Group, Session, Status, Athlete, and fulltext Search. They also apply to Attendance Records, Athlete Statistics, and Session Analysis. Present, Absent, Excused, and Pending keep unanswered attendance distinct from absence. All present and Reset affect only visible athletes. Save or discard each session’s changes before changing the group or session.

Club coaches and managers can take attendance. A manager can enable staff attendance access in the club settings. This grants attendance access without granting access to private coaching notes or plan editing. Removing the privilege immediately revokes access.

Reports

Use Generate Report to choose an athlete, group, and reporting period. Report dates are separate from the attendance toolbar filters.

🖼️
Attendance Tracking — Athlete Stats Tab
Data table with athlete names, attendance rate progress bars, trend arrows, and last-attended date. Club and group filters at top.

Individual Training Schedule

In addition to group sessions, coaches can create individual training schedules for specific athletes. These are private, athlete-scoped plans that appear only on that athlete's Training page.

Creating an individual plan

Athlete selectors use the same searchable list with a profile photo and country flag, when available, both in the list and after selection. Country flags respect the athlete’s profile visibility.

Open Coach → Individual Practice. Assessment Lists, AI Practice Plan, and Add Practice Plan are in the header. Create a plan for an athlete, set its dates, and optionally record its goal and motivation. Update the dates later without losing saved assessments.

Assessments and progress reports

Open Assessments to record a Starting Assessment or Final Assessment. Choose saved assessment lists shared with your club, then enter ratings or measurements. Save Assessment accepts unanswered criteria so you can finish later. Blank values are not zero and do not enter averages or comparisons. Final Assessment copies the starting criteria, with new values left blank.

To start an assessment again, choose Reset Assessment and confirm. On the web, save the plan to apply the reset; on mobile, confirm from the assessment editor to save it immediately. Only the selected assessment is cleared. The other assessment and existing reports are kept.

Record the final review and next steps when the plan ends. Save the plan before creating a report. Reports include the goal, review, exercise completion, assessments, checkpoints, and practice calendar as they were when the report was created. Preview it, save a PDF on the web, or send it privately to the athlete. Later plan edits do not change an existing report.

Only coaches assigned to the Individual Practice can create, send, or delete its reports. Athletes can view shared reports and save a PDF on the web. Club management access alone does not allow report editing. Deleting a report removes access to it for the athlete and keeps the practice plan.

Choose Weekly (choose days) to repeat on several weekdays, such as Monday and Wednesday. You can edit the series later: past dates and saved session results stay on their original dates, while upcoming dates follow the new schedule.

Individual Practice shows the latest 10 notes first and loads earlier notes as you scroll down. On the web, notes use the page scrollbar instead of a separate scrolling panel.

Individual Practice and Practice Group notes keep author details, exercise or session context, and media together. Notes display newest first on the web. On mobile, record a practice-note video in High quality by default, choose Standard or Smaller file when needed, and preview or retake the clip before attaching it.

In Individual Practice, Calendar shows the current practice and the athlete’s group sessions. Add Calendar Event is in the calendar header; use the Sessions tab to manage sessions. Select a group session to open its practice group. Only groups available to your account are included; recurring dates, roster changes, and cancelled dates are respected.

Sessions and agendas

On the web, open Sessions in the Practice group to create a session and use Repeat below the date and time to choose how often it runs. Weekly or fortnightly sessions can repeat on several selected weekdays.

In Agenda, Add exercises opens the wide Exercise Explorer. Filter, preview, and select several exercises. Resize the columns with the splitter. Add custom activity for anything outside the library, then save the session.

Previously scheduled exercises keeps existing completion history and notes. Adding an exercise to an agenda does not mark it completed.

On mobile, use Create session from the action menu or edit a session. Add exercises and custom activities, set repetition, and save.

Recording session results

On the web, the Session dropdown comes before Session date in one toolbar. Plan managers can use Edit agenda and Edit series on the same row. Save or discard unfinished edits before switching sessions.

On the web, select a session in Individual Practice’s Sessions tab to see its agenda and results directly on the page, then choose the session date. Use View Exercise to open instructions and media without losing your progress. Mark activities Finished and enter actual minutes, sets, repetitions, or rest when they differ from the plan. Blank amounts use the planned values; zero is recorded as zero. Save results also accepts partial progress.

Each repeating date has separate results. Recorded plans remain unchanged when the coach edits the series. Save or discard changes before switching sessions or dates. Unsaved results remain available when you visit another tab in the same plan. Coaches can review results in the same session view.

Session insights for coaches

In the coach’s Sessions tab, choose a session to see completion trends, planned and completed minutes, and session consistency. Charts show recent dates; Instance history lists every past date and today. Missing results stay separate from zero progress, future dates are excluded, and recorded dates retain their original exercise plans. Completed minutes count only finished activities and use planned minutes when the athlete leaves the actual duration blank. Statistics refresh after saving results.

Copying plans

Use the Copy Plan button to duplicate a week's plan to the next week, or to copy one athlete's plan to another athlete (great for groups working on similar content).

🖼️
Individual Training Schedule
Weekly calendar grid per athlete, session cards on each day, "Copy to next week" button

Exercise Library

The Exercise Library is a catalogue of drills and exercises that coaches can build, share, and assign to training plans and sessions.

AI Exercise Builder And Mobile Notes

In Agenda, AI Builder suggests accessible exercises: 5 by default, at most 10. Review the selection, adjust instructions and duration, then save the session.

On mobile, the Add note menu opens Message, Photo, Video, Voice note, Library, or Exercises directly. Review the inline draft and tap Send; failed sends retain it for retry.

Orange with an Admin only label or shield marks system-admin tools. Red remains reserved for destructive actions.

Exercise Explorer

Use Add Exercise to Plan to select several exercises from the dropdown or Exercise Explorer. The chosen coach, schedule, and workload apply to the whole selection; you can edit each exercise afterward.

Use the page controls to browse all exercises. Search and filters cover the full library, and selections stay selected across pages.

On the web, use Explore beside the exercise dropdown to browse preview tiles. Filter by sport, category, or search text, then open a tile to read its instructions and view its media. Drag the divider to resize the columns, or focus it and use the arrow keys. On phones, the preview appears below the tiles.

Browsing does not change your plan. Select an exercise and confirm with Use exercise. Fields that allow multiple exercises keep your selections as you filter; confirm with Use selected exercises. Cancel discards unconfirmed changes. In read-only views, selection controls are hidden.

Junior Golf Fitness

Search Junior Golf Fitness, or filter by Golf and fitness, to find 12 gym exercises. Every exercise includes setup, instructions, a starting dose, and separate adaptations for ages 5–9, 10–14, and 15–18. A qualified coach should choose the version and resistance based on coordination and experience, not age alone.

Use two nonconsecutive gym days. Session A: Dynamic Warm-up, Box Squat, Resistance-Band Row, Incline Push-Up, Dead Bug Heel Tap, and Open Book Rotation. Session B: Dynamic Warm-up, Low Step-Up, Dowel Hip Hinge, Resistance-Band Row, Standing Pallof Press, and Suitcase Carry. Follow each exercise’s age-band guidance; younger children should use only three or four short movement games. Do not perform the entire collection in one workout.

Exercise fields

Creating an exercise

  1. Click "+ New Exercise".
  2. Fill in name, description, category, and sport.
  3. Upload a video or image (optional but recommended).
  4. Set the repetition type and default values.
  5. Click Save.

Publishing & pricing

Exercise instructions belong in the single rich Description field. The separate Publishing & Pricing tab controls whether a coach-created exercise remains private, is published for free, or is offered for a one-time price; it does not duplicate the instructions into a package.

A paid offer requires a positive price, a three-letter currency, and at least one buyer preview: short preview text, preview media, or a preview link. Compeetee validates these rules again on the server, fixes the service fee at 20%, and automatically makes Free and Paid offers public. Returning an offer to Private removes its paid-only preview and price data.

Automatic checkout, content unlocking, and coach payouts are not yet available. The editor states this clearly before a coach publishes a paid offer.

Sharing exercises

Use the Share button on any exercise card to make it visible to other coaches in your club or publicly to the community library.

Public links are designed for athletes as well as coaches. The read-only exercise view includes its own language selector for English, French, German, Spanish, and Czech, so changing the exercise language does not change the rest of the site. The curated Compeetee catalogue translates names, categories, and full step-by-step instructions while preserving the original exercise structure. Author-created wording that has not been localized remains visible in its original language rather than disappearing.

Select Build your personal plan with this exercise from an exercise detail or Build your personal plan on its public page to open Training with the exercise preselected. From there you can configure it, combine it with more exercises, or ask AI Coach to suggest a balanced plan around it.

Filtering & Search

Search by name, filter by sport, category, and Free or Paid. General includes sport-independent preparation, stretching, and recovery exercises and can be selected like every other sport. Cards and list rows show the price status directly. Toggle between card and list view.

Stretching

The General catalogue includes 20 illustrated stretching and mobility exercises for the neck, fingers, hands, wrists, forearms, shoulders, chest, upper back, side body, trunk, hips, inner thighs, quadriceps, hamstrings, glutes, calves, and ankles, plus dynamic preparation and a complete post-practice cool-down. Use dynamic movements during preparation and comfortable static holds after the main work; every exercise provides setup, timing, coaching cues, and relevant safety cautions.

Exercise illustrations

Curated exercises include a simple instructional illustration generated from the exercise prompt. Open an exercise to see the image centered directly below its sport and category chips at nearly the full detail width. The presentation has no border or caption so attention stays on the movement, positions, target area, and direction cues. Editing and deleting library exercises from this detail view is reserved for system administrators; these privileged actions use the consistent red admin treatment in the mobile app.

Illustrations support the written instructions; they do not replace the exercise description, coaching notes, safety guidance, or demonstration video.

🖼️
Exercise Library — Card View
Grid of exercise cards: thumbnail, name, sport badge, category chip, repetition type, share and edit buttons

Athlete Management

The Athlete Management section lets coaches see all athletes associated with their club and quickly navigate to any athlete's detailed profile.

Athlete list

The list shows avatar, name, practice groups the athlete belongs to, and their overall attendance rate. Clicking an athlete opens their Athlete Profile page.

Athlete Profile

The profile page aggregates everything the coach needs:

Club member profile tabs

Open View profile from Club → Members. Sport Results contains Competition performance; Assessments contains Coach assessment. Attendance lists current practice groups and attendance history. Players can view their own attendance and coach assessments in read-only mode.

Club-specific controls have moved out of the Edit Club Member dialog. Payments appears before Settings. Managers and administrators have these controls; coaches see Settings, and Staff need Manage members for Settings. Coaches and Staff need Handle membership payments for the profile's Payments tab.

Only managers and administrators can assign Staff, Coach, or Manager roles. Coaches and Staff with Manage members can promote a waiting member to Athlete, but cannot make other role changes. Coach assignments remain subject to the club's quota.

If another person changes a group or payment record while you are editing, your stale save is rejected. Refresh, review the latest data, and retry. A failed multi-member batch leaves the entire batch unchanged. If refreshing the management list fails, an error and Retry button appear; cached groups are marked as potentially out of date.

Practice terms & payments

In the member profile's Payments tab, click Add term beside Practice terms & payments. Terms show newest first with their recorded dates. Each term has its own Save and Delete controls; save each changed term separately. Deleting a term requires confirmation and cannot be undone through the interface.

Download payment record saves an HTML report containing the athlete's name, report date, term details, payment status, and note. Open the file in a browser to print or save it as PDF. This is a payment record, not a tax invoice or proof of a processed bank transaction.

Payment reports use Compeetee branding, with the athlete and term in the header, a fee and payment-status summary, term details, payment notes, and recorded dates. The downloaded report works offline and adapts to phone screens and A4 printing.

Member payments now use the same term records in the group and club profile. Saving or deleting a term updates linked group records together. Payment access requires Handle membership payments permission, including edits made through practice groups. Ordinary roster edits preserve payment details that the editor cannot see.

Review older payment disagreements If older records disagree, the profile and group show a shared value and a warning with the saved alternatives. Review the amount, status, and note, then save the correct term to reconcile it. Other unresolved terms remain flagged.

Attendance and assessments

Select Record Attendance in a club member profile to open Attendance Tracking with that club and athlete selected. Choose a practice group and session; the athlete filter stays selected. Clear the Athlete field to show everyone.

From Club Member Profile, open Assessments, choose the practice group, and select Add Assessment. Practice Session is optional: choose a listed session or No session and set the assessment date. Assessment Lists opens your personal and club-shared lists. Ratings use a 0–10 scale; measurements keep their units. You can save unanswered list criteria and complete them later.

In a practice group, use Attendance on a Recent Sessions entry to record or correct attendance for that date. External athletes count alongside club members; being on the roster does not mark someone present. Assessment date selection defaults to today when available, otherwise the closest available past date. Future-only sessions require a deliberate selection. Focus areas are grouped and sorted alphabetically.

Athlete Feeds (coach view)

Navigate to Athlete Feeds to see a combined feed for all your athletes, or filter to a single athlete's activity stream. This is the same feed the athlete sees on their own Feed page.

🖼️
Athlete Profile (Coach view)
Athlete header with avatar, attendance progress bar, active practice groups chips, recent results list, assessment chart

Visual Analytics & AI Motion Coach Prototype

The Visual Analytics workspace gives coaches media comparison, while the related Prototype AI Motion Coach extends that workflow in the experimental playground. Coaches can work with one or two videos or images, synchronize playback, adjust timing offsets, and draw directly over the media.

In Visual Analytics, select the athlete below the hero header, then choose Individual Practice in Media source. Browse photos and videos from accessible plans in the selected club and personal plans you coach. Search or filter the loaded media, use Load more for older notes, and choose Use on left or Use on right. Other clubs are excluded, club athlete-visibility restrictions apply, and opening a media file checks your current permission again.

The motion prototype currently supports:

Experimental coaching aid Pose estimates depend on camera angle, lighting, visibility, and source quality. Use the prototype to support coach review, not as a medical diagnosis, injury prediction, or replacement for qualified judgement.
🖼️
Visual Analytics — Full-Screen Comparison
Compare two videos side by side with synchronized playback, separate timing offsets, and drawing tools.

Events & Competitions

Seasons Page

The Seasons page brings tours, series, championships, and club programmes together in one place. A season connects multiple events under a shared identity, date range, participating-club roster, and one or more season-long standings tables without removing the individual settings or results of any event.

Finding and organizing seasons

Use the page toolbar to refresh the directory, search season names and descriptions, or narrow the cards by type and status. Results are arranged into:

Each card shows the season artwork, name, type, lifecycle status, date range, number of events, and number of active clubs. Select a card to open its full season page.

Creating a season

Users who manage at least one club see Add season. Enter a season name, readable URL name, description, organizing club, type, visibility, and start/end dates. The organizing club owns the season and controls its settings, membership decisions, branding, events, and standings.

Season types

Choose the type that best explains the structure to athletes and visitors. The type is descriptive; event formats and ranking rules remain independently configurable.

TypeBest used for
TourA multi-stop circuit where athletes or teams build results across venues and dates.
SeriesA related group of events using shared rules, categories, or an overall ranking.
ChampionshipA title-focused competition that may combine qualification, rounds, and a final.
Club seasonOne club's recurring league, calendar, or year-long programme.

The season page

AreaWhat it provides
OverviewSeason description, materials and documents, sponsors and partners, and participating clubs with their roles and membership status.
EventsEvery event connected to the season, with direct access to each event's own setup and results.
StandingsPublished season-long tables for athletes or teams, computed from the configured event results.
StatisticsSeason-wide event, participation, and performance summaries.

Managing events and standings

Create events in the organizing club first, then use Add existing events in the season. Check the attached event set before calculating standings; each event retains its own setup and visibility.

The Standings designer can create multiple athlete or team tables. For each table, choose the counted events and one or more Ranking keys, select stored points, numeric values, finishing position, or exact points by place, then choose total or average aggregation, higher- or lower-is-better ordering, an optional best-results count, and whether only finished events qualify. Saving immediately recomputes the standings without changing the source event results.

Ranking keys make it possible to publish separate Orders of Merit from one season—for example Open, U18, and Masters—or combine several keys into one standings table. For each table, choose its counted events and one or more Ranking keys. Leaving all Ranking keys unchecked includes every competition in the selected events; otherwise, a result contributes only when both its event and competition Ranking key are selected.

Publishing, branding, and participating clubs

Season settings control visibility and lifecycle status: Draft, Upcoming, Live, Finished, or Cancelled. Public seasons appear in the public directory. Managers can also update the season's branding and readable URL. Other managed clubs can request to join; the host club accepts or rejects pending requests, and accepted clubs become available throughout the season experience.

Events Page

The Events page lists all sport events: tournaments, leagues, open competitions, and club-only events. It is the starting point for both organizing an event and participating in one.

View modes

Choose Cards, List, or Map in the toolbar. Map locations distinguish an event location, its club location, and an estimated location. Treat an estimate as a guide and confirm the venue before travelling.

Filters

Filters are multi-select. "Load more" pagination is used; each click loads 25 additional events.

Pinned events

Events you are registered in (or created) show a pin icon at the top. Click the pin icon on any event card to pin it for easy access.

Presentation showcase events

Curated showcase events demonstrate complete public event experiences with official results, media, participant directories, team directories, and clickable profiles. They appear in the dedicated Showcase Events area rather than the ordinary event list. Current examples include the LIV Golf 2026 season, Premier League with its Season 2025/26 competition, World Athletics Championships Tokyo 2025, Wimbledon, and the Handball World Championship. Official wide-format event logos and team crests are shown without cropping.

🖼️
Public Homepage — Showcase Events
Showcase cards for LIV Golf, Wimbledon, Premier League, World Athletics, and the Handball World Championship

LIV Golf event presentation

LIV event pages keep official artwork on its intended light canvas so black and white marks remain readable. The event header keeps Copy link and Share together, followed by public participant totals and the event navigation tabs.

🖼️
LIV Golf — Public Event Detail
Official event mark, event metadata, copy/share actions, participant total, and public event tabs
Tokyo athletics categories Athletics disciplines use the Category filter for Men and Women. The standings include official timings and results across heats, semifinals, qualifications, finals, and relays.

Sharing and link analytics

Event organizers can open the event's Links tab to copy the canonical public page link, download web and app QR codes, and create focused live-scoring links. Share dialogs use the same QR component throughout the app: its download icon appears in the bottom-right only when the pointer enters the QR or the control receives keyboard focus, without covering the code. Open Settings → Analytics for link opens, unique visitors, visitors who stayed for at least 10 seconds, traffic source, browser, device, and web-versus-app usage for the last 7, 30, or 90 days.

Anonymous visitors remain anonymous. When a signed-in visitor is an active member of the event's club, the organizer can see that member's name, visit time, number of opens, and recorded engagement duration only when the member's analytics preference permits it. Organizer previews are excluded, raw IP addresses and complete user-agent strings are not stored, identifiers are hashed, and records expire automatically.

Embedding public results

Event Settings is divided into Detail & Venue & Description, Whitelabeling, Features, Social Media, Integrations, Analytics, and Danger Zone. To publish standings on another website, first set the event visibility to Public, enable Show standings publicly under Features, then turn on Embed public results under Integrations. Save the event and copy the generated iframe code. Link-only, club-only, and private events cannot be embedded; changing a public event to another visibility automatically disables its embed.

In Event Settings, open Danger Zone and choose Delete Event. Confirm to permanently remove the event with its participants, teams, schedule and results. User profiles, club membership, account credits and payment confirmations are kept. Paid entries must have their refunds resolved first; open card checkouts and incomplete credit operations also block deletion. Unpaid entries without an open card checkout are cancelled automatically.

Event hero, relationships, documents, and gallery

🖼️
Events Page — Card View
Grid of event cards: cover image, sport icon, event name, status chip (Open/In Progress/…), date, participant count, club logo

Organizer Analysis Web

Open an event's Details tab as an organizer to find Organizer overview. Use this for operational follow-up; Stats answers sporting-performance questions.

IndicatorHow to use it
Lifecycle readinessCompleted checks across eight lifecycle steps. Review the remaining blockers even when the percentage is high.
Pending entriesRegistration requests that need an organizer decision.
Match exceptionsDistinct matches with timing, pairing, or unfinished-outcome issues.
Results to reviewSubmitted results and unresolved disputes awaiting review.
🖼️
Organizer Overview — Readiness and Follow-up
Four indicators, competition-journey and result-review charts, and actions linked to the affected competition. Fictional demonstration data.
  1. Read Competition journey and Result review status. Open View chart data for exact values.
  2. Follow the prioritized action into Participants, Drawsheet, Schedule, or Standings. Competition-specific actions select the affected competition.
  3. Resolve the issue in its existing workspace, return to Details, and refresh the overview.

Five follow-up rows are shown initially; expand the list for more. Open How these numbers are calculated for definitions. The overview describes saved event state, not app-error rates or confirmed attendance. An overdue match needs checking; it does not prove that play stopped. Different indicators may overlap, so do not add them into a single issue total.

Check the updated time. A dash means unavailable, not zero. If a refresh fails, the previous snapshot remains visible with a retry message.

Creating an Event

⚠️ Required subscription Creating events requires at least the Coach plan. Public event registration and payment processing requires the Club plan.

Step-by-step

  1. On the Events page, click "+ New Event".
  2. General tab: set event name, sport, start/end dates, venue (select from your venues or add new), cover image, and description.
  3. Hero position: after selecting artwork, adjust the focal point so the important subject remains visible in the short hero stripe.
  4. Visibility: choose Public (anyone can find it), Club-only (visible to club members), or Private (invite only). Event visibility does not automatically publish participant or team directories.
  5. Public directories: in Event Details, independently choose whether signed-out visitors can see Participants and Teams. Participant names can be anonymized with neutral aliases.
  6. Result embed: for a Public event with public standings enabled, open Settings → Integrations to enable a safe result-only iframe for another website.
  7. Competitions tab: add one or more competitions (e.g. Men's Singles, Women's Doubles). Each competition has its own format settings (see below).
  8. Registration: set registration dates on the competitions. If paid registration is needed, enable Use payments for this event in Event Details, then use the Payments tab for price, currency, capacity, waitlist, waiver, and refund settings.
  9. Click Save as Draft or Publish. Drafts are not visible publicly.

Guided Event Wizard

Create Event with Wizard is the beginner path. It creates the same normal event and competition as the advanced editor, but asks only for the information needed by the sport you select. Later choices react to earlier answers: competitor formats and playing schemes are limited to compatible options, resource labels adapt to the sport, and Golf requires a course with its available course data.

FieldWhat it controls
Event nameThe public title and the basis of the event's readable URL.
SportControls the supported competitor formats, playing schemes, scheduling resources, and sport-specific fields shown later.
Event dateThe calendar day on which the event starts. The precise start time is selected later.
LocationThe participant-facing venue or city. Selecting a Golf course fills this when it is still empty.
Organizing clubAssociates the event with a managed club and is required when registration is limited to club members.
Short descriptionA concise public explanation of the event. Detailed rules and documents can be added afterward.
Who competesChooses individual athletes or teams. Only structures supported by the selected sport are offered.
Playing schemeDefines how competitors are ordered or progress. The list reacts to both sport and individual/team selection.
Maximum participants or teamsThe planned registration capacity for the first competition.
Golf courseRequired for Golf. Stores the canonical course, course identifier, address, and initial tee information with the event and competition.
Playing resourcesThe number of simultaneous courts, pitches, lanes, routes, or playing areas available to scheduling.
Start timeThe event-day time used together with the selected date.
Estimated durationThe initial match, session, or round duration used by later scheduling tools. It can be fine-tuned afterward.
Who can joinStarts registration as public, club-member only, or invite only and sets matching event visibility defaults.

Event status lifecycle

StatusMeaning
DraftNot visible publicly; setup in progress
OpenVisible and accepting registrations
In ProgressEvent is currently running (scoring active)
CompletedEvent is over; results are final
CancelledEvent was cancelled
🖼️
Event Creation Wizard
Start the event creation wizard with the name, sport, date, and location.

Competitions & Formats

Each event can contain one or more Competitions (also called "draws" or "categories"). Every competition has its own format, seeding, and scheduling.

Event hierarchy

The event model is Event -> Competitions -> Rounds -> Results. An event is the public container with date, venue, registration, visibility, and club ownership. A competition is one contest inside that event, such as Men's Singles, Women's Stableford, Juniors 9 Holes, or Open Doubles. Rounds are the playing sessions or stages within a competition, and results are the submitted scores, times, distances, or match outcomes.

This structure lets one weekend event combine several independent contests while still producing separate competition leaderboards and an overall event view.

Ranking keys for season standings

A competition can have an optional Ranking key, such as Open, U18, or Masters. Use the same key on equivalent competitions in different events, even when their competition names differ. Ranking keys are compared without regard to capitalization, and one key can be used only once within the same event.

  1. Open an event and edit the relevant competition.
  2. Enter its optional Ranking key in Competition Details.
  3. Repeat the same key on the equivalent competition in every applicable season event.
  4. Open the season's Standings designer and select one or more of those Ranking keys.
Names and keys have different purposes The competition name is shown to participants and can be descriptive, such as “Junior Championship — Dubai”. The Ranking key is the short, stable organizer identifier that connects equivalent competitions across the season, such as “U18”.

Essential and advanced settings

Name remains visible because participants and organizers need it throughout setup. Stable organizer fields such as Ranking key, round tuning, and sport-specific configuration are grouped under Advanced settings in the Competition Details header. Competition Details, advanced rounds, sport settings, and Schedule use the same bordered section treatment.

Competition formats

FormatBest for
Single EliminationQuick knock-out tournaments
Double EliminationFairer knock-out with a losers bracket
Round RobinEveryone plays everyone; standings by points
Pool PlaySplit participants into smaller pools; everyone plays only the other competitors in their pool
Round Robin + PlayoffsQualifying league or pools followed by an elimination bracket
Best-of-SeriesEach pairing is decided over an odd-numbered series of games
StepladderLower seeds play first and each winner advances to meet the next seed
Time Trial / Individual RankingRank competitors by their own time, score, distance, or measured value
Hybrid / Multi-StageCombine ranking, pool, group, and knockout stages in one competition
Swiss SystemChess-style pairing; good for large fields
Group Stage + Knock-outLeague-style pools followed by elimination
Golf Stroke PlayCumulative score over 9 or 18 holes
Golf Match PlayHole-by-hole wins

Configuring advanced competition formats

Sport-specific settings

For certain sports, additional settings are available:

🖼️
Competition Settings Dialog
Competition details with registration controls, participant capacity, and status.

Drawsheet and Schedule

The event workspace separates the playing scheme, starting arrangements, and results. Use Drawsheet for formats and pairings, Schedule for when and where people play, and Standings for entering and presenting scores.

Creating or changing a draw

  1. Open Drawsheet and choose the competition.
  2. Use Generate draw or Redraw where available, then review the proposed playing scheme.
  3. If existing results are affected, review the warning before confirming. Changed matches and their dependent matches can lose results; unchanged matches retain theirs.

Applicable knockout competitions offer Brackets and List views. The list shows later rounds first. Drawsheet displays pairings without scores, winner styling, or match times. Ranking-only formats, such as golf stroke play, can use Schedule and Standings without a draw.

🖼️
Drawsheet

Setting starting arrangements

Open Schedule to manage start times and locations. Golf uses hole-based starting groups and tee times, including match play. Other supported formats offer match or round scheduling and venue assignment. When using Auto-Schedule, inspect the resulting assignments and run Check Conflicts before relying on the schedule.

Review results in Standings To inspect scores or open a match's result details, return to Standings. The Drawsheet view stays focused on the playing scheme.

Participants & Registration

Organizers manage the participant list for each competition from within the event detail.

Registration methods

Managing the list

Automatic and manual approval

In the competition settings, Automatic approval is the default. Choose Manual approval when an organizer must review applications first. Manual applicants see a pending state and join the participant list only after approval.

Organizers review Pending registration requests in Participants. After entering or leaving a competition, wait for confirmation and the refreshed participant state before taking another action.

On the web, Leave Competition opens a confirmation dialog. Cancel keeps your entry. Confirming shows progress until the entry and participant list refresh; a failed withdrawal stays open so you can retry.

Publishing participant and team directories

Public event visibility and public directory visibility are separate. An organizer controls the directories from Event Details with these settings:

SettingPublic effect
Show schedule publiclyMakes the schedule and starting arrangements visible to public visitors independently of the participant directory.
Show participants publiclyAdds a read-only Participants tab. Visitors can choose Participant Profile from a participant row's action menu to see the safe event profile and recorded results.
Show teams publiclyAdds a read-only Teams tab for team competitions. Visitors can choose Team Profile from a team row's action menu to see safe team details and publicly available roster information.
Anonymize public participant namesReplaces participant names with neutral labels such as “Participant 1” on signed-out event pages, standings, and public API responses.
Private by default New and existing events do not expose participant or team directories until the organizer enables the corresponding switch. Contact details, gender, birth date, body measurements, health information, credentials, account identifiers, and private metadata are never included in public event, Live, standings, summary, or directory responses.

The two directories are independent. For example, an organizer may publish team names and logos without publishing the participant list. Anonymization becomes available after the participant directory is enabled and does not affect the organizer's authenticated management view.

Event participant profile

Choose Participant Profile from the participant row's action menu. The row itself is not a navigation shortcut. The Participants tab stays highlighted; use Back to return to the list.

The profile combines competition entries, available personal statistics, and event results. Latest results appears in the right column on wider screens and includes permitted results from the organizing club and public events. Select a result to open its source event.

🖼️
Event Participant Profile — Performance and Recent Results
Compact profile sections, podium collection, and recent results alongside the athlete record. Fictional demonstration data.

Golf participants can view HI, Playing HCP, and tees where recorded. Withdrawn participants are muted and crossed out for organizers and the withdrawn person; other participants do not see those withdrawn entries.

🖼️
Participants Table
Real event participant directory with competition selector, search, pagination, avatar, country flag, first name, last name, and row actions

Event Registration & Payments

Payments are opt-in per event. When Use payments for this event is enabled in Event Details, a dedicated Payments tab appears. Participants use the tab to register, accept a waiver, pay, check waitlist status, and open receipts. Organizers use it to connect Stripe, configure registration, review totals, and issue refunds. Events that do not need commerce keep the tab hidden.

Quick path Open an event → Payments. Stripe checkout and onboarding return directly to this tab.

Organizer setup

  1. Open Event Details, enable Use payments for this event, and save the event.
  2. Open Payments and choose Connect Stripe. Complete Stripe's identity and payout onboarding.
  3. Choose the entry currency from the searchable list. Currency symbols and ISO codes are both shown, for example € EUR, $ USD, د.إ AED, and ¥ JPY.
  4. Set the entry price and optional paid-registration capacity. Amount precision follows the currency automatically, including zero-decimal and three-decimal currencies.
  5. Choose whether a full event should use a waitlist and whether participants must accept a versioned waiver.
  6. Add the participant-facing refund policy, enable event commerce, and click Save commerce settings.

Participant checkout

  1. Sign in, open the event's Payments tab, and review price, availability, waiver, and refund policy.
  2. Accept the waiver when required, then choose Register and pay.
  3. Complete Stripe Checkout. Compeetee returns to Payments, confirms the registration, adds the participant, and shows the receipt.

Refunds and reconciliation

The organizer view shows gross collected, refunds, organizer net, platform fees, Stripe fees, and waitlist count. Use Refund beside a registration for a full or partial refund. Payment records and receipts remain available after the event finishes.

Test before going live Complete the full workflow in Stripe test mode and reconcile every total before using live keys. Never place Stripe secret keys in the web-client environment.

Event Standings

Open an event and select Standings to view rankings, saved results, group tables, or elimination progress. Use the selector above the results to choose a competition or a configured standings table. Playing arrangements belong in Drawsheet; times and venues belong in Schedule.

🖼️
Event Standings
🖼️
Statistics

While a competition loads

A loading state appears while the selected competition is being fetched. A failed request is different from an empty competition: use the retry or refresh action before concluding that no results exist.

Filtering and profiles

Performance analysis and comparison

On mobile, statistics start with up to eight summary metrics; expand the overview to see all available measures. Tap a donut legend to highlight a scoring category, or tap a line-chart point to read its exact value. Charts use two columns on wider tablets, and long hole-by-hole charts scroll horizontally.

Open Stats to explore recorded sporting performance, then choose the competition and round when available. Summary figures and sport-specific charts reflect the fields actually recorded: golf can include scoring by hole and score category, while match sports use their available match, scoring, or player statistics.

  1. Choose comparison mode and select two athletes or two teams.
  2. Review which side leads in each recorded measure and the exact difference. Use Swap to reverse their positions.
  3. Check the sample counts and whether a figure is per match, per hole, or a rate before drawing a conclusion.

Missing observations remain unavailable. Shared team scorecards do not establish each golfer's individual strokes, so they are excluded from individual stroke comparisons. Leading in more measures is not an overall match verdict.

Pie and donut labels use contrast against their slice color in both themes. Small slices may omit an inline label to keep the chart readable; use the legend and chart details to identify categories.

🖼️
Event Stats — Recorded Performance
Compact sporting analysis with readable score-category charts. Fictional demonstration data.

Standings Designer

Organizers and roles allowed to manage competitions can open Standings Designer from the action bar inside Standings. It is kept beside the standings it configures instead of appearing as a separate event tab. Use Back to standings to review the resulting table. Read-only visitors and staff without competition-management permission do not see the designer action.

Default and custom standings Every competition has default standings based on its configured format, scoring method, and saved results. Seeing No custom standings configured yet — using the default does not mean standings are disabled or missing. Use Standings Designer only when you need an additional tailored table, such as a combined event ranking, a points table limited to selected competitions, best-results scoring, or a different aggregation and ordering rule.

Sport-specific event tools

The Event tools tab appears only to competition-managing roles and only when the selected competition has a relevant operational tool. Select a different competition and the available tool changes with its sport; events without a relevant tool do not show the tab.

Team tables and linked statistics

Team standings use one consistent leaderboard presentation across sports. Cross-result tables highlight the hovered team row and the matching opponent column so dense schedules are easier to follow. Team profiles can include statistics contributed by linked member results, not only results recorded directly against the team.

In editable golf standings, selecting a row keeps the table in inline score-entry mode. In read-only views, selecting a row continues to open the corresponding result details.

Handball standings

Handball competitions are team-only and use the standard 2 points for a win, 1 for a draw, and 0 for a loss. Group positions apply head-to-head tie-breaks before the remaining configured criteria, and position numbering restarts correctly inside each group. Use Overall Standings, Group Stage, Knockout, and Schedule to move through the tournament.

🖼️
Handball World Championship — Overall Standings
Competition selector, tournament-stage navigation, national-team flags, match record, goal difference, and points

Live Scoring

Once a competition is In Progress, scores can be entered in real time. The public Live page (/live) shows live leaderboards without requiring login.

Available on web and mobile Organizers can enter and update live results from the event's Live or Results area in the web application, or from the event's Live tab in the mobile app. Both surfaces save to the same event result and standings data.

Scoring coverage

Scoring layerSports and captured information
Racket scoringTennis, Padel, Pickleball, Badminton, Squash, and Table Tennis: set/game or point scores and match winner.
Team scoringSoccer/Football, Futsal, Handball, Basketball, Volleyball, Cricket, American Football, Baseball, Softball, Rugby, Field Hockey, Ice Hockey, Curling, and Esports: totals, period/set/inning/end/map breakdowns, and sport-specific statistics.
Timed eventsRunning/Athletics, Triathlon, Cycling, Swimming, Rowing, and Speed Skating: time, distance, discipline, heat/lane where relevant, and splits.
Combat scoringBoxing, MMA, Wrestling, Judo, Karate, Taekwondo, and Fencing: scores by round or period plus sport-specific actions and penalties.
Judged and strength scoringArchery, Gymnastics, Weightlifting, Powerlifting, and Skateboarding: attempts, components, deductions, and final score or total.
Winter and water scoringSkiing, Snowboarding, Figure Skating, Surfing, Windsurfing, and Sailing: times, run/wave/race scores, deductions, and penalties.
Specialized and flexible scoringGolf retains hole-by-hole scoring, Darts records sets and legs, and Generic accepts a primary score, time, distance, or custom result.

Entering a result

  1. In the draw sheet, click the match you want to score.
  2. Enter the score for each set/round in the scoring dialog.
  3. For a match sport, add one or more referee names when officials need to be retained with the result.
  4. Click Save. The bracket auto-advances the winner.
  5. Push notifications are sent to affected participants.

Completed public events open the same Match Center in read-only mode, so the official result remains visible while the score fields and Save action are disabled. Authorized organizers can edit those controls while scoring an active event.

Standings views

The event's Standings tab shows the current table for ranking, round-robin, and group stages, or bracket and match progress for elimination formats.

🖼️
Match Center — Score Entry Dialog
Match Center dialog with competitors, official result, score fields, extra-time and shootout controls, statistics and squad tabs, and Save action

Offline Scoring

Offline scoring is the organizer fallback for results collected on paper, from exported scorecards, or after a competition has finished. It is especially useful for golf events where hole-by-hole cards may be entered after the round.

  1. Open the event from the Events page.
  2. Go to the Leaderboard or results area.
  3. Select the competition you want to score.
  4. Enter the result values. For golf, HCP means the playing handicap for 18 holes.
  5. Save the scores and reload the leaderboard to verify rankings.
🖼️
Offline Scoring Flow
Open event, choose Leaderboard, pick competition, enter score rows, then reload standings to verify the ranking.

Clubs

Clubs Page

The Clubs page lets athletes discover and join clubs, and lets managers create and administer them.

Tabs

Filters & Search

Map view

Switch to the Map tab to see clubs plotted on a map. Click a pin to open the club's quick info card.

Joining a club

  1. Find the club using search or the map.
  2. Click the club card to open its detail.
  3. Click "Request Membership" (for clubs with approval) or "Join" (for open clubs).
  4. The club manager receives a notification and approves/rejects the request.

A shared public club link uses /c/{club-slug}, not the signed-in management route. Signed-out visitors can browse the public identity, genuine photos, and public events. If they choose Join Club, Compeetee preserves the join intent through authentication and returns them to the public profile to complete the existing membership request.

🖼️
Clubs Page — Card View
Club cards with logo, name, sport badges, member count, location chip, and Join/★ buttons. Search bar and sport filter at top.

Club Visibility

Club visibility controls whether the club appears in discovery and who can open its profile. Managers can change this later from Club Settings.

VisibilityDirectory listingWho can view
PublicListed in the Clubs directoryAnyone can open the public club profile
LinkHidden from the Clubs directoryAnyone who has the direct club link
PrivateHidden from the Clubs directoryThe owner, managers, and club members
Tip: Choose Link when you want to share a club privately with a known audience without listing it publicly. Choose Private for member-only access.
Member information is separate from club visibility A public or link-visible club page does not publish its member records. Club detail responses use only minimal identity summaries. Email, gender, birth date, health notes, emergency contacts, custom registration values, and payment references are available only in the permission-aware member workflow and according to the athlete's profile-sharing choice. If no profile-sharing choice has been saved, Compeetee treats it as Private.

Club Detail

Clicking a club card opens its full detail page with multiple tabs.

TabWhat's here
DetailsClub profile and contacts, participation and return analysis for authorized managers, upcoming events, and recent activity
NewsPublished club articles and updates; members can control new-post notifications
EventsEvents organized by or associated with the club, including events connected through one of the club's seasons
MembersMember list with roles, join dates, credit balances, and management actions
TeamsTeams within the club; assign athletes and manage squads
Practice GroupsCoach-led practice groups for training sessions
DocumentsUploaded files (rulebooks, schedules, forms)
SettingsClub name, logo, contacts, visibility — manager only

Details tab

The Details tab combines club information with Participation and return for authorized managers. The overview follows current active athlete members through their event entries and recorded results. Staff need both member- and event-management permission to see it. Recent Activity keeps its own period filter; that filter does not change the analysis window.

Club managers can select hero artwork and its focal point. Public club pages load the identity first, then fetch bounded event and gallery projections separately so a large media library does not delay the whole page.

Public club events and photos

🖼️
Club Profile

List all events expands the public event list in place and never enters the private /clubs/... route. Each event keeps its real teaser when available and otherwise uses the sport icon. Photo grids exclude generic fallback images; click a photo to open a cached higher-resolution rendition. On hover, a link action appears only when the source event is public.

The Recent Activity heading shows the number of matching entries followed by the selected period, for example 172 items · Last 12 months. When a member joins, their visible profile name is included in the entry, for example New member joined — Ondrej Strnad. If the member name is unavailable or not visible to the current viewer, the entry remains New member joined. Use Load more to reveal older entries.

Participation and return Web

Read the four headline figures together: current active athlete members, unique members entering events, repeat entry rate, and 90-day return rate.

🖼️
Club Analysis — Participation and Return
Member-entry and return indicators, monthly participation, frequency, and focused follow-up actions. Fictional demonstration data.

Use View chart data to inspect counts, and How these numbers are calculated to review exclusions. Charts cover 12 calendar months through today in UTC; the current month is partial. Current membership is not a historical census, and registration is not confirmed attendance.

Follow Open Standings to check missing results, Member Club Profile to review a member's participation, or Review Events to consider the programme. These are review shortcuts; the overview does not send messages automatically.

Events tab

🖼️
Club Detail — Events Tab
List of events organized by this club with sport, date, status, and participant count

Members tab

To change a member's tags, click their Tags cell, search, and select multiple options. Search and duplicate matching ignore capitalization. Close the dropdown to save; press Escape to discard the current edit. Editing requires access to member Settings.

Tag choices are shared within the club, including tags and practice levels used by external athletes. Removing an inherited tag from a member's cell hides it for that member without changing the group's enrollment level.

Managers can review External athlete conversion in the club overview. It counts distinct external identities retained in practice-group rosters, including archived groups, and shows how many are linked to memberships. Removed records are excluded. Separately created external records for the same person can be counted more than once, so this is a roster-based measure rather than a complete historical conversion rate.

🖼️
Club Detail — Members Tab
Member list showing roles (Manager / Coach / Athlete), join date, and management actions

Teams tab

🖼️
Club Detail — Teams Tab
Team cards with name, sport, and athlete count; create new teams or manage existing ones

Practice Groups tab

🖼️
Club Detail — Practice Groups Tab
Practice groups within the club with category, coach, and schedule

Documents tab

Club documents remain the central library for organization-wide files. Event-specific public/private files belong in the event's own Documents tab.

🖼️
Club Detail — Documents Tab
Uploaded club documents: rulebooks, schedules, and registration forms

Settings tab

Open Settings → Branding to enable white labeling. The brand name, logo, primary color, secondary color, and cover are used on the public club presentation; the cover also appears on the member club page. Colors can be typed as CSS color values or chosen visually with the color picker. These settings do not replace the global Compeetee application shell.

Reusable club banners

Each club has three reusable banner slots. Give a slot a recognizable name, select an image from the Media Library, then resize it or rotate it in 90-degree steps. Video and document files cannot be used as banners. You can remove a slot image without deleting the original file. These adjustments change only how the banner is presented; they do not modify the original Media Library file.

Event settings show a separate preview for each enabled Hero, Live, and Reports placement. Only the placements you enable are published: for example, a reports-only banner is not sent to anonymous Hero or Live viewers. Private Media Library files must belong to you or be explicitly shared with you before they can be selected.

Custom domains are not available yet. The custom-domain field is shown read-only so saved planning information remains visible, but Compeetee does not currently perform domain ownership verification, DNS setup, or TLS certificate provisioning. Continue using the standard Compeetee public URL.
🖼️
Club Detail — Settings Tab
Club settings with sport selection and separate sections for staff and event responsibilities.

Club News

The News tab appears immediately after Details. Managers, administrators, and Staff with announcement permission use its compact toolbar to create, edit, publish, or remove rich news articles. Drafts remain visible only to permitted editors; published posts appear on the member and public club pages.

  1. Open the club and select News.
  2. Select Write post in the toolbar.
  3. Add a title, introduction, formatted article content, tags, and an optional cover image.
  4. Save a draft for later review or publish it immediately.

New-post notifications

Active club members are subscribed to new club-post notifications by default. Use Notify me about new club posts in the News toolbar to opt out or subscribe again for that club. A notification is sent only when a post first becomes published, not whenever an already-published article is edited. The author, inactive members, and members who opted out are excluded.

Web notifications open the club's News tab. Mobile notifications open the read-only Club News screen, where members can also change the same subscription. Blog creation and editing remain web-only; mobile supports reading published articles.

Staff Role Permissions

Club owners and managers can delegate selected day-to-day work to members who have the Staff role. Open the club's Settings tab, select Staff, change the required switches, and save the club. These are club-wide role settings: a switch affects every active member who relies on the Staff role; it is not an individual-user assignment.

Giving someone the Staff role and granting Staff permissions are separate actions. The role identifies the member as Staff, while these switches decide what Staff may change. Owners, Managers, and system administrators use their own higher-level access. Turning a permission off does not delete events, participants, scores, members, teams, announcements, or documents; it removes the delegated controls and causes protected requests to be rejected when access is checked again.

Event access has deliberate dependencies Manage club events is the base permission for maintaining an existing club event. Without it, Staff cannot add or edit event participants and receive only the event's permitted read-only view. If that event also has Show participants publicly turned off, its participant directory is not returned to them. Publishing the directory would provide a safe read-only view; it would still not allow Staff to add participants.

Events, competitions & results

SettingWhen enabledWhen disabled or dependent behavior
Create club events Staff can start a new event for this club from the club's Events area, provided the club plan and event quota allow it. The creator becomes the event owner and can continue managing that event. The add-event and assisted-creation controls are unavailable to Staff. This does not control existing events; use Manage club events for those.
Manage club events Staff receive write access to existing events belonging to the club. This includes event details and settings, the complete participant roster, adding/editing/removing participants, pinning events, and other protected event changes. Staff see only the event information available to a non-editor and cannot add participants or save event changes. Private participant/team directories remain hidden unless their event-level public visibility switch exposes a safe read-only version.
Create & manage competitions Staff can open competition administration and create or maintain competition definitions, schedules, draws, and competition tools inside an event. This permission depends on Manage club events. Enabling it alone does not make the event writable or expose competition administration.
Fill in scores Staff can enter and update competition scores through the scoring surfaces without receiving general event administration rights. Staff cannot submit score changes. This switch does not grant event editing, competition setup, participant management, or permission to correct an already-submitted official result; correction uses stricter organizer access.

Members & membership

SettingWhen enabledWhen disabled or dependent behavior
Add members Staff can invite or add new club members and work with new-member entries. Staff cannot create or invite member records. Existing-member maintenance remains controlled by Manage members.
Manage members Staff can maintain existing member details, tags, and membership states. Coaches and Staff with this permission can promote waiting members to Athletes; assigning Staff, Coach, or Manager roles requires a manager or administrator. Existing roster administration is read-only. This does not grant permission to add new members or handle membership payment requests.
Handle membership payments Staff can review and confirm or reject submitted membership payment requests. Coaches and Staff with this permission also see the member profile's Payments tab for practice terms and payment records. Payment decisions remain with club owners, Managers, and administrators. This permission does not grant broader finance, invoice, credit-balance, or Shop access.

Teams, communication & documents

SettingWhen enabledWhen disabled or dependent behavior
Add teams Staff can create new club teams. They can also add teams inside an existing event when Manage club events is enabled. Staff cannot create teams. It does not grant editing or deletion of existing teams.
Manage teams Staff can edit existing club teams, maintain their rosters, and delete them. Event-team maintenance also requires Manage club events. Existing teams are read-only. It does not grant creation of a new team.
Post announcements Staff can publish announcements to club members. Staff cannot publish club announcements. Coach and Manager roles retain the announcement rights defined for those roles.
Manage documents Staff can upload and remove documents in the club document library. The library remains read-only to Staff. This does not control event-specific documents, which follow event access.

Defaults and recommended setup

For newly normalized club settings, Add members and Manage members default to enabled for Staff; the other permissions default to disabled. Always review the saved settings rather than relying on defaults, especially for an older club.

Staff Shop permissions

Shop access is configured separately in Settings → Shop and appears only when the Shop is enabled. The club must also have an active Shop add-on. Staff can be granted access to Shop administration, products, categories, product media, inventory, promotions, orders, reports, Shop settings, and invoice information independently. Granting one Shop capability does not imply the others, and none of the general Staff switches above grants Shop access.

Use least privilege Enable only the tasks a Staff member is expected to perform. After changing permissions, ask the affected user to refresh the club or event. If a control is still missing, confirm that the member is active, has the Staff role in this club, the required parent permission is enabled, and any plan or feature entitlement is active.

Members & Roles

Managers manage club membership from the Members tab of the club detail page.

Inviting a member

  1. Click "Invite Member".
  2. Enter the email address. If the user already has a Compeetee account, they receive an in-app notification; otherwise, an email invitation is sent.
  3. Set the initial role (Athlete / Coach / Manager).
  4. The invited user appears in Pending Members until they accept.

Member profiles and podium badges

Open a member's profile to review their club identity and available sporting record. The header shows up to five recent podium badges beside the name. Expand to see the complete available collection, hover or focus a badge for its event and competition details, and select it to open the source standings.

The daily badge update saves the member's best top-three finish per organizing-club event, using final competition standings and that competition's scoring format. Stableford, stroke play, match play, and team results must be read in their own format; a low gross score alone does not establish a Stableford winner. New or corrected awards may appear after the next daily update.

Changing a member's role

Click the role chip next to a member's name and select the new role from the dropdown.

Membership payments

If the club has set up membership fees, each member's payment status is shown alongside their name. Managers can manually mark a payment as received or send a payment reminder.

Member credit balances

Each club member can have a separate credit balance for club fees and shop purchases. From the member actions menu, a manager can choose Adjust credit, enter the amount and reason, and review the resulting balance before saving.

Every adjustment is kept in the member's permanent credit history with its date, operator, reason, and resulting balance. To correct an earlier entry, use its Create contra action. The contra transaction links back to the original adjustment and reverses its value without deleting financial history.

Corrections are additive Credit transactions cannot be removed. Always create a linked contra transaction, then add the correct adjustment if one is still required.
💡 Club quota The Club plan includes up to 100 athletes and 3 sponsored Coach workspace seats. Use add-ons to expand (see Billing & Plans).

Bulk Roster Import/Export

Clubs can onboard existing member lists with CSV or Excel import and export the current roster for review, reconciliation, or offline administration.

  1. Go to Admin -> Data Import.
  2. Select Club Members as the target and choose the club.
  3. Upload a CSV/XLSX file and map columns such as name, email, gender, and birth date.
  4. Review the import preview and start the import.
  5. Check the summary for added, updated, skipped, and error rows.
  6. Use export to download the live roster as CSV when you need an external copy.
Data hygiene Keep one email per member whenever possible. Duplicate members can create confusing event participant links and should be merged before major events.

Reservations

Clubs can define bookable resources (courts, lanes, meeting rooms) and allow members to reserve time slots.

Setting up resources

  1. Go to Club Settings → Resources.
  2. Click "+ Add Resource" (e.g. "Court 1", "Pool Lane 3").
  3. Set availability hours and booking rules (max advance booking, slot duration).
  4. Save.

Booking a slot (member view)

  1. Navigate to Clubs → [Your Club] → Reservations.
  2. Select a resource from the left panel.
  3. Click an empty time slot on the calendar.
  4. Confirm the booking in the dialog.

Members can cancel their own bookings up to the club's configured cancellation deadline.

🖼️
Club Reservations — Calendar View
Weekly calendar grid with resource columns (Court 1, Court 2, …), booked slots shown in brand color, empty slots available for clicking

Club Communication

Managers and coaches can post Announcements to the club. All club members see the announcements on the club detail page and receive a push notification.

Every announcement displays its author and sent time. The author can delete their own announcement, while people with access can add notes or comments using the same shared comment flow used elsewhere in Compeetee.

For direct messaging between users, use the Notifications / Messages section in the main navigation.

Incoming and sent messages can be moved to Deleted. They remain recoverable there for seven days, then are permanently removed. Deleting a message affects your mailbox view and does not silently erase another participant's copy.

🖼️
Club Announcements Tab
Post cards with author avatar, timestamp, announcement text, attached media thumbnails, and comment thread

Club Automations

Club and federation workflows can be connected to external tools through integrations and the public API. Typical automation targets are Slack, Zapier, Make, billing exports, public dashboards, and club websites.

API keys require a Club or Federation plan and should be rotated when staff access changes.

Rankings

ELO Rankings

Compeetee maintains an ELO-based rating for every player per sport (and optionally per club). The default starting rating is 1 000. Ratings change after every matched result.

How ELO changes are calculated

Manual adjustments (organizers)

Organizers can make a manual rating adjustment (e.g. to seed a guest player correctly for a tournament) via PATCH /api/v1/rankings/manual. This requires organizer or admin role.

Leaderboards

Leaderboards are available per sport, and optionally scoped to a club. The top-N players (default 20) are shown with their current rating, win/loss record, and rating trend.

🖼️
Leaderboard — Tennis (Club-scoped)
Ranked list with rank badge, player avatar, name, current ELO, +/- change chip, and win record

Account

Sign Up & Login

Email / password sign-up

  1. Click "Sign Up" on the homepage.
  2. Enter your name, email, and choose a password (min 8 characters).
  3. Check your email for a verification link and click it to activate your account.
  4. You are now logged in as a Player (free tier).

Google OAuth

Click "Sign in with Google" for one-click authentication. No password setup required. Google accounts are linked to your Compeetee account on first use.

Authentication activity Successful sign-ups, sign-ins, password changes, and completed password resets record their time, authentication method, and device/browser summary for administrator security review. Reset requests that are not completed are not recorded as password-reset events. Raw IP addresses are not retained in this activity log, and account deletion anonymizes the related identity.

Password reset

  1. On the login page, click "Forgot Password".
  2. Enter your email. A reset link is sent.
  3. Click the link and enter a new password.

Changing your password

Open Settings → Account → Change Password, verify the current password when requested, and enter the new password twice. Existing invalid or expired links fail safely and provide a recovery path instead of changing the account.

Deleting your account

Irreversible anonymization Delete My Account starts a dedicated confirmation flow. After confirmation, personal identity is anonymized in a non-revertible operation while competition and financial records that must retain structural integrity are detached from the original identity. This action cannot be undone.

Managed accounts (family)

Parents can create managed child accounts (e.g. for junior athletes) that share the parent's email address. Managed accounts appear in the account switcher at login.

🖼️
Login Page
Email + password form, "Sign in with Google" button, and "Forgot Password" link

Settings

First Day of Week in Settings controls Monday or Sunday starts in calendars and date pickers on web and mobile. Coaching schedules, training report calendars and weekly analytics filters follow this preference too.

Open Settings from the user avatar menu (top right). The settings page is divided into tabs:

TabWhat you can change
ProfileName, profile photo, bio, date of birth, preferred sports
AccountEmail address, password change, connected Google account, account deletion
NotificationsToggle push notifications by category (events, sessions, messages)
PrivacyProfile visibility (public / club-only / private), feed visibility
BillingCurrent plan, payment method, subscription management (see below)

Time and athlete preferences

Time Format offers 12-hour, 24-hour, and Device default. Timezone offers a selected timezone or Device default. These preferences change displayed timestamps, not stored scores, calendar-only dates, or sporting durations.

Athlete list offers All my clubs by default, Selected club, or My fellow athletes. This saved preference applies to supported personal-result athlete selectors on web and mobile; it does not change event rosters.

Administrator impersonation

Administrators can test the application as another person from Settings → Admin → User Impersonation. Select an active account; the switch starts immediately and opens that person's dashboard. Compeetee keeps the administrator's authenticated session for recovery, but the selected person's identity, subscription, roles, club memberships, and permissions become effective for application pages and API requests.

Impersonation is an access test, not an access override If the selected Staff member cannot see or change something, verify their club role, Staff permission switches, event visibility, and subscription entitlements. Switch back to the administrator account before changing those permissions.

Primary and managed child accounts

A managed child created under a primary account uses the same email address as the primary account. Each account has its own password, and the combination of that shared email plus the entered password determines exactly which account opens. The child does not need a separate email inbox.

Why passwords must be different When several accounts share one email, a reused password would make the requested account ambiguous. Compeetee rejects the duplicate, and an older ambiguous credential pair fails closed instead of signing in to whichever account the database returns first.

Billing & Plans

Subscriptions are managed via Stripe. All payments are handled by Stripe — Compeetee never stores raw card data.

Plan progression Paid plans are cumulative: Athlete includes Player, Organizer includes Athlete, Coach includes Organizer, Club includes Coach, and Federation includes Club. Limits are applied from the active plan plus any purchased add-ons.
Up to three sponsored Coach workspace seats are included Active club members assigned the Coach role receive Coach workspace access while they occupy one of the Club plan's 3 sponsored seats. Federation plans raise this limit to 5 sponsored seats per club. The +3 Coach Seats add-on expands both the sponsored workspace entitlement and the club coach roster limit. Removing the Coach role or ending the sponsoring Club licence removes that sponsored access.

Upgrading your plan

  1. Go to Settings → Billing or navigate to /plans.
  2. Click "Upgrade" on the desired plan.
  3. Complete checkout in the secure Stripe Checkout flow.
  4. Your plan upgrades immediately; the new features are unlocked without a page reload.

Available add-ons

Add-onWhat it gives youPrice
Extra Club Slot+1 club (base = 1)$49 / month
+3 Coach SeatsAdd 3 sponsored Coach workspaces and raise the club coach roster limit by 3$29 / month
+100 AthletesRaise per-club athlete cap by 100$19 / month
+15 Events / YearAdd 15 more events to annual allowance$15 / month
+500 MB StorageIncrease the media-storage allowance by 500 MB$5 / month
+100 AI Coach PromptsAdd 100 AI Coach and AI Insights prompts each month$9 / month
+5 Managed AccountsAdd five linked family or child accounts$9 / month
ResponseDockSurvey integration for Athlete, Organizer, and Coach plans$25 / month
ShopClub storefront, inventory, checkout, invoicing, and sales reports$49 / month
API LicenceUnlock licensed integrations, external score-submission settings, and the private API documentation$29 / month

API Licence and external scoring

The API Licence is a per-user add-on for organizers who connect a timing, scoring, or event-management system to Compeetee. It can be purchased on any plan and remains attached to the purchasing account while the subscription is active.

Buy the licence

  1. Open Billing & Plans and scroll to Add-ons. A locked integration also takes you directly to the highlighted API Licence card.
  2. Select Buy with Stripe and confirm the recurring subscription in Stripe Checkout.
  3. Return to Compeetee after payment. The licence is activated from Stripe's verified payment confirmation; refresh your session if an already-open page has not updated yet.
  4. Use the Stripe billing portal to manage or cancel the subscription. Access remains available through the paid billing period.

Configure an event

  1. Open the event and go to Settings → Integrations.
  2. Make the event public, then enable External score submission. Private events cannot accept scores from an external integration.
  3. Choose the submission mode. Manual approval is the default: incoming scores wait for organizer review and do not affect published standings. Use Automatic approval only for a trusted live-scoring integration that must update standings without individual review.
  4. Save the event settings. You can change the review mode during the event if operational needs change.
External score ingestion is being completed The licence, sport-specific score contracts, validation tools, and event controls are available. The production write endpoint for third-party score submission is not yet exposed, so do not depend on it for a live event until the API documentation marks it as available.
Technical documentation stays separate Licensed users can open the separate API Docs from their account navigation or from Event Integrations. That private page contains authentication, participant and round index export, score shapes, validation rules, and integration examples. These implementation details are intentionally not duplicated in this user guide. Open API Docs

Coach free trial

New Coach-tier subscriptions receive a 30-day free trial. No credit card required to start the trial. At the end of the trial period you are prompted to choose a paid plan or downgrade to Player.

✅ Cancellation You can cancel at any time from Settings → Billing. Your plan stays active until the end of the billing period.

Tools & Utilities

Tools Overview

The Tools page (/tools) is a compact searchable launcher for practical competition preparation. Event Operations contains event-day generators, while Golf Utilities keeps course and round-preparation tools together.

ToolDescriptionAccess
Bib Designer Design reusable participant bibs on a visual surface with movable data placeholders, media, required Compeetee branding, and an optional public-event QR code Event organizers and permitted staff
Golf Courses Browse, search, and manage golf courses and venues with map view and hole-by-hole detail Any subscription
Golf Playing Handicap Calculator Calculate your WHS playing handicap for a specific course and tee Any subscription
Golf Scorecard Generator Generate and print a blank scorecard template for 9 or 18 holes Any subscription
Starting List Generator Build a timed starting list with courts/pitches and participant assignments; export as PDF Any subscription

Use the search bar inside the header to filter tools by name or task. The whole compact card opens its tool.

🖼️
Tools Page
Compact premium launcher grouped into Event Operations and Golf Utilities, with a search field inside the page header

Bib Designer

Open Tools → Bib Designer, then choose an event and competition you may edit. The chooser lists Running/Athletics, Triathlon, Cycling, Rowing, Skiing, Snowboarding, and Speed Skating competitions and opens the existing event-scoped designer.

  1. Choose the editable event and race competition.
  2. Select A4 or A5 and an event-artwork, sport-color, or clean background.
  3. Drag the event, competition, participant, number, date, and public-event QR placeholders to the required positions. Select an item to resize, rotate, send backward, bring forward, or remove it.
  4. Use Place media to add sponsor marks, club logos, or artwork from the Media Library. Add several media items when the bib needs more than one logo. The Compeetee logo and name are fixed on every template.
  5. Preview different participants to verify the replacement values, set the starting number for participants without an assigned bib, then generate and print one personalized page per participant.

Golf Courses & Venues

The Golf Courses page is an explorer for the OpenGC community-maintained course database used by Compeetee. It is accessible from Tools → Golf Courses or directly at /golfcourses.

View modes

ModeDescription
Cards (default)OpenGC course cards with location and available tee sets
ListCompact OpenGC result table
MapA geographically scattered sample of OpenGC courses in the visible area; the map refreshes shortly after you pan or zoom

Filters

Filter by country or name search; results update instantly.

Course detail

Click any course to view: name, address, number of holes, par, course rating (CR), slope rating, available tees, and associated venue metadata. Organizers can link a course to an event during event creation.

Adding or correcting a course

OpenGC is the authoritative source. Use Visit OpenGC to add a missing club or course, upload a scorecard, or correct existing data. Approved OpenGC updates become available in Compeetee automatically.

🖼️
OpenGC.net
The public, community-powered source used by Compeetee for golf clubs, courses, tees, holes, and scorecards
🖼️
Golf Courses — Explorer Mode
OpenGC course search with Cards/List/Map views and a contribution link for missing courses or scorecards

ResponseDock Surveys

ResponseDock provides the professional survey workspace behind club questionnaires. A club manager connects the club workspace once, creates surveys in the embedded Compeetee-themed experience, and publishes them to the appropriate member audience. Compeetee keeps the club identity and access context while ResponseDock handles the survey workflow and responses.

Open the club's Integrations area to connect or review the workspace. Keep the private connection key restricted to authorized club managers.

🖼️
ResponseDock.com
The integrated questionnaire and survey-intelligence platform

Golf Scorecard Generator

Generates a ready-to-print blank scorecard. Open from Tools → Golf Scorecard Generator.

  1. Select 9 holes or 18 holes.
  2. Optionally enter the course name and date for the header.
  3. Click "Generate" — a print-optimised scorecard opens in a new tab.
  4. Use Cmd/Ctrl + P to print or save as PDF.

Starting List Generator

Builds a timed starting-order document for golf, athletics, or any sport where participants go off in ordered slots. Open from Tools → Starting List Generator.

  1. Set a start time and slot interval (minutes between starts).
  2. Set the number of courts / tees / pitches available per slot.
  3. Add participants from the search box (pulls from your athlete/member list).
  4. Reorder or remove entries by dragging.
  5. Click "Export PDF" to download a print-ready document.

Golf Playing Handicap Calculator

Calculates your playing handicap for a specific course and tee using the WHS formula. Open from Tools → Golf Playing Handicap Calculator.

  1. Select a course from your golf course database (or search OpenGC).
  2. Select the tee (e.g. White, Yellow, Red).
  3. Enter your Handicap Index.
  4. Click "Calculate" — your playing handicap for that tee is shown instantly.

Integration Monitor

Platform administrators inspect connectors, run history, failures, and retries from Admin → Operations → Integration Monitor or /admin/integration-monitor. The monitor loads connectors across all owners, summarizes enabled, failing, and never-run connections, and provides filters for owner, provider, and health. Open a connector's action menu to inspect its latest 20 runs, test it, rerun its provider operation, disable it, or remove it.

Configuration remains with its owner: personal Strava and Garmin connections belong to User Settings → Connected Apps, while club and federation automation belongs to the corresponding organization administration workspace. The Admin page is an operational monitor, not a connector-creation form.

Supported providers

ProviderStatusWhat it does
Google CalendarLimitedPrepare club event calendar payloads for an HTTPS webhook; direct Google Calendar OAuth and two-way synchronization are not yet implemented
StripeLimitedGenerate a spreadsheet-safe CSV-style export from club event payment fields; it does not create or update Stripe objects
ZapierLimitedSend supported club integration events to a Zapier HTTPS webhook; only roster-import completion is currently emitted automatically
Generic WebhookLimitedPOST supported club integration events to an HTTPS endpoint; only roster-import completion is currently emitted automatically
SlackLimitedPost supported club integration events to a Slack incoming webhook; only roster-import completion is currently emitted automatically
Make (Integromat)LimitedSend supported club integration events to a Make HTTPS webhook; only roster-import completion is currently emitted automatically
StravaRoadmapPlanned personal connection for browsing a Strava activity library, identifying previously imported activities, and selectively importing activities as personal results
GarminRoadmapPlanned personal connection for browsing a Garmin activity library, identifying previously imported activities, and selectively importing activities as personal results

Monitoring and responding

  1. Review the compact health counters to spot failing or never-run connectors.
  2. Search by connector, owner ID, provider, or last-run message, or narrow the table with the owner, provider, and health filters.
  3. Open the first-column action menu and choose View run history to inspect timestamps, actions, attempts, statuses, and messages.
  4. Use Test connector, Sync calendar now, or Export payments now where appropriate. Provider-specific actions appear only for compatible connectors.
  5. Disable an unhealthy connector while investigating it. Deletion requires explicit confirmation.

Strava and Garmin roadmap

Not currently available in production Strava and Garmin are roadmap integrations. The screens and server foundations may appear in development builds, but customers should not rely on them until provider onboarding, production credentials, compliance review, and end-to-end validation are complete. The steps below document the intended workflow and deployment preparation, not a currently supported production feature.

Planned deployment preparation

This is a one-time deployment task for the Compeetee server administrator. Users do not create or enter developer credentials. Register Compeetee as an OAuth application with each provider and configure a separate application or approved redirect URI for every deployment environment.

ProviderRequired server configurationPurpose
Strava STRAVA_CLIENT_ID, STRAVA_CLIENT_SECRET, STRAVA_REDIRECT_URI Identifies the Compeetee application and returns the user to /api/v1/integrations/strava/callback after authorization
Garmin GARMIN_CLIENT_ID, GARMIN_CLIENT_SECRET, GARMIN_REDIRECT_URI, GARMIN_AUTH_URL, GARMIN_TOKEN_URL, GARMIN_ACTIVITIES_URL Identifies the Compeetee application and configures the approved Garmin partner endpoints and callback
Application credentials versus user access The client ID and client secret identify Compeetee and remain only on the server. Every athlete or coach authorizes their own provider account. Compeetee then stores a separate encrypted access token and refresh token for that user; provider passwords and server application secrets are never sent to the web or mobile app.

Planned Strava connection on the web

  1. Sign in to the Compeetee account that should own the imported activities.
  2. Open your profile menu, choose Settings, and remain on the System tab.
  3. Find Strava Integration and select Connect Strava. Compeetee creates your personal connection automatically if this is the first time.
  4. In the Strava authorization window, sign in to the correct Strava account, review the requested activity-read permission, and approve access.
  5. After the confirmation appears, close the authorization window and return to Settings. The card changes to Strava account connected.
  6. Select Choose Activities to open your Strava activity library.

Planned Strava connection on mobile

  1. Sign in to Compeetee and open Integrations from the Home screen.
  2. On the Strava card, select Connect.
  3. Complete the Strava sign-in and authorization in the secure browser window.
  4. Return to Compeetee. The Strava card displays Connected.
  5. Select Choose activities to review and import activities. Use Reconnect if access was revoked or the connection belongs to the wrong Strava account.

Planned Garmin connection on the web

  1. Sign in to the Compeetee account that should own the imported activities.
  2. Open your profile menu, choose Settings, and remain on the System tab.
  3. Find Garmin Integration and select Connect Garmin. Compeetee creates your personal connection automatically if needed.
  4. In the Garmin authorization window, sign in to the correct Garmin account, review the requested activity permission, and approve access.
  5. After the confirmation appears, close the authorization window and return to Settings. The card changes to Garmin account connected.
  6. Select Choose Activities to open your Garmin activity library.

Planned Garmin connection on mobile

  1. Sign in to Compeetee and open Integrations from the Home screen.
  2. On the Garmin card, select Connect.
  3. Complete the Garmin sign-in and authorization in the secure browser window.
  4. Return to Compeetee. The Garmin card displays Connected.
  5. Select Choose activities to review and import activities. Use Reconnect if the authorization expires, is revoked, or belongs to the wrong Garmin account.

Planned activity selection and import

  1. Open Choose Activities. The library shows activities returned by the connected account, including running, cycling, walking, hiking, swimming, paddling, winter, wheelchair, and other activity types.
  2. Review the activity name, date, type, duration, distance, and import status. Load another page when older activities are required.
  3. Activities already stored in Compeetee display Imported and cannot be selected again from the picker.
  4. Select one or more new activities, up to 100 in one operation, and choose Import selected.
  5. Wait for the completion message. The imported activities become personal athletics results belonging to the connected Compeetee user.
  6. Open Results or Personal Analytics to review them. Available distance, duration, speed, elevation, heart rate, cadence, power, energy, temperature, device, steps, wheelchair pushes, location, privacy, effort, and route information is retained; fields not supplied by the provider are omitted.

Planned connection rules and troubleshooting

🖼️
Integration Operations
Left panel: integration creation form (owner type, owner ID, provider, label, webhook URL). Right panel: active integrations list with Test/Run/Delete actions. Bottom: run-log table with timestamps, status chips, and payload previews.

AI & Integrations

AI Coach

Available

The AI Virtual Coach is a conversational assistant powered by your own performance data. It analyses results, attendance, and training history within a chosen period and answers natural-language questions about sport progress. Open /ai-coach from the Training section. Athletes can review up to three months of context; coaches can work with up to twelve months and include their own guidance in the conversation.

Time period selector

OptionCovers
This weekCurrent calendar week (Mon–Sun)
This monthCurrent calendar month
This yearCurrent calendar year
Last week / month / yearThe immediately preceding period

Suggested questions

One-click prompt chips to get started quickly:

You can also type any free-form question in the chat input and press Enter or the send button.

Conversation memory

Follow-up questions use the earlier messages in the selected conversation. Compeetee saves every successful exchange automatically and restores the most recently used conversation when you return. Use Conversation history to reopen an earlier thread, or New session to begin a separate discussion without deleting previous advice. Each saved conversation retains its sport, data period, and coach-guidance choice.

For a useful plan recommendation, select Create a plan directly below the AI Coach reply. The Individual Plan generator opens with the complete recommendation and selected sport already filled in for review.

⚠️ AI guidance boundaries The assistant uses permitted results, events, training context, and optional coach guidance for the selected sport and period. Responses are suggestions, can be incomplete, and should be reviewed by a coach; prompt quotas also apply.
🖼️
AI Virtual Coach
Chat interface: period selector dropdown at top, suggested-question chips below, message bubbles (user right / AI assistant left with robot avatar), typing indicator while AI responds

Integrations

The Integrations page (/integrations) shows all available third-party connectors with their current status and planned roadmap. It is publicly accessible without signing in.

ConnectorStatusDescription
Google Calendar sync Limited Prepare club event calendar payloads for an HTTPS webhook. Direct Google Calendar OAuth, conflict handling, and two-way synchronization are not yet implemented.
Stripe export & Zapier flow Limited Generate a spreadsheet-safe CSV export and send the currently supported webhook events. Production payout, invoice, and CRM templates are not yet implemented.
SSO — Google Workspace & Microsoft Planned Single sign-on for organizations managing many admins, coaches, and staff. Scheduled Q4 2026.
Messaging connectors — WhatsApp & email automation Planned Operational notifications where members already communicate. Scheduled Q1 2027.

Roadmap

QuarterMilestone
FutureDirect Google Calendar OAuth and reliable two-way synchronization with conflict handling
FutureProduction Stripe export and Zapier templates for payout, invoice, and CRM handoff
Q4 2026SSO launch (Google Workspace and Microsoft)
Q1 2027Messaging connectors (WhatsApp and transactional email workflows)

Administration

Admin Space

The Admin menu is visible only to system administrators and is organized by responsibility. General contains the dashboard; Management contains users, global Mobile application settings, Blog, case studies, demo requests, and data import; Monitoring contains logs, sign-ins, AI usage, and scheduled tasks; Developer Tools contains Configuration, Database Relations, Playground, and Technical Solution; Other contains the Go-Live Plan and Whitepaper.

Administrator-only data Configuration, database relations, operational logs, and authentication activity may reveal sensitive operational context. Do not copy credentials or private account data into support tickets, screenshots, or public documents.

Organizer Activation & Retention Web

System administrators can open Admin → Dashboard for four focused measures: tracked organizers, publication within 14 days, a first completed competition within 30 days, and creation of another event within 90 days of first publication.

🖼️
Owner Dashboard — Organizer Activation and Retention
Creation-cohort trends and focused organizer follow-up using fictional demonstration data.

The two cohort charts show activation and return by first recorded event-creation month. They are not signup cohorts. Open View chart data to inspect eligible organizer counts before comparing percentages.

Only fully observed 14-, 30-, and 90-day windows enter their respective rates. Missing consented identity or lifecycle timing is excluded rather than treated as success or failure; an empty eligible group is unavailable, not zero. Showcase and marked demo or test events are excluded.

Follow-up actions open first events awaiting publication or organizers with no later recorded event. Review seasonal context before contacting anyone. Expand Administration for the existing commercial, usage, and infrastructure tools.

Guided analysis walkthroughs

Administrator tutorial previews include Understand Club Analysis and Understand Event Organizer Analysis, with narration, captions, and illustrated chapters. These previews require administrator access; media availability depends on publication in the current environment.

Test Catalogue

Open Admin → Developer Tools → Test Catalogue to find automated scenarios by feature, name, description, platform, or result. Expand a group and open its recorded cases to inspect individual outcomes.

Results belong to the displayed CI run and commit. Passed, Failed, Passed after retry, Partially run, Skipped, and No recorded result are distinct. Missing evidence never counts as a pass. Test names remain in the language used by their authors.

The deployed page shows the report shipped with that release. Failed pipelines retain a test-catalog artifact in GitHub Actions. Download and extract its test-catalog.json, then choose Open CI report to inspect it locally in this page. Reload returns to the deployed report.

Mobile Application

Open Admin → Management → Mobile application to manage platform-wide settings for the mobile app. The Landing page section controls which destinations are globally available on the signed-in mobile home screen; individual role and licence checks continue to determine whether an eligible user can open a workspace.

Changes save immediately. Hidden destinations remain visible to system administrators with the mobile app's red preview treatment, allowing the configuration to be checked before it is made available again.

SectionDestinations controlled
Discover and participateSeasons, Events, Feed, Reservations, and Clubs
Athlete toolsMy Results, Training, AI Insights, Reports, Media Library, and Integrations
WorkspacesCoach and Club Admin
Availability is not permission Enabling a destination makes it globally available, but it does not grant access. Coach and Club Admin workspaces still require the appropriate active licence and role, and other protected screens continue to apply their own authorization rules.

Sign-in Activity

Open Admin → Monitoring → Sign-ins to review successful account sign-ups and sign-ins. Search and filter the records to investigate when an account authenticated, which method it used, and the reported device, operating system, and browser family.

This view is an audit aid, not proof of a person's physical identity. Device strings can change or be incomplete. If an entry looks unfamiliar, verify the account owner and follow the password-reset and session-revocation process.

Platform Blog

System administrators manage the public Compeetee Blog from Admin → Management → Blog. The toolbar provides the single Write post action; there is no duplicate full-width creation button in the page content.

  1. Select Write post.
  2. Enter the title, introduction, formatted content, tags, and optional cover image.
  3. Save as Draft until the article is ready, then change its status to Published.
  4. Use Edit to revise an article or Delete to remove it from the public Blog.

Published platform posts can be read on the web Blog and in the mobile Blog reader. Author and publication date are stored with each article.

Communication & Push Notifications

The Communication page (/communication) combines your personal inbox with the ability to broadcast push notifications to athletes or club members.

Inbox

The left panel shows all received messages — direct messages, broadcast announcements, system notifications, and event updates, sorted newest-first. Unread items are highlighted.

Sending push notifications

Users with Club, Coach, or Admin roles see a "Send Notification" panel.

The audience is determined by your subscription:

RoleAudience
ClubClub members
CoachCoach's own athletes
Both / AdminMixed — selectable per send
  1. Type your message (up to 500 characters) and optionally set a title or deep-link URL.
  2. Select specific recipients if you don't want to broadcast to everyone.
  3. Click "Send" — notifications are delivered to all target devices within seconds.
🖼️
Communication Page
Left: inbox list with unread highlight and filter chips. Right (for permitted roles): Send Notification form with audience selector, message field, optional recipient list, and send button.

Sports Directory

Sports Browser

The Sports page (/sports) is a searchable catalogue of every sport supported by Compeetee — implemented, in development, and planned. Use it to understand which features are available for your sport and to read the built-in rules.

Summary header

Four live counters at the top: Implemented, Planned, Documented (has rules page), and Advanced-depth.

Filters

FilterShows
All sportsEvery sport in the system
ImplementedActive event and result entry; the card's support tier shows the available analytics depth
PlannedOn the roadmap, not yet fully active
ArchivedDeprecated sports
Team sportsSports with team-format entries
Individual sportsSports with individual-format entries
Advanced depthDeep analytics, specialised scoring, AI insights
Standard depthPurpose-built result form and basic stats
Basic depthGeneric result entry only

Sort by: Status (default), Name, Rules coverage, or Depth score.

The search bar filters by name in real time.

🖼️
Sports Browser
Filter chips + sort selector + search bar. Card grid: each card shows sport icon, name, support-tier badge (Advanced/Standard/Basic), status chip. Click a card to open the detail panel on the right.

Sport Support Tiers

A tier describes the depth of analytics and the result model, not whether a sport is usable. All 47 built-in sports are implemented.

TierWhat's includedExample sports
Advanced Full result model with the deepest event or personal analytics and sport-specific performance detail Golf, Tennis, Padel, Triathlon, Soccer, Badminton, Squash, Darts, Handball, Cricket
Standard Structured sport result model with focused event or personal analytics Pickleball, Table Tennis, Running, Cycling, Swimming, Basketball, Volleyball
Basic Flexible result entry and event support without deep sport-specific analytics Generic and sports using the shared structured scoring layer while deeper personal analytics are expanded.

Sport Rules & Formats

Each sport detail panel on the Sports page shows two sub-sections:

Supported competition schemes

Compeetee separates the competition structure from sport-specific scoring. Organizers can reuse a proven scheme while each sport keeps its own result model and rules.

SchemeBest forBuilt-in coverage
RankingOpen standings and ordered seriesBroad multi-sport support
Round RobinEveryone plays everyoneMatch and team sports, golf, and Generic
Pool PlaySeveral independent round-robin poolsShared pool seeding, match schedules, and standings
Round Robin + PlayoffsLeague or pool qualification followed by finalsShared group and elimination engines
Best-of-SeriesPairings decided across multiple gamesShared elimination engine with configurable series length
StepladderSeeded progressive finalsSeed-aware ladder draw and elimination results
Time Trial / Individual RankingRacing and measured individual attemptsIndividual start lists and ranking evaluation
Hybrid / Multi-StageCustom combinations of qualifying and finalsReusable group, ranking, knockout, and placement phases
Single EliminationDirect knockout bracketsMost match sports plus timed race sports
Double EliminationKnockout with a second chanceMatch and team sports, golf, and Generic
CompletionTime, distance, or completion resultsRunning, cycling, swimming, triathlon, soccer, cricket, and Generic
Groups — one or two roundsLeague-style group playSoccer, futsal, cricket, basketball, volleyball, and handball
Groups + KnockoutQualification followed by finalsAvailable for structured tournament workflows, including handball
SwissMany meaningful rounds without full round robinTable tennis, badminton, squash, and darts
Match PlayHole-by-hole head-to-head golfGolf
ScrambleTeam golf using a selected ballGolf

Both Individual and Team competition formats are supported. Sport-specific options then add details such as cricket match formats, racket-sport sets and tiebreaks, or golf scoring and team methods.

Media Library

Media Page

The Media page (/media) is your central file manager for all uploaded assets — photos, videos, and documents attached to events, profiles, feeds, or sessions.

Browsing & filtering

The grid requests lightweight cached previews first instead of downloading original files. Full-resolution media is requested only when opened, which keeps browsing responsive and avoids repeatedly generating the same preview. Local development follows the same media delivery path so missing previews can be diagnosed consistently.

Actions

💡 Storage quota Each subscription tier includes a storage allowance. Your current usage vs. quota is visible on the Profile page.
🖼️
Media Library
Masonry thumbnail grid; filter bar (type, date range, search); multi-select with floating action bar; full-screen preview modal with metadata sidebar

Use Cases & Scenarios

Guided Scenarios Overview

Use Cases explains the competition workflow. Written tutorials at /tutorials are available to everyone; video and screenshot previews remain restricted to administrators during review.

RoleScenarios
OrganizersFirst Day Setup, Create an Event, Add Athletes & Score an Event
CoachingPractice Group Cycle, Attendance & Feedback
Athletes / PlayersAthlete Progress Review, Athlete Weekly Plan
ClubClub Onboarding Setup, Communication Cadence

Use the search box to filter tutorials by keyword. Click any card to open the full step-by-step walkthrough.

Scenario 1: Create an Event

A complete walkthrough for setting up an event from scratch — for club admins and tournament organizers.

  1. Go to Events → click "+ New Event".
  2. Set the event name, sport, start date, and end date.
  3. Choose an owning club and optionally a venue.
  4. Set visibility (Public / Club / Private) and registration deadline.
  5. Add at least one Competition: pick a format (Single Elimination, Round Robin, Groups, etc.).
  6. Configure competition settings: participant capacity, seeding method, scoring system.
  7. Click "Publish" — the event is now visible and open for registrations.

Scenario 2: Add Athletes & Score an Event

After an event is published, this scenario covers adding participants and recording match scores.

  1. Open the event → Participants tab → "+ Add Participant".
  2. Search for a registered user or enter a guest name. Repeat for all participants.
  3. Go to the Draw Sheet tab → click "Generate Draw".
  4. For each match, click the match card → enter scores for each set/round → Save.
  5. The bracket automatically advances winners. Continue until the competition is complete.
  6. Click "Finalise Event" to publish final results and trigger ELO recalculation.

Golf Tournament Workflow

A common golf setup is one event with several competitions, for example Men, Women, and Juniors. Men and Women may play 18 holes while Juniors play 9 holes, each with its own tees, handicap mode, and leaderboard.

  1. Create a new event and choose Golf as the sport.
  2. Add separate competitions for each field, such as Men 18 Holes, Women 18 Holes, and Juniors 9 Holes.
  3. Under Play and scoring, choose the competitors, competition type, and scoring method.
  4. Configure the course, tee set, hole count, and handicap allowances for each competition.
  5. Add participants manually, import them, or enable self-registration with the correct category access.
  6. Use live mobile scoring during the round, or enter scorecards afterward through offline scoring.
  7. Review each competition leaderboard and publish the final results when the event is completed.

Play and scoring

Golf setup uses three complementary choices. You no longer need to repeat the same scoring decision in generic and golf-specific fields.

ChoiceWhat it controlsExamples
CompetitorsWho owns the leaderboard resultIndividual players or teams
Competition TypeHow play is organized and progressesLeaderboard, elimination, match play, or scramble
Scoring MethodHow entered golf scores determine the resultGross, net, Stableford, Modified Stableford, Par / Bogey, Skins, Nassau, or a match-play method

Competition Type examples

The competition type controls the structure of play. It does not change how a golf score is calculated.

Competition TypeUse it whenExample
RankingEveryone should appear on one leaderboardA Saturday medal for 60 individual golfers over 18 holes
EliminationA loser is removed and the winner advancesA 16-player club championship progressing through quarterfinals, semifinals, and a final
Match PlayTwo sides compete directly and earn the result hole by hole or from their paired scorecardsClub vs Members with singles matches and four-ball pairings over several rounds
ScrambleA team selects the preferred ball and continues from that positionA charity tournament with teams of four and one team scorecard per hole
Example decision If 32 golfers all play the same round and should be ordered from first to last, choose Ranking. If they play direct head-to-head pairings where winners advance, choose Elimination or Match Play.

Scoring Method examples

The scoring method converts the entered hole scores into the competition result. The available match-play choices appear automatically when Match Play is selected as the competition type.

Scoring MethodHow it ranks or decides playExample
Gross Stroke PlayLowest total strokes wins, without handicap adjustmentA scratch club championship
Net Stroke PlayLowest handicap-adjusted total winsA monthly medal open to golfers of different handicaps
StablefordHighest total Stableford points winsA social 18-hole competition where a bad hole does not ruin the full round
Modified StablefordUses the configured expanded points scale for scores relative to parAn aggressive-play event that rewards birdies and eagles more heavily
Par / BogeyEach hole is won, halved, or lost against parA handicap field competing against the course rather than directly against another player
SkinsEach hole is a separate prize; tied skins may carry forwardA four-player game where an outright hole winner collects the available skins
NassauAwards separate results for the front nine, back nine, and overall roundA friendly match with three points available during one 18-hole round
Hole-by-hole Match PlayThe side winning more holes wins the pairingA singles Club vs Members match
Better Ball Stroke PlayThe best counting player score on each side determines the hole resultA four-ball pairing using gross or calculated stroke scores
Better Ball StablefordThe best Stableford score on each side counts on every holeA four-ball team match where both golfers enter their own scorecard

For a team Match Play competition, choose Singles or Four-ball under Pairing. Every golfer uses an individual scorecard and Compeetee calculates the pairing result automatically. Better Ball Stroke Play and Better Ball Stableford are selected directly as the scoring method; there is no separate Match Format or Default Score Entry decision.

Existing competitions Older golf competitions remain supported without a manual migration. Compeetee infers Gross, Net, or Stableford from the existing Evaluation; recognizes the older Golf Game and Match Format fields; and preserves player scorecards, combined team scorecards, and hole-result matches already in progress. Unrelated edits do not change their score-entry source. When an organizer explicitly changes Scoring Method or Pairing, the consolidated choice becomes the new default while already stored match results keep their original source.
Golf handicap note For offline score entry, HCP refers to the playing handicap for 18 holes. For 9-hole junior competitions, confirm the configured course/tee rules before publishing final rankings.

Scenario 5: Athlete Progress Review

A coaching workflow for reviewing an athlete's development over a season.

  1. Go to Coach → Athlete Management and select the target athlete.
  2. Open the Analytics tab with a 3-month date range.
  3. Review the sport-specific stats panel for key metric trends.
  4. Click "Generate Seasonal Report" to export a PDF summary.
  5. Open the athlete's Feed → add an Assessment entry with skill scores and feedback notes.
  6. Update the athlete's Individual Plan to target weak areas identified in the report.

Scenario 6: Athlete Weekly Plan

Setting up and executing a structured week of training for an athlete.

  1. Open Coach → Individual Practice, create a plan, and choose the athlete and dates. Add an optional goal and motivation.
  2. Open Sessions and select Create session. Choose the repeat pattern and days, then set its end date.
  3. In Agenda, preview and select library exercises, use the AI helper, or add a custom activity. Save the session.
  4. The athlete opens Athlete → Training to see Today, the combined schedule, Plans, and Practice groups.
  5. In a plan, select a session, mark finished activities, enter actual amounts when different, and select Save results.
  6. Use Notes to exchange feedback. Individual plan conversations and group session conversations stay separate.
  7. Review the starting and final assessments and session statistics before preparing the next plan.
Record Session Results

Scenario 7: Coach Practice Group Cycle

Managing a recurring practice group from creation to session completion.

  1. Go to Coach → Groups"+ New Group" → set name, sport, and add athletes.
  2. Create a recurring session: day of week, start/end time, location, and session type.
  3. Before each session, open Coach → Schedule and select today's session.
  4. Use Attendance to mark each athlete: Present / Absent / Excused.
  5. Add session notes and upload any media (video clips, drill recordings).
  6. Share feedback in the group session Notes. Athletes can read shared notes and their own targeted feedback in Athlete → Training.

Scenario 8: Coach Attendance & Feedback

Systematically collecting attendance and delivering per-athlete feedback after a practice.

  1. Go to Coach → Attendance → select the session.
  2. Mark each athlete's status: Present / Absent / Excused.
  3. Add a short per-athlete note directly in the attendance row.
  4. Go to Coach → Athlete Feeds → select an athlete → add an Assessment entry with skill ratings.
  5. Repeat for each athlete who needs detailed feedback.
  6. Attendance and assessments are reflected in the athlete's Feed, Training tab, and coach Attendance reports.

Scenario 9: Event Registration Commerce

Not yet a published tutorial. This workflow remains a readiness checklist until checkout, refunds, webhooks, reconciliation, and the legal gate have all been verified end to end.

A planned safe-launch workflow for paid event registration, from Stripe onboarding through reconciliation.

  1. Open the event's Payments tab and connect the organizer's Stripe payout account.
  2. Select the currency by symbol and ISO code, then set price, capacity, and waitlist behavior.
  3. Configure the waiver version and refund policy before enabling commerce.
  4. As a test participant, accept the waiver and complete Stripe Checkout in test mode.
  5. Confirm the paid registration, participant entry, and receipt back on the Payments tab.
  6. Test a partial or full refund and confirm released capacity after a full refund.
  7. Compare Compeetee's reconciliation totals with Stripe before switching to live keys.

It is intentionally absent from the public tutorial hub so unfinished commerce is not presented as available automation.

Mobile App

Mobile App — Overview & Installation

Use the Compeetee Mobile App on iOS and Android for logging results on the pitch, following live events from the sideline, managing coaching sessions, and tracking training progress.

Key capabilities

🏠

Smart Dashboard

Personalised greeting, quick-action tiles, calendar overview, and key stats — all from one screen.

📅

Events

Browse upcoming events, view live draws, follow competition results in real time.

🏋️

Training

Today's practice schedule, calendar of sessions, and exercise library.

📊

Analytics

Sport-specific performance stats, trend charts, and AI-driven recommendations.

🎥

Feed & Media

Upload photos and videos, comment on results, and stay connected with your club.

🎙️

Coach Hub

Full coaching toolkit: groups, attendance, plans, exercises, athlete feeds, and video analysis.

Installation

PlatformMethod
iOSDownload from the Apple App Store — search "Compeetee"
AndroidDownload from the Google Play Store — search "Compeetee"
DevelopmentRun npx expo start inside apps/mobile/; scan the QR code with the Expo Go app

Authentication

Use the same credentials as the web app — accounts are shared across platforms. Sign in with email and password on the Login screen. Reopening the app restores your saved sign-in when it is still valid. If sign-in cannot be restored, sign in again before scoring or retrying queued work. A temporary connection failure does not by itself mean your sign-in has expired. Before changing accounts, review any waiting work as described in Registration & Score Recovery.

🖼️
Mobile — Landing Screen
Logo, welcome headline, recent public events list, "Get Started" / "Go to Dashboard" button

Mobile App — Navigation

Mobile screens leave extra space below the last item so you can scroll to the final fields while typing. Drag the content to dismiss the keyboard.

Back returns to your previous screen or closes the selected detail. If you sign in from an event, you return to that event after signing in.

Top Bar

Every screen has a persistent Top Bar showing the current screen title or a dynamic icon label. The top bar contains:

The profile dropdown gives quick access to Profile, Settings, and Sign Out.

When live scoring is active a red indicator appears in the top bar. Navigating away while scoring is in progress will prompt a confirmation alert.

Bottom Tab Bar (authenticated)

Five tabs are visible at the bottom of the screen once you are signed in:

TabIconDescription
HomehousePersonal dashboard with quick-action tiles
EventscalendarList of current and upcoming events
Resultstrophy-outlineYour recorded results
TrainingdumbbellToday's sessions & calendar
Analyticschart-lineSport-specific performance stats

Additional screens — Feed, Reservations, Coach Hub, Profile, Settings, and Notifications — are accessed from the Home dashboard quick-action tiles, the top-bar profile menu, or deep links. New results are added from the My Results screen.

🖼️
Mobile — Top Bar & Bottom Tab Bar
Top bar with back/home, title, notification bell with badge, avatar. Bottom bar with Home, Events, Training, Analytics tabs.

Mobile App — Home Dashboard

The Home screen greets you by name with a time-aware greeting (Good Morning / Afternoon / Evening) and presents a 3-column quick-action grid for the most common tasks:

TileNavigates toNotes
EventsEvents listAlways available
FeedMy FeedAlways available
ReservationsCourt bookingsAlways available
My ResultsPersonal resultsUse the + action to add a result
TrainingTraining screenAlways available
CoachCoach HubRequires Coach or higher subscription; grayed-out otherwise

Dashboard views

Two dashboard modes can be selected in Settings → Dashboard Experience:

Pull-to-refresh updates both dashboard modes.

🖼️
Mobile — Home Dashboard
Greeting header, 3×2 quick-action grid, calendar or custom dashboard cards below

Mobile App — Events

The Events tab shows all events you have access to, grouped into two sections:

Each Event Card shows the sport icon and colour, event name, date range, venue, and a status badge (Open / Live / Completed). Tapping a card opens the full Event Detail screen.

💡 Favourites Mark any event as a favourite to pin it to the Featured section for quick access. Favourites are synced with the web app.
🖼️
Mobile — Events List
Featured section (pinned + starred events), All Events section, EventCard with sport colour, date, status badge, star toggle

Mobile App — Event Detail

Tapping an event opens a dedicated screen with five tabs:

TabContent
Detail Event name, sport, date, venue map pin, status, cover media gallery, registration button if open
Competitions List of competitions/brackets within the event; tap to see the draw sheet and match pairings
Standings Competition standings and match or round results; select the competition you want to follow.
Live Supported live score entry for authorized scorers; check the selected competition, round, and athlete before editing
Analytics Available event performance statistics and comparisons; the content depends on recorded results
🖼️
Mobile — Event Detail Tabs
Five-tab bottom bar: Detail, Competitions, Standings, Live, Analytics; event cover image at top with sport colour accent

Mobile App — Registration & Score Recovery

Check your entry before playing

Online payments are currently paused.

  1. Open the event and choose the competition. Wait for the participant list to load before entering.
  2. Choose Join Competition. Automatic approval enters you immediately after a successful response; manual approval shows Waiting for approval.
  3. After approval, refresh the list and check your name and competition. When online payments are enabled, a required payment uses Continue to payment; pending payment is not a confirmed entry.
  4. To withdraw, choose Leave Competition and confirm. Cancel keeps your entry. Wait for the refreshed state before trying to enter again.

If the list cannot load, retry the request. A failed load does not mean you are absent from the event. A withdrawn entry is not an active registration, even when an older score remains on record.

On mobile, open a club member's profile from the club member actions. The web event participant profile is a separate view; mobile participant cards do not currently provide that same profile shortcut.

Save progress and submit scores

Check the event, competition, round, and athlete before entering a score. In supported live scorers, Save progress keeps a draft and Submit scores submits it for the competition. Submitted and approved results can restrict further editing.

A score queued on your device is not yet confirmed by the server. Keep the app and its local data, reconnect with the same account, and check the saved result in Standings. Do not reinstall or clear app storage to fix an unsynchronized score.

Individual live scoring keeps separate drafts for each selected athlete in the current workspace. Switching athletes does not copy the previous athlete's entry into the next one. Wait for the save response and verify the intended athlete before leaving the scorer.

For individual competitions with rounds, choose Round before entering the athlete's result; switching rounds keeps each athlete's draft separate.

Only local drafts that you explicitly save to the device queue are retained for recovery after restarting the app. Unsaved text may be lost when you close the app or change accounts.

Retrying the same new personal result after a connection interruption does not create a duplicate or restore a result that was deleted. Check your result history before starting a separate new entry.

Review a score conflict

The comparison and retry steps below apply to golf-hole, match, and individual event scoring. For an individual result, check the athlete and round shown in the comparison before continuing.

  1. If a saved-score conflict notice appears, choose Review.
  2. Compare Local draft with Server score. Use Load Comparison if the comparison has not loaded.
  3. Choose Retry Reviewed Score only when the local changes are correct and retry is allowed. Review the updated score before submitting it.
  4. To keep the server score, choose Discard Local Draft and confirm. This discards the reviewed local change; it does not delete the server result.
  5. Choose Later to leave the conflict unresolved. If the server changes again, load and review a fresh comparison.

Approved results cannot be overwritten through conflict retry. Submitted results may also be locked for your account. Ask the organizer to review a result that you cannot correct.

If no result has been saved for the selected athlete and round, the comparison says so. With scoring permission, review your local draft and retry to save it; if another result is saved first, review the new comparison before retrying again.

Review older personal results

In My Results, Saved Results on This Device lists pending personal results for your account. Older saves marked Needs review are paused because they may already have reached the server.

  1. Choose Review Saved Result and inspect the saved details. Choose Check Result History to return to your results. If you entered it for someone else, also check that athlete's results.
  2. If it is already saved or you no longer want it, reopen the review and choose Remove Local Copy, then confirm. This removes only the reviewed device copy; saved server results stay unchanged.
  3. If it is a separate result that still needs saving, confirm that you checked the saved results, then choose Save as New Result. Reconnect with the same account and verify the result in your history.
  4. Choose Later if you are unsure. The local copy stays on this device for a later review; a similar score alone does not prove that it is the same result.

Retry processes eligible pending results, but it does not bypass review for older saves. Keep the app's local data until you have resolved them.

If saved work cannot be read, use Retry. If it still fails, contact support before clearing app data. The error does not mean that your saved work is empty or safe to delete.

Recover media and report failures

Open your profile menu and choose Media Uploads to inspect waiting photos and videos. The queue belongs to the signed-in account.

StateWhat to do
QueuedReconnect and reopen the app to allow uploading. Choose Pause to keep an item waiting on this device.
PausedChoose Resume when you are ready to upload.
FailedRead the error, restore connectivity or sign in again if required, then choose Retry. You do not need to select the file again while its queued copy remains available.
UploadingWait for completion and check the feed. Removing that item is disabled while its upload is active.

Upload on Wi-Fi only keeps queued items waiting when only mobile data is available. Retry all or pull-to-refresh retries failed items and processes eligible queued items; paused items still require Resume. Remove and Clear all ask for confirmation before deleting waiting copies. These actions are not recovery steps for media you still want to post.

Change accounts and resume interrupted work

  1. Review waiting scores and media. Confirm saved scores in Standings, or leave unresolved work for the same account to review later. Pause queued media you do not want to upload yet.
  2. Open your profile menu, choose Log out, then sign in to the other account. Check the name in the profile menu before opening an event.
  3. To resume the original account's media, sign back in to that account on the same device and open Media Uploads. Use Resume or Retry as appropriate.

Keep the app's data until pending work is resolved. Background uploads and notifications depend on the device, connectivity, and system permissions; closing the app is not confirmation that an upload completed or an announcement arrived. Open the app after reconnecting and verify the feed, Standings, or Notifications.

If a request fails, read the persistent failure message and use its retry action when available. Report failure provides diagnostic information for support. After reopening a shared event or notification link, check the event name before scoring.

Mobile App — Training

Training loads plans, groups, and personal exercises independently. Retry a failed section while continuing to use the others. When adding an exercise, search the full library, browse pages, and tap the eye to preview instructions before choosing. Retrying a failed save keeps the same request to avoid duplicates. Group exercises are a shared agenda; your coach records attendance, so there are no individual completion checkboxes for those activities.

Today and calendar

Today brings together individual sessions, practice-group sessions, and personal exercises. The calendar appears below Today on phones and beside it on tablets. Tap an individual exercise's completion control to save its status; use the eye button for its library instructions. Group exercises are a shared agenda, with attendance recorded by the coach.

Plans and session results

Open Plans, choose a plan, then select a session and date. Activity cards show planned amounts at a glance. Tap the eye button beside an activity name to preview its exercise instructions. Expand Details to record actual amounts when your duration, sets, repetitions, or rest differ from the plan; blank amounts use the planned values. Tap Save results to save edits made in this sheet. Reload and date changes are unavailable while there are unsaved changes; save or discard them first.

Use the eye beside a library exercise to preview it. Refreshing or covering the session sheet keeps unsaved edits, and closing it asks before discarding them.

Groups and Notes

Open Groups to check attendance and write session notes. Drafts stay with their group and date when you leave and return. Signing out, switching accounts, or closing the app clears unsent drafts. If sending fails, retry the same message or discard it before editing.

If a retry conflicts with an already saved note, refresh Notes before sending a new message. The original saved note is preserved.

Exercise details open in a page sheet. Tap a photo or video to view it, or tap an instruction link to open it. Completion changes show saving progress and keep the sheet open until the request finishes.

Add a personal exercise

Use the action menu to add an exercise from the searchable library. Start with the exercise and duration; open More options for scheduling and other amounts. Search, browse pages, and preview an exercise before selecting it.

The dashboard's existing Training shortcut shows today's session count and exercise completion. A completion-loading failure does not hide available session counts. Pull to refresh to retry.

Mobile App — Analytics

The Analytics screen shows your sport-specific performance statistics. At the top is a Sport Selector — tap to switch between sports you have results for.

Once a sport is selected the screen renders:

🖼️
Mobile — Analytics
Sport selector chips at top, stat sections below: overall score, key metrics, trend chart, practice recommendations

Mobile App — My Feed & Media

The Feed screen is your personal activity timeline. It aggregates:

Uploading media

Tap the + / camera floating action button to upload a photo or video. You can pick from your device library or capture directly with the camera. Thumbnails are generated automatically for videos. After upload the media appears in your feed and is visible to coaches and club members depending on your privacy settings.

Viewing media

Tap any photo or video thumbnail to open the full-screen media viewer modal. Videos play inline with playback controls. Long-form content (like session notes) expands inline.

🖼️
Mobile — My Feed
Chronological activity cards: result cards, session attendance cards, media thumbnails, session notes; FAB for media upload

Mobile App — Log a Result

Access via Home → My Results, then tap the + action and choose Add result. The flow starts with a Sport Selector — choose the sport you played.

Sport-specific forms

The selected sport opens its dedicated or shared structured result form. Event organizers also use these scoring layers from an event's Live tab:

Sport categorySportsForm type
Racket sportsTennis, Padel, Pickleball, Badminton, Squash, Table TennisSet-by-set score entry with opponent selector
Endurance / timedRunning (Athletics), Triathlon, Cycling, Swimming, Rowing, Speed SkatingDistance, time, discipline, heat/lane, and split entry as applicable
Team / matchSoccer (Football), Futsal, Basketball, Volleyball, Handball, Cricket, American Football, Baseball, Softball, Rugby, Field Hockey, Ice Hockey, Curling, EsportsTeam totals, period/set/inning/end/map breakdown, and sport statistics
CombatBoxing, MMA, Wrestling, Judo, Karate, Taekwondo, FencingRound/period scores, actions, and penalties
Judged / strength / precisionArchery, Gymnastics, Weightlifting, Powerlifting, SkateboardingScores, attempts, components, and deductions
Winter / waterSkiing, Snowboarding, Figure Skating, Surfing, Windsurfing, SailingTimes, run/wave/race scores, and penalties
GolfGolfFull hole-by-hole scorecard with handicap and tee selection
DartsDartsLeg-by-leg scoring with checkout notation
FlexibleGenericScore, time, distance, or custom-value result

After filling in the form, tap Save and wait for confirmation. A confirmed result appears in your history; available analytics depend on the sport and recorded data. If the app reports that the save is queued, reconnect using the same account and check the existing result before entering it again.

Pressing the back button while a sport is selected returns to the sport selector rather than leaving the screen.

Mobile golf player selection follows your Athlete list preference. Friends uses accepted Fellow Athletes, and External lets you add a guest. Tee selection remains visible above the keyboard.

For a personal golf round, complete the scorecard and submit once. The button shows saving progress. If submission fails, your scores remain available for retry; wait for confirmation before leaving. Event scorecards use the event’s scoring permissions and submission rules.

In the mobile handicap picker, use the minus and plus buttons to adjust the whole number or decimal precisely, or drag either track. The dialog holds still while you drag; release the track to scroll again. Tap Save to apply the selected handicap, Clear to remove it, or Cancel to keep the previous value.

Always enter your full 18-hole Handicap Index, even for a nine-hole round. Compeetee adjusts the playing handicap to the selected holes and competition allowance.

Choose Gross to play without handicap strokes: the playing handicap is 0 and the HI control is hidden. Your Handicap Index is retained. Switch back to Net (Handicap) to use it with the selected tees and round length. Net scoring requires a valid HI and complete tee ratings; fill in missing details before starting.

After selecting a course in Log Golf Result, choose Front 9 Tee and Back 9 Tee below the course. These defaults apply to current players and players added later, including both match-play teams. Use a player's tee control to override their choices; changing the defaults preserves those individual overrides. Leave Back 9 Tee empty for nine holes. Selecting a different course clears the tee choices so you can select tees from the new course.

Tee choices show their color, slope rating (SR), course rating (CR), and length when available. Tap a player’s tee control to open a full-height sheet; confirm to apply changes, or cancel to keep their existing tees.

The course picker can reuse a recent location and recently loaded nearby courses. Use Refresh to reload the list, or search by club, course, city, or country if location is unavailable.

Choose a course to return to your result form, or use Cancel or the close button to keep the current selection. You can then continue editing the date, players, handicaps, and tees. Closing a parent sheet also closes any picker opened inside it.

🖼️
Mobile — Sport Selector
Grid of sport icons grouped by category; search/filter at top; tap to open the result form for that sport

Mobile App — Reservations

The Reservations screen lets you book club resources (courts, lanes, pitches, gym slots) directly from your phone.

  1. Select a Club from the dropdown (only clubs you are a member of are shown).
  2. Pick a Date using the date picker.
  3. Choose a Resource (court / lane / facility type).
  4. Available time slots are shown as a scrollable list. Booked slots are grayed out.
  5. Tap a free slot to open the booking confirmation dialog — optionally invite another member.
  6. Tap Confirm to complete the booking. You receive a push notification confirmation.

To cancel an existing booking, tap the booked slot (shown in your accent colour) and confirm cancellation.

⚠️ Club membership required Resources are only available for clubs you belong to. Ask your club admin to add you as a member first.
🖼️
Mobile — Reservations
Club picker, date picker, resource selector, time-slot grid with free/booked/my-booking colour coding

Mobile App — Coach Hub

The Coach Hub provides coaching tools for eligible club coaches. Club managers and staff with attendance permission can open Take Attendance from Home without a Coach subscription. Their attendance access does not unlock other coaching tools.

On mobile, select a group and All sessions or a single scheduled session. Search athletes and filter by status, then tap Present, Absent, Excused, or Pending. Each change saves immediately; offline changes queue for synchronization. Do not confuse this with the web, where each session has a Save Attendance button.

On mobile, Individual Practice opens on Overview with the plan goal and motivation shown before its sessions, when provided. Tap a session card to open its activities and record progress. Notes use full-width cards with author details and larger media previews; the note menu still offers message, photo, video, voice, library, and exercise options. Use the shared header’s Back arrow to return to your plans.

Open an Individual Practice and use its edit menu for Goal and review, Starting Assessment, Final Assessment, or Reports. Assessment editing uses the same saved club lists and partial-save rules as the web. Coaches can create, preview, and send reports; athletes can read reports shared with them from the plan or notification. PDF export and detailed list administration remain available on the web.

ToolIconWhat it does
Schedule calendar-clock Weekly/daily view of all practice sessions across your groups. Shows session count for today. Tap a session to view details or mark attendance.
Groups account-group List of your practice groups. Tap a group to see its members, upcoming sessions, and create new sessions. Create a new group with the + New Group button.
Attendance account-check Choose a group and scheduled session, then mark Present, Absent, Excused, or Pending. Changes save immediately and can queue offline.
Plans clipboard-account Create and assign individual training plans to athletes. Each plan contains an ordered list of exercises with sets, reps, and notes.
Feeds rss Browse the activity feeds of all your athletes. Post media or notes to an individual athlete's feed or to a whole group feed.
Exercises dumbbell Browse, create, and edit the exercise library. Exercises can include name, description, muscle groups, video demonstrations, and difficulty level.
Athletes account-multiple Full roster of your athletes — search, view individual athlete profiles, and manage subscriptions to coaching plans.
Comms message-text Send broadcast messages to a group or direct messages to individual athletes. Threads are visible in each athlete's inbox.
Analysis video Video Comparator — record or upload two video clips (e.g. forehand swings) side-by-side for biomechanical analysis. Draw annotations over the video frames.

The Coach Hub header shows summary counts: total athletes, number of groups, sessions this week, and sessions today.

🖼️
Mobile — Coach Hub (tool launcher)
Summary count row at top; 3-column grid of tool tiles (Schedule, Groups, Attendance, Plans, Feeds, Exercises, Athletes, Comms, Analysis)
🖼️
Mobile — Coach Hub (Groups tool)
Practice group cards listing member count and next session date; "New Group" FAB; group detail modal with members, session list, post-to-feed action
🖼️
Mobile — Coach Hub (Video Analysis)
Side-by-side video picker; synchronized playback; frame-by-frame scrubber; annotation drawing layer

Mobile App — Blog & Club News

The mobile app can read published Compeetee Blog articles and club news. Open a club and select Club news to see its published stories, then tap a card to open the full article in a page sheet.

Active club members can use Notify me about new club posts on that screen. It is on by default and controls notifications for the selected club. Writing and editing articles is intentionally available on the web administration interface only.

Mobile App — Fellow Athletes

Open Profile → Fellow Athletes to view accepted athletes, pending requests, and your personal QR invitation. Add another registered user by ID, scan their QR code, or share your invitation link. Both people must approve the connection.

Athletes with an enabled public profile show a Public profile available action. Tapping it opens their published web profile. Accepted fellow athletes are also offered in mobile result-entry athlete and opponent selectors.

Mobile App — Notifications

Access the inbox via the bell icon in the top bar. A red badge shows the count of unread messages; the count updates automatically every 30 seconds.

The inbox shows all received messages grouped chronologically. Each entry displays:

Tap a message to mark it as read and view the full content. Use Mark all as read or Clear all from the action bar at the top of the inbox.

Push notifications are delivered to your device for:

Each notification type can be toggled independently in Settings → Notifications.

🖼️
Mobile — Notifications Inbox
Message list with sender, preview, relative timestamp, unread dot; "Mark all read" and "Clear all" actions at top

Mobile App — Profile & Settings

Profile screen

Open via the top-bar avatar → Profile. Shows your account summary: name, email, subscription tier, active services, registration dates, and roles. App and build versions are available in App Diagnostics from the user menu. Also displays your current storage quota usage.

Settings screen

Open via the top-bar avatar → Settings. Settings are organized into sections:

App preferences

SettingOptions
ThemeLight / Dark / System default
Dashboard ExperienceCustom (server-side grid) / Default athlete overview
Time Format12-hour / 24-hour / Device default
First Day of WeekMonday / Sunday
TimezoneSelected timezone / Device default

Sport settings

Each sport you are registered for shows a collapsible settings panel. Sport-specific fields include:

Notifications

ToggleControls
Notifications (master)Enable / disable all push notifications
Event NotificationsRegistrations, results, status changes
Practice NotificationsSession reminders and changes
Message NotificationsDirect messages, mentions, comments
Reservation NotificationsBooking confirmations and reminders

Tap Save Settings to persist all changes, or Reset to restore defaults.

🖼️
Mobile — Settings
App preferences section (theme, dashboard, time format, timezone), sport settings accordions, notification toggles, Save/Reset buttons

Support

Support Workflow

Support starts at support@compeetee.com. Send one clear issue per email and include the club, account email, affected page or event, what happened, and what you expected instead.

Issue typeWhat to includeFirst checks
Cannot log inAccount email, login method, exact error, browser/device, password-reset statusEmail verification, stale session, Google sign-in requirement
Wrong athlete or club dataAthlete/member name, club, event/session, current value, expected value, approverDuplicate members, participant links, import history, permissions
Payment or Stripe billing issuePayer email, Stripe receipt/invoice ID, plan/add-on, payment time, blocked accessStripe payment status, active plan, add-on licence, club membership
Event setup blockedEvent link/name, sport, competition/round, participant state, deadlineVisibility, registration dates, scoring system, draw sheet, user role
Delete or export dataAccount email, requested action, data scope, club context, requester authorityRequester identity and whether the request is personal, club-managed, or guardian-managed

Response targets

PriorityExamplesInitial response target
UrgentLive event blocked, payments unavailable, sign-in outage, widespread data issueSame business day, faster during active incidents
NormalSingle club workflow degraded, data correction, billing access mismatchWithin one business day
LowHow-to question, documentation clarification, non-urgent feature requestWithin two business days
Support Assistant The app top bar includes a Support Assistant that prepares a structured email draft with issue type, impact, club context, account email, page URL, and details. It does not send account data automatically.

Data requests

For delete, export, correction, or access-review requests, use the subject Data request. Support verifies the requester before changing or exporting personal data. Do not send card numbers or unnecessary identity documents in the first message.

Competition Payments And Account Credits

On the web, Competition payments and Credit history appear side by side on larger screens and stack on phones. The first section shows entry fees and confirmations; the second shows credit movements.

Online payments are currently paused. Actions that lead to Stripe, including account top-ups, remain unavailable until the payment pause is lifted. Existing history remains visible and free trials remain available. The checkout steps below describe the flow when online payments are enabled.

Competition Payments And Credit History
Side-by-side payment and credit history with fictional demonstration data.

If checkout confirmation fails, your balances and payment history remain available. Use Retry in the payment confirmation notice, or Dismiss to remove an old checkout link. Refresh reloads your account history independently.

Organizers can set an event fee or competition-specific fee tiers, choose online or manual payment, and require payment during registration or allow athletes to register and pay by a deadline. State the refund policy and dated refund percentages before opening registration.

In Athlete, open Payments below Reports to see entry fees, payment deadlines and confirmations. Choose Pay entry for an unpaid registration. Pay-later entries keep their place until the deadline; an overdue unpaid entry is cancelled.

Recharge account adds credits to the main account through secure card checkout. Compeetee covers the processing fee, so the full top-up amount becomes credits. Each currency has a separate balance, shared with linked children and usable at different organizers. Sign in with the main account to recharge or spend family credits.

For an unpaid competition entry, choose Pay entry. If that currency has insufficient credits, choose Recharge with the displayed currency code: the currency and shortfall are already selected. A general recharge asks you to choose a currency explicitly. Other currency balances are never converted or spent.

A payment due entry can be withdrawn with Cancel registration in the event or Payments. A completed or unresolved payment may require a refund or settlement review instead. If cancellation fails, the entry stays visible so you can retry.

Child accounts see the main-account requirement before payment. Copy or share the payment link with the main account holder; it keeps the selected fee. The main account holder should open the link, select the child's athlete profile, review the fee and pay.

Organizer payment totals are grouped by the original payment currency. If Stripe's settlement or transfer currency cannot be verified, the affected fee and net totals show Settlement review required. A received payment on hold must not be paid again. Contact support for reconciliation; currency conversion is not automatic.

Manual-payment refunds spend credits from the designated organizer funding account, in the original payment currency. The confirmation identifies that account. Only its holder can issue the funded refund; another manager's personal wallet is never charged automatically.

Refunds go to the original main account in the payment currency. USD payments return as USD credits; CZK payments return as CZK credits. Balances stay separate, with no currency conversion.

All competition refunds are returned as credits to the original main account under the stated policy. They are not returned to a card or bank account. For a manually collected payment, the organizer must fund their own account before issuing the credit refund.

Choose Download confirmation on a paid entry for a Compeetee PDF. Confirmations remain available after refunds and show the refunded credit amount. On mobile, Payments provides the same top-up, payment and history actions, and lets you save or share the confirmation.