Project Overview
SessionGoals is a training companion for parkour and freerunning athletes. Set goals, track your sessions, follow challenge lists, and keep an eye on your favourite spots — all in one place. The app uses Google sign-in via Supabase and integrates with the parkour.spot API for location-based spot discovery.
Core Highlights
- Dashboard with active goals, streaks and recent activity
- Goal management with spot linking and status filtering
- Session logging with yearly activity heatmap
- Curated goal lists — create, share and follow
- Spot map powered by parkour.spot API
- Public athlete profiles and shared movement library
Technical Stack
Project Status
App Sections
Dashboard
Quick overview of active goals, upcoming sessions, current streak and recent activity.
Goals
Create and manage personal training goals. Link goals to spots, filter by status and search by name.
Activity
Log every session — parkour, conditioning or other training. See your streak, weekly stats and a full-year heatmap.
Lists
Create curated goal lists and share them publicly. Follow lists from other athletes for structured challenges.
Spots
Browse training spots on a map and discover new places via the parkour.spot API. Link spots directly to goals.
People & Library
Discover other athletes, explore their public profiles, and browse a shared movement library for inspiration.
Technical Details
Authentication
Secure Google OAuth sign-in via Supabase SSR. All app routes require authentication; only the login and legal pages are publicly accessible.
Database
PostgreSQL on Supabase with Row Level Security policies. Schema migrations managed via Supabase CLI — covers core schema, auth profile sync and activity type categories.
Spots Integration
Integrates with the parkour.spot API for spot search. A server-side proxy route caches responses and the spots page gracefully degrades when no API key is configured.
Goal System
Athletes create personal training goals tied to spots. Goals are filterable by status and searchable by name, giving a focused overview of what to train next and where.
Activity Tracking
Log parkour, conditioning, or other sessions. A current-streak counter, weekly stats panel and a full-year contribution heatmap visualise training consistency over time.
Lists & Community
Create and publish curated goal lists for others to follow. Browse public athlete profiles and a shared movement library for inspiration and structured challenges.
Project Status
SessionGoals is live and open to users via Google sign-in. Core features — goals, activity logging, lists, spots and community profiles — are fully functional.