Find sport and gaming events, follow teams, log your training and meet people who play what you play.
Live site · Architecture · Setup and providers · Design
| Area | What you can do |
|---|---|
| Play | Find local organiser listings and community sessions, RSVP, see places and events on a map, save plans, download calendar files |
| Follow | Fixtures, results and standings across seven league feeds, follow teams, watch Twitch sport and esports broadcasts, live chess |
| Train | Keep a private activity journal, time and edit workouts, set weekly and monthly goals, chart progress, compare sessions |
| Connect | Community posts with reactions and comments, clubs, group sessions and profiles |
Browsing works without an account. Logging activity, setting goals, joining sessions and posting need one.
Requires Node.js 22 and Python 3.11 or newer.
# Backend
python3 -m venv .venv-playaxis
source .venv-playaxis/bin/activate
pip install -r backend/requirements-dev.txt
cd backend && python dev.py# Frontend, in a second terminal
cd frontend
npm ci
npm startOpen http://localhost:3000. API documentation is at http://localhost:8000/docs.
The backend uses a local SQLite file by default. Some data sources need free API keys; copy backend/.env.example to backend/.env and see setup and providers for what each key unlocks.
- Frontend: React 18 with React Router, Leaflet maps and Tailwind CSS.
- Backend: FastAPI with SQLAlchemy and Alembic migrations, on SQLite or PostgreSQL.
- Data: live fixtures, standings, events, streams, weather and map data from public providers including football-data.org, OpenLigaDB, Jolpica F1, nflverse, BALLDONTLIE, Ticketmaster, Twitch, Lichess, Open-Meteo and OpenStreetMap. Coverage and limits for each are listed in setup and providers.
- Hosting: the frontend is on Netlify, which proxies API calls to the backend on Koyeb.
Where a provider cannot supply something, the app says so and does not fill the gap with invented data. NBA standings, for example, are computed from completed games because the free feed does not include them.
# Backend, from the repository root
.venv-playaxis/bin/python -m pytest -q
# Frontend
cd frontend
CI=true npm test -- --watchAll=false --runInBand
npm run buildSee verification scope for what the tests do and do not cover.
MIT licensed. Photography by Hannah Coleman on Unsplash. Map data © OpenStreetMap contributors. NFL schedules use nflverse data under CC BY 4.0. Provider data and media keep their own terms. Built by Oliver Perrin.
