← Zurück zu LaufBuddy

Projekt & Technik

Ein technischer Blick hinter LaufBuddy.

LaufBuddy ist eine eigenständig entwickelte Android-Lauf-App.

Das Projekt verbindet klassische Mobile-App-Entwicklung mit systemnahen Android-Funktionen: GPS-Aufzeichnung, Hintergrundprozesse, Live-Datenübertragung, Sprachfunktionen, Bluetooth-Sensorik und die Kommunikation zwischen React Native und nativen Kotlin-Modulen.

Was LaufBuddy praktisch umsetzt

Die App begleitet einen gestarteten Lauf nicht nur auf dem sichtbaren Bildschirm. Viele Funktionen müssen auch dann zuverlässig weiterarbeiten, wenn LaufBuddy minimiert oder das Display gesperrt ist.

GPS · BACKGROUND LOCATION

Lauftracking

Route, Distanz, Pace und weitere Laufdaten werden aufgezeichnet. Die Aufzeichnung ist auch für den laufenden Hintergrundbetrieb ausgelegt.

LIVE DATA · NETWORKING

LiveBuddy

Ein gewählter Buddy kann einen aktiven Lauf über einen Browser-Link begleiten und den aktuellen Laufstand sehen.

VOSK · AUDIO

BuddyWord

Sprachbefehle werden mit Vosk direkt auf dem Android-Gerät erkannt und in den laufenden App-Ablauf eingebunden.

BLE · SENSORIK

Herzfrequenzsensoren

Bluetooth-Low-Energy-Herzfrequenzsensoren können mit LaufBuddy verbunden und in den Laufkontext integriert werden.

Technologien im Projekt

FRONTEND & APP-LOGIK

React Native · TypeScript · Expo

Benutzeroberfläche, App-Zustände und ein großer Teil der LaufBuddy-Logik werden mit React Native und TypeScript umgesetzt und mit Expo-Modulen verbunden.

NATIVE ANDROID

Kotlin

Für systemnahe und zeitkritische Funktionen wurden eigene native Android-Module entwickelt und über die React-Native-Brücke mit der App verbunden.

ANDROID LIFECYCLE

Foreground & Background Services

Ein Schwerpunkt ist das zuverlässige Verhalten bei gesperrtem Display, minimierter App und den Energiesparmechanismen moderner Android-Geräte.

BUILD & DEBUGGING

Gradle · ADB · reale Geräte

Release-Builds, Installation, Log-Auswertung und Fehlersuche werden auf realer Android-Hardware durchgeführt und nicht nur im Emulator betrachtet.

Ein Beispiel für systemnahe Fehlersuche

Bei LiveBuddy musste die Datenübertragung auch bei gesperrtem Display zuverlässig funktionieren. Dafür wurde das Verhalten über JavaScript, Hintergrundaufgaben, Netzwerkaufrufe und Android-Energieverwaltung hinweg untersucht. Der kritische Übertragungsweg wurde schließlich durch eine native Kotlin-Komponente ergänzt.

Solche Aufgaben zeigen einen wichtigen Teil des Projekts: Fehler werden nicht nur dort behandelt, wo sie sichtbar werden, sondern über mehrere technische Ebenen bis zur eigentlichen Ursache verfolgt.

Was dieses Projekt als Arbeitsprobe zeigt

Berechtigungen & transparente Datennutzung

LaufBuddy verwendet mehrere Android-Funktionen, die für Lauftracking, Hintergrundbetrieb und Buddy-Funktionen notwendig sind. Die App erklärt sensible Freigaben vor der jeweiligen Android-Berechtigungsabfrage.

Standort während der Nutzung

LaufBuddy benötigt den Standort, um bei einem gestarteten Lauf Strecke, Distanz und Tempo aufzuzeichnen.

Genauer Standort

Der genaue Standort verbessert die Genauigkeit von Strecke, Distanz und Tempo.

Standort im Hintergrund

LaufBuddy erhebt Standortdaten, damit ein gestarteter Lauf weiter aufgezeichnet wird, wenn die App minimiert ist oder der Bildschirm gesperrt ist. Wenn LiveBuddy aktiviert ist, kann der aktuelle Laufstand während des laufenden Laufs für den gewählten Buddy bereitgestellt werden.

Standortdienste / GPS

Die Android-Standortdienste sind eine allgemeine Systemeinstellung des Telefons und keine zusätzliche LaufBuddy-Berechtigung. Dazu gehören GPS und – je nach Gerät – weitere Verfahren zur Standortbestimmung.

Mikrofon

LaufBuddy nutzt das Mikrofon für Sprachfunktionen während des Laufs. Gesprochene Befehle werden für die Vosk-Spracherkennung direkt auf dem Gerät verarbeitet.

Aktivitätserkennung

LaufBuddy nutzt Bewegungsinformationen für die automatische Pause während eines Laufs.

Benachrichtigungen

LaufBuddy benötigt Benachrichtigungen, damit ein laufender Lauf auch im Hintergrund zuverlässig ausgeführt werden kann.

Telefon

LaufBuddy nutzt Telefonberechtigungen, um den gewählten Buddy direkt anzurufen und zu prüfen, ob Mobilfunk verfügbar ist.

Kontakte

LaufBuddy benötigt Zugriff auf Kontakte, damit ein Buddy ausgewählt werden kann. Dafür werden Namen und Telefonnummern aus den Kontakten gelesen.

Akku-Optimierung

Damit LaufBuddy bei einem gestarteten Lauf auch bei gesperrtem Bildschirm zuverlässig funktioniert, kann eine Einschränkung durch die Android-Akku-Optimierung vermieden werden.

Ausführliche Informationen zur Verarbeitung personenbezogener Daten stehen in der Datenschutzerklärung.

Projektkontakt

Fragen zu LaufBuddy oder zum technischen Projekt: info@laufbuddy.app