Game Day Dashboard
Your personal sports command center. Track every live game across NBA, MLB, and Soccer on a single screen with real-time scores and play-by-play.
The Problem
You're hosting a watch party. Three NBA games, a Champions League match, and spring training all happening at once. You're flipping between apps, refreshing browser tabs, and still missing key plays. You need one screen that shows everything.
The Solution
Game Day Dashboard is a terminal-based live scoreboard that fits on any display — from a laptop to a bar TV. It auto-detects today's games, tracks all of them simultaneously, and streams play-by-play as it happens.
+----------------------------------------------+
| GAME DAY DASHBOARD |
| Feb 18, 2026 — 8 games live |
+----------------------------------------------+
| |
| NBA |
| ┌──────────────────────────────────────┐ |
| │ LAL 87 - 82 BOS Q3 4:32 │ |
| │ > LeBron James 3-pointer (27 pts) │ |
| ├──────────────────────────────────────┤ |
| │ MIA 64 - 71 GSW Q2 1:15 │ |
| │ > Curry pull-up jumper (18 pts) │ |
| └──────────────────────────────────────┘ |
| |
| SOCCER |
| ┌──────────────────────────────────────┐ |
| │ Arsenal 2 - 1 Bayern 67' │ |
| │ > GOAL! Saka (Arsenal) 65' │ |
| └──────────────────────────────────────┘ |
| |
| MLB (Spring Training) |
| ┌──────────────────────────────────────┐ |
| │ NYY 3 - 1 BOS Top 5th, 1 out │ |
| │ > Judge singles to right field │ |
| └──────────────────────────────────────┘ |
+----------------------------------------------+
Features
- Multi-sport, multi-game — NBA, MLB, and Soccer on one screen
- Real-time updates — Scores refresh every 10 seconds
- Play-by-play feed — Key moments appear as they happen
- Zero duplicates — Cursor-based polling ensures no repeated events
- Terminal-native — Works over SSH, on any screen, no browser needed
- Low bandwidth — Only fetches new events, not full game state
Quick Start
1. Install dependencies
pip install rich requests
2. Set your API key
Requires a Shipp.ai API key for real-time scores -- get 5,000 free credits/day at platform.shipp.ai.
export SHIPP_API_KEY="your-api-key-here"
3. Run the dashboard
python scripts/dashboard.py
Optional flags
# Filter to specific sports
python scripts/dashboard.py --sports nba,soccer
# Adjust refresh interval (seconds)
python scripts/dashboard.py --interval 15
# Show only live games (hide scheduled/final)
python scripts/dashboard.py --live-only
How It Works
- On launch, the dashboard queries today's schedule for NBA, MLB, and Soccer
- For each sport with active games, it creates a persistent data connection
- Every 10 seconds (configurable), it polls each connection for new events
- New scores and plays are rendered into the terminal grid
- Finished games are marked FINAL; upcoming games show start times
Requirements
| Dependency | Version | Purpose |
|---|---|---|
| Python | 3.9+ | Runtime |
| rich | 13.0+ | Terminal UI rendering |
| requests | 2.28+ | HTTP client |
Configuration
| Environment Variable | Required | Description |
|---|---|---|
SHIPP_API_KEY |
Yes | API key for real-time sports data |
Troubleshooting
| Issue | Fix |
|---|---|
| "No games found" | Check that games are scheduled for today in your timezone |
| "Connection failed" | Verify your API key is set and valid |
| Scores not updating | Check your internet connection; the dashboard retries automatically |
| Display too wide | Shrink terminal font or maximize the window |
License
MIT
Powered by Shipp.ai real-time sports data
Release files for shipp-dashboard 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| shipp_dashboard-0.1.0.tar.gz | 44.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| shipp_dashboard-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 68.1 kB
Release files / shipp_dashboard-0.1.0.tar.gz
| Download URL | shipp_dashboard-0.1.0.tar.gz |
|---|---|
| Size | 44.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9b707f32bd805fb7a1e6849e941f3b5fb17c28f6608b2e1b8b4f7413ed2e6bee
|
|
BLAKE2b-256 checksum How to use checksums |
bb70324a39f7318e55e31b7f037aa997cb4212dae9bdc0af54d2dc01854c726d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.12
|
Release files / shipp_dashboard-0.1.0-py3-none-any.whl
| Download URL | shipp_dashboard-0.1.0-py3-none-any.whl |
|---|---|
| Size | 23.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
fc59529421ebe807340bc3dc6a68b9c998503aa974eb4081b5bee8d5b2cfb2e9
|
|
BLAKE2b-256 checksum How to use checksums |
9267fc567b2d7378efcd8c3154c81c29a50f4a75fcb75a8a01b2e8bcf5377168
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.12
|