100% Local · Open Source · Free

Your CS2 gameplay,
analyzed in depth.

Parse demo files, track performance trends across maps, replay rounds in 2D, and get AI-powered tactical insights — all running locally on your machine.

50+ Metrics per match
9 Supported maps
0 Data sent to servers

Everything you need to improve

From high-level trends to frame-by-frame round analysis.

Match Breakdown

Full scoreboard, aim analysis, utility usage, economy timeline, side effectiveness, and behavioral radar — all from a single demo file.

Trend Tracking

Track K/D, KAST%, HLTV rating, win rate, aim score and more across matches. Filter by map to see where you excel.

2D Round Replay

Watch any round play out on the radar. Player movement, grenades with flight paths, kill lines, flash effects — all rendered in real time.

Map Roles & Callouts

AI-detected CT/T roles per map with spider charts. See if you're an anchor, rotator, lurker, or entry fragger — backed by positional data.

Fully Local & Private

No cloud. No accounts. No telemetry. Your demo files stay on your machine. Everything runs through a local Docker container or Python process.

AI Tactical Insights

Connect your own API key (OpenAI, Anthropic, Gemini, Mistral) and get match-specific feedback: The Good, The Bad, The Ugly.

Built for deep analysis

A few glimpses of what you'll see after parsing your first demo.

de_inferno 13 : 9 Apr 8, 2026
Player K D ADR Rating
► pr1me 28 14 98.3 1.42
Dusius 22 16 82.1 1.18
donk 19 17 76.4 1.05
Brabrabrupt 16 18 68.9 0.92
farruhkt 14 19 61.2 0.81
Match Scoreboard
1.24 HLTV Rating
72.4% KAST
84.1 ADR
48.2% HS%
Performance KPIs
Behavioral Radar

Interactive 2D Replay

Watch a demo round play out on a stylized dust2 map. Movement trails, grenades, kills — just like the full app.

de_dust2 Round 14 8 : 5
1.0×
0:00 / 0:23

Five dimensions of aim

Every kill broken down into counterstrafe quality, engagement speed, crosshair placement, and reaction time.

AIM AIM : 52/100
OVERALL AIM
52
▼ 10%
GOOD
COUNTERSTRAFE / MOVEMENT
18 ▼ 48% u/s avg ↑ PRO
Range: 0 – 142 u/s
AVG
75% Still 17% C-Strafed 8% Running
ENGAGEMENT TIME
0.80 ▲ 35% sec avg AVERAGE
Range: 0.08s – 2.00s
AVG
PRE-AIM / CROSSHAIR
6.4 ▼ 17% ° avg error ↑ HIGH AMATEUR
Range: 0.5° – 29.5°
AVG
75% <3° 8% <10° 8% <25° 8% 25°+
REACTION TIME
350 ▼ 4% ms avg ↓ BELOW AVG
Range: 109 – 688ms
AVG
13% <180ms 13% <230ms 25% <320ms 50% 320ms+

Round-by-round breakdown

Every round told as a story — kills, utility, economy, and positioning all in one view.

R4 T FULL BUY $4600 WIN 5K 0D 476dmg
[D-Snake]avenger (at A Site) — AK-47 HS 81.4 u/s TTK 0.109s
rokot (at Goose) — AK-47 5.7° TTK 0.406s
MegaCalvoo (at Catwalk) — AK-47 util TTK 0.203s
◆ Flashed: hanz 0.82s, Boostmihi 0.5s ● Planted
Mid Area → Mid Area unknown → A Side Goose → unknown
R5 T HALF BUY $3900 LOSS 3K 1D 330dmg
R6 T FULL BUY $4800 WIN 2K 0D 208dmg
R7 T HALF BUY $3900 LOSS 1K 1D 157dmg
R8 T FORCE BUY $2000 WIN 1K 0D 222dmg
🗺 MINIMAP — ROUND 4
KILL DEATH PLAYER POS FLASH SMOKE
Killed [D-Snake]avenger — AK-47 HS
Killed rokot — AK-47
Killed MegaCalvoo — AK-47
Flash from Mid Area → A Site
Smoke from unknown → A Site

Behavioral assessment

Your playstyle quantified per side — aggression, trading, isolation, survival, and sniper tendencies in one radar view.

CT SIDE ★ Isolation (64)
AGGRESSION
25% 1W/3L
🤝 TRADING
0% 0W/5L
👁 ISOLATION
67% 2W/1L
T SIDE ★ Isolation (78)
AGGRESSION
67% 2W/1L
🤝 TRADING
0% 0W/3L
👁 ISOLATION
100% 6W/0L

Utility impact & economy

Track grenade usage per round, flash effectiveness with blind durations, and your full economy timeline.

PER-ROUND UTILITY IMPACT
FLASH HE MOLLY
FLASH EFFECTIVENESS — PER INSTANCE (ENEMY VS FRIENDLY BLIND DURATION)
ECONOMY TIMELINE — ITEMS BOUGHT & ROUND IMPACT

AI sparring partner

Chat with an AI that has read your entire match. Ask about any round, positioning mistake, or tactical pattern.

🤖
PULSE_AI SPARRING
READY TO ANALYZE MATCH
OPENAI GPT-5.4-MINI ▾

Select a topic or ask anything about the match...

MATCH OVERVIEW ROUND-BY-ROUND POSITIONING & TRADES

Get started in 3 steps

1

Download & Run

Run with Docker or Python. One command and the local server starts on port 8000.

2

Import Demos

Upload .dem files or point to your CS2 replays folder. Parsing is automatic.

3

Analyze & Improve

Explore match breakdowns, track trends, replay rounds, and get AI feedback.

Download

Free, open source, and runs entirely on your machine.

🐳

Docker (Recommended)

docker compose up -d

Includes everything. Mount your demos folder and go.

🐍

Python

pip install -r requirements.txt
python api.py

Requires Python 3.11+. Direct local install.

📦

Source Code

View on GitHub

Star the repo, open issues, or contribute.

Support the project

pr1maly is a passion project built in free time. Your support helps keep it going.

💬 Feedback & Ideas

Found a bug? Have a feature idea? Let me know.

Open an Issue

☕ Donate

If pr1maly helps your game, consider buying me a coffee.