← Zurück zu allen Projekten
LactateThreshold Logo

LactateThreshold

Professionelle Laktat-Diagnostik-Plattform für Ausdauersportler und Trainer. Präzise LT1/LT2 Schwellenbestimmung, VLamax-Berechnung und KI-gestützte Analyse.

Sport-Wissenschaft Vite + React Supabase Stripe KI-Analyse

LT1 & LT2 verstehen

Die zwei wichtigsten Schwellen für effektives Ausdauertraining.

🟢

LT1 – Aerobe Schwelle

Der Punkt, an dem Laktat erstmals über den Ruhewert ansteigt. Hier trainierst du rein aerob und kannst stundenlang laufen.

🔴

LT2 – Anaerobe Schwelle

Der maximale Steady-State. Oberhalb dieser Schwelle akkumuliert Laktat und du musst bald aufhören.

Kernfunktionen

📐

Multi-Methoden-Analyse

Dmax, Modified Dmax, Log-Log und OBLA (4 mmol/L) – 4 wissenschaftlich validierte Methoden.

🚴

Laufen & Radfahren

Pace (min/km) oder Watt-basierte Analyse für beide Sportarten.

VLamax Profiling

Bestimmung des metabolischen Profils nach Mader-Methode.

🏆

Wettkampf-Strategien

Personalisierte Pacing-Empfehlungen für 10K, Halbmarathon und Marathon.

👥

Coach-Modus

Athleten verwalten, Einladungen versenden und Team-Übersicht.

🤖

KI-Interpretation

Google Gemini analysiert deine Ergebnisse und gibt personalisierte Empfehlungen.

Die Mathematik dahinter

Implementierung der Dmax-Methode und VLamax-Berechnung.

utils/lactateMath.ts
// Modified Dmax: Maximaler Abstand zur Baseline
function methodDmax(data: Point[], modified = false) {
    let startPoint = data[0];
    let endPoint = data[data.length - 1];

    if (modified) {
        // Start beim ersten signifikanten Anstieg
        for (let i = 1; i < data.length; i++) {
            if (data[i].y - data[i-1].y >= 0.4) {
                startPoint = data[i - 1];
                break;
            }
        }
    }

    // Finde Punkt mit maximalem Abstand zur Linie
    const m = (endPoint.y - startPoint.y) / 
              (endPoint.x - startPoint.x);
    // ... Cubic Spline Interpolation
}
utils/vlamax.ts
// VLamax-Berechnung nach Mader
function calculateVLamax(lt2Power, vo2max, weight) {
    const fatMax = lt2Power * 0.65;
    const glycolyticShare = (lt2Power - fatMax) / lt2Power;
    
    // VLamax in mmol/L/s (typisch: 0.3-0.8)
    const vlamax = glycolyticShare * (vo2max / weight) * 0.012;
    
    return {
        value: Number(vlamax.toFixed(3)),
        type: vlamax < 0.4 ? "Ausdauer-Typ 🏃" : "Sprinter-Typ 🚴"
    };
}

6-Zonen Trainingssystem

1️⃣

Recovery

< 55% LT2 – Aktive Erholung

2️⃣

Aerobic

56-75% LT2 – Grundlagenausdauer

3️⃣

Tempo

76-90% LT2 – Entwicklungsbereich

4️⃣

Threshold

91-105% LT2 – Schwellentraining

5️⃣

VO2max

106-120% LT2 – Intensive Intervalle

6️⃣

Anaerobic

> 120% LT2 – Sprints

Tech Stack

Frontend React 19, TypeScript, Vite
Styling Tailwind CSS 4, Framer Motion
Backend Supabase, Edge Functions
Payments Stripe Subscriptions
KI Google Gemini API
Charts Chart.js, jsPDF