Desktop2023·Full-Stack Developer·6 months

Star Coding

A professional desktop tool for managing ECU encodings on Mercedes-Benz vehicles.

Private project
Overview

What it is

Star Coding is a desktop application used by automotive technicians to apply, manage, and log ECU encodings on Mercedes-Benz vehicles. It provides a structured interface over raw OBD protocol communication, reducing errors and session time for workshop professionals.

Problem

The challenge

Automotive technicians were relying on generic OBD tools with no domain-specific logic, no session logging, and no encoding profiles. Every job required manual byte-level configuration — slow, error-prone, and impossible to audit after the fact.

Solution

The approach

I built a JavaFX desktop application backed by a local backend service. The app abstracts OBD protocol communication into human-readable encoding profiles. Technicians select a vehicle model and desired configuration; the app handles all byte-level ECU communication. Every session is logged with a timestamp, technician ID, and a diff of applied encodings.

Architecture

How it's built

The frontend is built with JavaFX and Scene Builder, providing a native desktop experience. It communicates with a local Java backend service via an internal REST API. The backend handles OBD protocol framing, encoding profile management, and writes session logs to a local SQLite database.

Key challenges

What made it hard

01

OBD protocol abstraction

Raw OBD communication is byte-level and highly vehicle-specific. I built a profile system where each encoding is a named set of byte mutations — maintainable by non-engineers and extensible to new vehicle models without touching application code.

02

Write integrity

An incomplete ECU write can leave the vehicle in an inconsistent state. I implemented a transaction-style mechanism that verifies each byte after writing and rolls back automatically on failure, protecting the vehicle's control systems.

03

Offline-first

Workshops often have poor connectivity. The entire application — profiles, session logs, and history — operates fully offline, with optional cloud sync when a connection becomes available.

Tech stack

Tools & technologies

Desktop

  • Java 17
  • JavaFX
  • Scene Builder
  • FXML

Backend

  • Java
  • Spring Boot
  • SQLite
  • OBD Protocol

Tooling

  • Maven
  • JPackage
Screenshots

In the wild

Screenshots coming soon

Links

See it
in action.