Skip to main content

Command Palette

Search for a command to run...

How a CS2 side project escalated into a full analytics SaaS

Published
3 min read
How a CS2 side project escalated into a full analytics SaaS

Welcome to The Grind. If you are a software engineer, you already know how this story starts. You find a minor inconvenience in a video game you play, you think, "I bet I could parse that data and build a quick UI for it over the weekend," and suddenly you are staring down the barrel of a production-grade infrastructure, a custom reward economy, and a 2D rendering engine.

That is exactly how CSSkill.com was born.

My name is Ole Haugset, and I’ve been writing code for 20 years. My career trajectory followed the classic path: I started in frontend, moved to full-stack, eventually became a Team Lead, and spent my recent years as a System Architect. I spend my days thinking about scalable systems, state management, and architectural patterns.

But CSSkill didn't start with an architectural blueprint. It started as a hobby project with absolutely no clear ambition or roadmap.

The Spark: Parsing the Chaos of CS2

I play Counter-Strike. And like many players, I was frustrated by the native CS2 demo viewer. It’s clunky, it’s slow, and extracting meaningful, aggregate data from it is a nightmare.

I initially just wanted to see if I could ingest CS2 .dem files and map out some basic economy and positioning data. I started tinkering. But the deeper I got into the data structures, the more the "System Architect" side of my brain took over.

I didn't just want a static dashboard. I wanted a tick-perfect 2D web replay viewer. I wanted to mathematically calculate "Untraded Deaths" by measuring the distance between teammates in the game engine. And eventually, I realized that to get gamers to actually engage with this data, I needed to build a fully automated reward economy that pays them in real weapon skins for improving.

What started as a weekend script organically shaped itself into a full-fledged Counter-Strike 2 analytics and rewards platform.

What is "The Grind"?

While the main CSSkill blog will focus on gameplay tips, economy guides, and platform updates for our users, "The Grind" is strictly for the builders. This Hashnode blog will serve as the engineering diary and technical roadmap for CSSkill. Here, I am going to take off the "Founder" hat and put the "Architect" hat back on.

In the coming weeks and months, I’ll be writing deep dives into:

  • Parsing CS2 Demos: The headache and triumph of extracting positional data, FOV, and utility trajectories.

  • Rendering 2D replays in the browser: How we handle state, performance, and timeline scrubbing without locking up the UI.

  • Building a virtual economy: The architecture behind the Reward Token (RT) system, ledger accuracy, and preventing exploiters from draining the system.

  • From MVP to scalable architecture: Lessons learned from 20 years of engineering applied to a rapidly scaling gaming SaaS.

  • The roadmap: What we are building next, the technical hurdles in our way, and how we plan to solve them.

Let's Build

Building a product as a solo dev or small team is a grind. You are writing the frontend, configuring the CI/CD pipeline, managing the database, and trying to market the thing all at once.

If you are interested in game data, web architecture, or just enjoy reading about the realities of bootstrapping a SaaS, hit the subscribe button.

I’ll be dropping our first technical deep-dive next week. Until then, if you want to see the result of this "escalated side project," you can check out the live platform at CSSkill.com.

The Foundation

Part 1 of 1

Going from idea - to mvp - to market. We share every step of the process