Combat Telemetry for Elite Dangerous

Web based saved game file analyser with game inspired head up display like dashboard

TypeScriptNext.jsTailwindCSS
Live DemoGitHub
project screenshot

Problem

In the popular game Elite Dangerous one of the main game elements is combat, however there is no way to track engagements within the game. I wanted to develop a solution that would allow players to easily analyse their combat history.

Solution

The application implements file parsing in JavaScript to transform raw journal files into meaningful statistics through aggregation and visualisation. Combat Telemetry builds its statistics by combining information from several different journal events. Rather than treating each event independently, the parser gradually constructs a unified combat model as new events are encountered.

Features

Analysis

  • Lifetime combat statistics
  • Primary kill zone analysis
  • Ship destruction statistics
  • Rank breakdowns

Processing

  • Upload multiple journal files
  • Automatic combat log parsing
  • Client-side processing

Interface

  • Futuristic HUD-inspired design
  • Responsive desktop interface

Architecture

  • Frontend: Nextjs (state management, UI)

Data Flow & Parsing Strategy

Combat Telemetry processes locally uploaded Elite Dangerous journal files in the browser. Combat events are parsed into a unified data model before being aggregated into statistics for kills, bounties, systems and rank progression. This allows the application to analyse large journal files while keeping player data entirely local.

project screenshot

Combat Telemetry builds its statistics by combining information from several different journal events. Rather than treating each event independently, the parser gradually constructs a unified combat model as new events are encountered.

AI-Assisted Development

AI was used as a design assistant to iterate on the HUD-inspired interface, explore styling ideas and refine layouts. All application architecture, data modelling, parsing logic and feature implementation were designed and integrated by me.

Key Challenges

One of the main challenges was processing multiple journal files while ensuring combat events were aggregated correctly without introducing duplicate data. Because the journal is event-driven rather than state-driven, related information is spread across several event types and must be correlated before meaningful statistics can be produced.

Another challenge was designing a UI capable of presenting a large amount of combat information without overwhelming the user. I chose a HUD-inspired interface influenced by Elite Dangerous to create a cohesive experience while keeping the data easy to scan.

What I Learned

Through this project I strengthened my understanding of client-side file handling, data aggregation, and designing interfaces around a specific theme. It also provided experience using AI as a collaborative design tool while maintaining ownership of the application's architecture and implementation.

Acknowledgements

Elite Dangerous is developed by Frontier Developments. This project is an independent fan-made utility and is not affiliated with or endorsed by Frontier Developments.