Aim Trainer - Progress Tracker

Web platform with 40+ benchmarks tracking aim trainer performance with 50,000+ monthly users.

April 1, 2025
7 min read
Svelte 5TailwindCloudflare

Introduction

KovaaKs Aim Trainer is a popular aim training software used by gamers to improve their aiming ability. Previously, all community benchmarks apart from one made by the Voltaic aim group were created using Google Sheets.

This app has also been designed to be as easy to use as possible, by needing any login or account creation, and simply entering a Steam ID, vanity ID, or profile URL to access your profile and scores.

To help users track their progress across various community benchmarks, I developed a web application that can support all community benchmarks, as well as all the different rank calculations that they use, that can all be accessed in one place as a benchmark hub.

Project Overview

There are currently over 40 integrated community benchmarks and 50,000+ monthly active users, and has become a platform used by both beginners and advanced players to monitor their progress and compare performance.

Built with Svelte 5, styled with Tailwind CSS, and using Cloudflare Workers for serverless functions, the website is designed to be as fast and user friendly as possible, with extensive prefetching and caching, while also having tooltips for most user interactions.

Benchmark Tracker Homepage
Benchmark Tracker Homepage
Platform Preview
Platform Preview

Core Features

1. Unified Benchmark System

The platform consolidates 40+ community benchmarks into a single interface, which can be accessed after entering a Steam ID, URL or vanity ID. There are filters and tags that users can use to find the benchmark they want to try, as well as a button to play a random one.

Benchmark Selection Interface
Benchmark Selection Interface

There is also support for linking to specific aim groups directly, such as Voltaic or Revosect.

Aim Groups Overview
Aim Groups Overview

Key capabilities:

  • Browse benchmarks from Voltaic, Revosect, Aimerz+, and more
  • Filter by mixed, precise, reactive, tracking, switching, and other categories
  • Sort by relevance or favorites
  • Favorite benchmarks for quick access

2. Steam Integration & User Profiles

Users can easily access their profiles using Steam ID, vanity ID, or profile URL. The platform automatically fetches scores from the KovaaKs API.

User Search Interface
User Search Interface

Features:

  • Steam Vanity ID resolver
  • Autocomplete for favorited players
  • Autocomplete for cached profiles

3. Progress Tracking Table

The main score tables are based on existing Google Sheets benchmarks, but use the KovaaKs APIs to fetch user scores automatically, and make score tracking much easier. Each benchmark uses its own structure and rank calculation method, supporting roughly 20 different rank calculation algorithms. Each benchmark includes multiple difficulty tiers, allowing players to track progression from beginner to elite levels.

Benchmark Table View
Benchmark Table View

Table features:

  • Different difficulties for the benchmark accessible via tabs
  • Organized by categories (Clicking, Tracking, Switching, etc.)
  • Visual rank progression bars (Bronze → Silver → Gold → Platinum)
  • Current score vs. rank thresholds
  • Percentage completion toward next rank
  • Energy score calculation (custom rank metric)
  • Edit scores to see how improvements affect rank
  • View score history when linked to kovaaks.com account
  • Compare scores with friends or other players
  • Open the benchmark directly in KovaaKs
  • Save a screenshot of the table for sharing
  • Saving and loading previous states of the table
  • Settings to customize table appearance and behavior
  • Buttons to Copy/Paste scores directly from Google Sheets for validation

4. Progress Tracking & Snapshots

Save snapshots of your scores over time and track rank progression.

Snapshot Manager
Snapshot Manager

Snapshot features:

  • Save current scores with timestamps
  • Load previous snapshots into the table
  • Compare snapshots by loading them as a comparison in the table which also provides a head-to-head comparison view
  • Rank progress over time

5. Score History Tracking

For users who link their kovaaks.com account, they can view their last 10 scores for each scenario in a benchmark. This is limited to the last 10 plays due to KovaaKs API constraints.

Recent Score History
Recent Score History

6. Customization & Accessibility

Extensive table customization options ensure the interface works for every user.

Table Customisation Options
Table Customisation Options
Below is an example of a table with several customizations applied (not the same as the settings shown above).
Table with Customisation Applied
Table with Customisation Applied

Customization options:

  • Layout: Ultra, Compact, Normal, Wide density
  • Progress bars: Normal or Simple style
  • Visual aids: Shade category/rank cells, high contrast mode
  • Typography: Font selection, size adjustment, contrast tuning
  • Display: Bold text, text shadows, rank position, progress percentage

7. Benchmark Progress Comparisons

A second user can be loaded alongside the main profile to compare scores side-by-side in the benchmark table, with head-to-head rank comparisons and score differentials highlighted.

Benchmark Table with Comparison
Benchmark Table with Comparison

8. Visualizations

Players can visualize their performance with charts if they want a more visual representation of their progress.

Progress Graphs
Progress Graphs

Visualization features:

  • Radar charts showing performance across all aim categories
  • Head-to-head (H2H) record tracking
  • Sub-category performance breakdown
  • Color-coded category performance

9. Score Edit View

Users can also edit their scores directly in a detailed table view to see how changes would affect their ranks.

Editable Scores View
Editable Scores View

10. Individual Scenario Leaderboards

Every scenario in a benchmark has a shortcut to jump to its leaderboard. This page is essentially a wrapper of KovaaKs existing leaderboards, but provides the additional context of the ranks on the leaderboard, as well as a few extra stats.

Scenario Leaderboards
Scenario Leaderboards

11. Sensitivity Statistics

Each leaderboard page includes sensitivity distribution statistics for the current page being viewed. This is very useful for players looking to optimize their sensitivity settings based on top performers, or players trying to find a starting point.

Sensitivity Distributions per Scenario Leaderboard
Sensitivity Distributions per Scenario Leaderboard

Insights include:

  • Box plot distribution of sensitivity (cm/360)
  • Statistical measures (Min, Q1, Median, Mean, Q3, Max)
  • Outliers

12. Benchmark Builder

Includes a tool for creating custom benchmarks locally or to be submitted for review to be added. This cannot be fully automated as benchmarks often need manual adjustment to ensure that they are formatted correctly beyond syntactic correctness.

Benchmark Builder Interface
Benchmark Builder Interface
Interactive Benchmark Builder
Interactive Benchmark Builder
Benchmark Builder Preview and Manager
Benchmark Builder Preview and Manager

Builder features:

  • Add/remove difficulties
  • Configure rank colors and names
  • Set up categories and subcategories
  • Define scenario counts
  • Import/Export JSON configurations
  • Preview benchmark structure
  • Local benchmark management, if users wish to modify existing benchmarks, or create their locally.

Example JSON structure:

    {
      "benchmarkName": "Custom Benchmark",
      "rankCalculation": "generic-energy",
      "difficulties": [
        {
          "difficultyName": "Entry",
          "kovaaksBenchId": 1000,
          "sharecode": "KovaaKsCustomCode",
          "rankColors": {
            "Bronze": "#E69138",
            "Silver": "#999999",
            "Gold": "#FFE599",
            "Platinum": "#6FA8DC"
          },
          "categories": [
            {
              "categoryName": "Clicking",
              "color": "#272727",
              "subcategories": [
                {
                  "subcategoryName": "Static",
                  "scenarioCount": 4,
                  "color": "#FFF1AA"
                }
              ]
            }
          ]
        }
      ]
    }

13. Benchmark Statistics & Balancing

This is a page for benchmark creators, as this is quite heavy on the KovaaKs APIs. It offers statistics about benchmark participation and player distributions.

![Rank Distributions Overview](/images/aim-tracker/rank distributions.webp)

Rank Distributions Detail 1
Rank Distributions Detail 1
Rank Distributions Detail 2
Rank Distributions Detail 2

Technical Architecture

Frontend

  • Svelte 5 - Reactive UI with very good performance. In hindsight, it may have been easier to use React with Next.js for better ecosystem support, but Svelte has worked well so far.
  • Tailwind CSS - Utility-first styling for quick development
  • Chart.js and D3.js - Data visualization and graphs
  • TypeScript - Used for better type safety

Backend

  • Cloudflare Workers - Serverless edge computing
  • Cloudflare KV - Distributed key-value storage for caching
  • KovaaKs API Integration - Used to fetch data from KovaaKs
  • Steam OpenID - Authentication system

By using a lot of local caching, the website currently peaks at 11% of Cloudflare Workers free tier limits without incurring any costs. This is with roughly 3,000 daily active users and 50,000 monthly active users, as reported by Cloudflare Analytics.


Last updated October 2025