PACR — Personal Adaptive Coach for Runners
PACR ist die erste europäische Lauf-App, die ihren Trainingsplan in Echtzeit an Tagesform, Menstruationszyklus und gesundheitliche Besonderheiten wie Asthma anpasst — DSGVO-konform und Made in Germany. PACR is the first European running app that adapts its training plan in real time to daily form, menstrual cycle and individual health factors like asthma — GDPR-compliant and made in Germany.
Zum Namen: PACR ist die Kurzform von Pacer — im Laufsport jemand, der bei einem Wettkampf andere Läufer:innen dabei unterstützt, ihre Ziel-Pace zu halten. Genau das macht die App: mitlaufen, mitdenken, dranbleiben. About the name: PACR is short for pacer — in running, that's someone who helps other runners hold their target pace during a race. That's exactly what the app does: run with you, think with you, keep you going.
Worum es gehtWhat it's about
Die meisten Lauf-Apps tun so, als hätten Läufer:innen keinen Körper. Ein verpasster Tag und der ganze Plan ist Schrott; ein stressiger Arbeitstag und das Intervalltraining wird trotzdem in den roten Bereich geschoben; Zyklus, Asthma oder ein schlechter Schlaf kommen schlicht nicht vor. Most running apps act as if runners didn't have a body. Miss a day and the whole plan is wrecked; a stressful workday and the intervals still get pushed into the red zone; cycle, asthma or bad sleep simply don't exist.
PACR macht es anders. Die App kombiniert klassische Trainingswissenschaft (VDOT, ACWR, Training Load, Readiness) mit einer adaptiven Engine, die jede neue Information — ein FIT-File von der Uhr, eine kurze Selbsteinschätzung, ein Zyklus-Update — sofort in die nächsten Einheiten einrechnet. Statt einem starren Plan bekommt jede:r Läufer:in einen Plan, der sich mitbewegt. PACR does it differently. The app combines classic training science (VDOT, ACWR, training load, readiness) with an adaptive engine that folds every new signal — a FIT file from your watch, a quick self-assessment, a cycle update — into the next sessions immediately. Instead of a rigid plan, every runner gets a plan that moves with them.
Dazu kommt eine Community ohne Leaderboard: echte Laufgruppen, gemeinsame Strecken, ein News Hub mit kuratierten Inhalten — aber kein Wettkampf um die schnellste Kilometerzeit. On top of that: a community without a leaderboard. Real running groups, shared routes, a news hub with curated content — but no race for the fastest kilometre.
ZielgruppeAudience
Hobby- und ambitionierte Hobbyläufer:innen in Deutschland und Europa zwischen 25 und 45 Jahren, die strukturiertes Training suchen, aber genug von US-zentrierten Apps haben, die ihren Körper ignorieren und ihre Gesundheitsdaten unkontrolliert exportieren. Hobby and ambitious hobby runners in Germany and Europe between 25 and 45 who want structured training, but are done with US-centric apps that ignore their bodies and ship health data wherever they please.
Kern-FeaturesCore features
- Adaptive Engine — jede Trainingseinheit, jedes Feedback und jede Zyklusphase verändert den Plan live.Adaptive engine — every session, feedback and cycle phase changes the plan live.
- Cycle Sync — Intensitäten werden an die hormonellen Phasen angepasst (manuell oder via Schnittstelle).Cycle Sync — intensities adapt to hormonal phases (manual or via integration).
- Smart Calendar — verpasste Einheiten werden intelligent kompensiert, statt den ganzen Plan zu kippen.Smart Calendar — missed sessions are compensated intelligently instead of trashing the whole plan.
- FIT-Datei-Import — direkter Upload von Garmin, Coros & Co. via Garmin FIT SDK.FIT file import — direct upload from Garmin, Coros & co. via the Garmin FIT SDK.
- Trainings-Bibliothek — Intervalle, Tempoläufe, Steigerungen als modulare Step-Blöcke (Nx-Wiederholungen).Workout library — intervals, tempo runs, strides as modular step blocks (Nx repeats).
- VO2max & Readiness — Daniels/VDOT-Berechnung, HF-korrigiert; Readiness-Score mit 4-Tages-Decay.VO2max & readiness — Daniels/VDOT calculation, HR-corrected; readiness score with 4-day decay.
- Community Routes — GPX-Upload, Mini-Map-Karten, virtuelle Bot-Runner für realistische Vergleichswerte.Community routes — GPX upload, mini-map cards, virtual bot runners for realistic benchmarks.
- Run Clubs & Trainer Events — echte Laufgruppen mit Trainer-Rolle, wiederkehrenden Events (RRULE) und Geocoding.Run clubs & trainer events — real groups with coach role, recurring events (RRULE) and geocoding.
- News Hub — kuratierte Lauf-News (RSS-Ingestion) plus Friend-Feed mit Likes, Kommentaren und Trending.News hub — curated running news (RSS ingestion) plus friend feed with likes, comments and trending.
- Running Buddy — Match-basiertes Finden von Trainingspartner:innen nach Pace, Distanz und Region.Running buddy — match-based discovery of training partners by pace, distance and region.
- Wetter-Widget — Lauf-Wetterprognose für die hinterlegte Heimatadresse.Weather widget — running-specific forecast for your home location.
- PRO-Subscription — fairer Founder-Preis, 14 Tage kostenlos testen.PRO subscription — fair founder pricing, 14-day free trial.
Technik-ArchitekturTechnical architecture
BackendBackend
- Spring Boot 3.2 / Java 21, REST-API mit JWT-Auth (Spring Security), Ownership-Checks auf jedem User-Endpoint.Spring Boot 3.2 / Java 21, REST API with JWT auth (Spring Security), ownership checks on every user endpoint.
- JPA/Hibernate auf MariaDB, Schema-Migrationen ausschließlich über Liquibase (kein
ddl-auto).JPA/Hibernate on MariaDB, schema migrations exclusively via Liquibase (noddl-auto). - AOP-basierte
@RequiresSubscription-Annotation für PRO-Features.AOP-based@RequiresSubscriptionannotation for PRO features. - LLM-Integration via LangChain4j + OpenAI (Sprache im Prompt mitgegeben).LLM integration via LangChain4j + OpenAI (language passed in the prompt).
- Garmin FIT SDK zum Parsen von
.fit-Workouts (HR, Pace, Power, Cadence, Elevation).Garmin FIT SDK for parsing.fitworkouts (HR, pace, power, cadence, elevation). - Globaler
GlobalExceptionHandlerfür generische, sichere Fehlermeldungen.GlobalGlobalExceptionHandlerfor generic, safe error responses. - DSGVO-konforme User-Löschung über
UserDeletionServicemit kaskadierender Bereinigung.GDPR-compliant user deletion viaUserDeletionServicewith cascading cleanup.
Frontend
- Angular 19, Standalone Components, Angular Material, eigenes KINETIC Design System (CSS-Variablen + Mixins).Angular 19, standalone components, Angular Material, in-house KINETIC Design System (CSS variables + mixins).
- Brand-Farbe Electric Lime
#8ffc2eauf Charcoal-Hintergrund, Schrift Lexend.Brand colour Electric Lime#8ffc2eon charcoal, type set in Lexend. - Internationalisierung mit
@ngx-translate(DE/EN), Material Symbols als Icons.Internationalisation via@ngx-translate(DE/EN), Material Symbols for icons. - Leaflet für interaktive Karten und Location-Picker.Leaflet for interactive maps and location picker.
- PWA-Auslieferung, Mobile-First.Delivered as a mobile-first PWA.
InfrastrukturInfrastructure
- Server in Frankfurt, Secrets via
.env, eigene Prod-Properties ohne Defaults.Servers in Frankfurt, secrets via.env, dedicated production properties without defaults. - Verschlüsselte Speicherung, keine Weitergabe von Nutzerdaten, vollständig DSGVO-konform.Encrypted storage, no third-party data sharing, fully GDPR-compliant.
- Security-Audit abgeschlossen am 05.04.2026 (IDOR-Fixes, Privilege-Escalation-Schutz, CORS-Hardening).Security audit completed on 2026-04-05 (IDOR fixes, privilege escalation protection, CORS hardening).
Was PACR besonders machtWhat makes PACR different
- Adaptiv, nicht starr. Jeder Datenpunkt — Lauf, Feedback, Zyklus, Schlaf — beeinflusst das nächste Training. Sofort.Adaptive, not rigid. Every signal — run, feedback, cycle, sleep — shapes the next session. Immediately.
- Frauen mitgedacht. Cycle Sync ist kein aufgeklebtes Feature, sondern Teil der Trainingslogik.Built for women too. Cycle Sync isn't a sticker — it's part of the training logic.
- Europäisch. Daten in Frankfurt, DSGVO statt „Privacy Policy". Kein Datenexport in die USA.European. Data in Frankfurt, GDPR instead of a "Privacy Policy". No data export to the US.
- Community statt Wettkampf. Run Clubs, gemeinsame Strecken, News Hub — aber kein Leaderboard.Community, not competition. Run clubs, shared routes, news hub — but no leaderboard.
- Wissenschaftlich fundiert. VDOT, ACWR, Training Load, Readiness — nicht aus dem Bauch, sondern aus der Sportwissenschaft.Scientifically grounded. VDOT, ACWR, training load, readiness — not gut feeling, sports science.
ZeitstrahlTimeline
- 2024 — Erste Version als „Smart Trainingsplan" (Spring Boot + React).2024 — first version as "Smart Trainingsplan" (Spring Boot + React).
- 2025 — Migration auf Angular 19, neues Datenmodell (Training-Templates + UserTrainingEntry).2025 — migration to Angular 19, new data model (training templates + UserTrainingEntry).
- Q1 2026 — Rebranding zu PACR, Cycle Sync, Community Routes, News Hub.Q1 2026 — rebrand to PACR, Cycle Sync, community routes, news hub.
- 05.04.2026 — Security-Audit & Go-Live.2026-04-05 — security audit & go-live.
- Heute — Live unter pacr.app, in aktiver Weiterentwicklung.Today — live at pacr.app, in active development.
Links
- Live:Live: pacr.app
- Landing Page (EN):Landing page (EN): pacr.app/landing/en
- Wissens-Hub:Knowledge hub: pacr.app/wissen
- Repository: privat — auf Anfrage einsehbar.Repository: private — available on request.