Jeden dziennik zamiast rozproszonych notatek
Tedd’mhen zbiera trening, sen, regenerację i samopoczucie w jednym wpisie dziennym. Powstał z potrzeby porównywania własnych obserwacji w czasie: obciążenia treningowego z późniejszym snem, zmian nawyków z samopoczuciem albo regularności treningu z dłuższym trendem.
Łączy się z moim osobnym projektem treningu hybrydowego: rozwijaniem wytrzymałości przy utrzymywaniu siły z powerliftingu. Zainteresowanie sportem i longevity przekłada się tu na potrzebę ciągłego monitorowania treningu i regeneracji.
Zapis obejmuje skale liczbowe, parametry snu i fizjologii, sesje treningowe oraz notatki. Można wybrać spośród 150 sportów i 40 gotowych nawyków, dodać własne aktywności i rejestrować ich liczbę lub czas. Układ formularza i puste rutyny zapisują się na koncie, aby codzienny wpis nie wymagał konfiguracji od początku.
Co dzieje się z danymi
Dziennik pozwala filtrować obserwacje po datach, tekście, rodzaju treningu i kontekście choroby. Przy zapisie nietypowe wartości wymagają świadomego potwierdzenia. Brak pomiaru pozostaje brakiem — nie zamienia się w zero.
Analiza porównuje parametry tego samego dnia lub z przesunięciem kalendarzowym. Przykładowo trening w poniedziałek można zestawić ze snem zapisanym we wtorek. Dostępne są korelacje Pearsona i Spearmana, analiza po usunięciu trendu oraz średnie z pełnych okien 7 i 28 dni.
Modele i widoczna niepewność
Modele bayesowskie opisują trend jednej zmiennej albo zależność wybranego wyniku od kilku wejść. Wykresy pokazują osobno oszacowanie średniej i niepewność pojedynczej obserwacji. Eksploracyjne prognozy sięgają 28 dni; ocena chronologiczna sprawdza model na późniejszych danych.
To analiza obserwacyjna. Korelacja nie rozstrzyga o przyczynie, a przedziały zależą od założeń modelu i jakości zapisów. Dokumentacja metod opisuje równania, sposób parowania dat i ograniczenia.
Implementacja i przenoszenie zapisów
Interfejs powstał w React i TypeScript. Cloudflare Worker obsługuje API, dane dziennika trafiają do D1, a obliczenia statystyczne działają w przeglądarce w Web Workerze. Import pokazuje dane do sprawdzenia przed zapisem. Eksport pozwala wybrać zakres i pola, a następnie pobrać JSON, NDJSON, CSV lub Markdown.
Publiczne demo korzysta z danych syntetycznych. Można przejrzeć dziennik i analizę bez zakładania konta; zmiany w demo są tymczasowe. Kod, testy i opis architektury są w repozytorium, a pełna dokumentacja na GitHub Pages.