4 files. 412 lines total. Does ONE thing: Shows FACEIT player stats in match rooms.
api.py- Flask API with caching (113 lines)content.js- Chrome extension logic (169 lines)manifest.json- Extension config (14 lines)style.css- Basic styling (116 lines)api.py- Flask API with caching (113 lines)content.js- Chrome extension logic (169 lines)manifest.json- Extension config (14 lines)style.css- Basic styling (116 lines)
cd extendo-reborn
pip install flask flask-cors requests python-dotenv
export FACEIT_API_KEY=your_key_here
python api.pyWindows (PowerShell):
cd extendo-reborn
pip install flask flask-cors requests python-dotenv
$env:FACEIT_API_KEY="your_key_here"
python api.pyOr put your key in a local .env file (auto-loaded):
FACEIT_API_KEY=your_key_here
- Open Chrome → Extensions → Developer mode
- "Load unpacked" → Select
extendo-rebornfolder - Visit a FACEIT match room
- Extension auto-detects and shows player stats
- ✅ Detects FACEIT match rooms automatically
- ✅ Fetches match players via the official FACEIT Data API
- ✅ Fetches basic stats (Elo, Level, K/D, Win Rate)
- ✅ ADR windows: last 10/30/100 matches + date when the Nth match occurred
- ✅ Activity: games/day over last 7d/30d/90d windows
- ✅ Shows clean popup with stats
- ✅ Works on any FACEIT match room page
- ❌ No demo parsing
- ❌ No MongoDB
- ❌ No complex threading
- ❌ No authentication
- ❌ No advanced analytics
- ❌ No Docker
Build THIS first. Add features later.
- Minimal knobs (env var) for API host
- Optional: cache-busting/expiry
POST /players request body:
{ "nicknames": ["player1", "player2"] }
200 OK response (per player fields):
{
nickname, player_id, elo, level, avatar, country,
matches, wins, kd,
adr_last_10, adr_last_30, adr_last_100,
date_10_games_ago, date_30_games_ago, date_100_games_ago, // YYYY-MM-DD (UTC)
games_per_day_7d, games_per_day_30d, games_per_day_90d
}