SessionGoals

Train what's next. Plan your session.

SvelteSvelteKitTypeScriptSupabaseParkour

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

Svelte 5SvelteKitTypeScriptSupabasePostgreSQLLeafletTailwindCSS

Project Status

Live & Active
Open Source — GPL-3.0

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

Live & Active

SessionGoals is live and open to users via Google sign-in. Core features — goals, activity logging, lists, spots and community profiles — are fully functional.