A simple, privacy-focused web application for tracking and visualizing thyroid blood test results over time. All data is stored locally in your browser - no server, no accounts, complete privacy.
- FT3 (Free Triiodothyronine)
- FT4 (Free Thyroxine)
- TSH (Thyroid Stimulating Hormone)
- L-Thyroxin dosage (optional medication tracking for hypothyroidism)
- Thyreostatica dosage (optional medication tracking for hyperthyroidism - e.g., Methimazole, Carbimazole)
- Interactive charts showing trends over time
- Color-coded values indicating:
- Below normal range (blue)
- Low normal range (cyan)
- Mid normal range (green)
- High normal range (orange)
- Above normal range (red)
- Multiple Y-axes for different measurement scales
- Hover tooltips with detailed range information
- Configure your own normal ranges for each marker
- Save custom ranges for personalized tracking
- Reset to default values anytime
- Ranges persist across sessions
- Export: Download all your data as JSON (backup or transfer)
- Import: Restore data from previously exported files
- Share: Generate a link to share your data with others (e.g., your doctor)
- Merge or Replace: Choose how to handle existing data when importing
- Edit/Delete: Modify or remove individual measurements
- All data stored locally in browser localStorage
- No server-side storage or accounts required
- No data leaves your device
- Works completely offline after initial load
- Install as App: Add to your home screen on iOS and Android
- Offline Support: Works without internet connection after installation
- Native Feel: Runs like a native mobile app in standalone mode
- Quick Access: Launch directly from your device's home screen
- iOS (Safari): Tap Share → "Add to Home Screen"
- Android (Chrome): Tap Menu (⋮) → "Install app" or "Add to Home screen"
- Enter the date of your blood test
- Input your FT3, FT4, and TSH values
- Optionally add your L-Thyroxin dosage (for hypothyroidism treatment)
- Optionally add your Thyreostatica dosage (for hyperthyroidism treatment - e.g., Methimazole, Carbimazole)
- Click "Add Measurement"
- Click "Show/Hide" in the Normal Ranges Configuration section
- Enter your lab's reference ranges for each marker
- Click "Update Ranges" to save
- Click the "Export Data" button in the Measurement History section
- A JSON file will be downloaded to your computer
- Keep this file as a backup or to transfer data between devices/browsers
- Click the "Import Data" button
- Select a previously exported JSON file
- Choose to merge with existing data or replace all data
- Optionally import custom normal ranges from the file
- Click "Edit" next to any measurement to modify it
- Click "Delete" to remove a measurement (with confirmation)
- Click the "Share" button in the Measurement History section
- A shareable link containing all your data will be copied to your clipboard
- Send this link to anyone (e.g., your doctor) to let them view your data
- Recipients can view the data without it being saved to their device
- Pure HTML/CSS/JavaScript - No build process required
- Chart.js for interactive visualizations
- Tailwind CSS for responsive design
- localStorage API for persistent data storage
Works in all modern browsers that support:
- localStorage
- ES6 JavaScript
- HTML5
Simply visit https://kolstr.github.io/thyroid-level-tracker/
- Clone the repository:
git clone https://github.com/kolstr/thyroid-level-tracker.git
- Open
docs/index.htmlin your web browser
That's it! No installation, no dependencies, no build process.
Exported JSON files contain:
{
"version": "1.0",
"exportDate": "2025-11-06T12:00:00.000Z",
"normalRanges": {
"ft3": { "min": 2, "max": 4.4, "unit": "" },
"ft4": { "min": 0.92, "max": 1.68, "unit": "" },
"tsh": { "min": 0.27, "max": 4.2, "unit": "" }
},
"measurements": [
{
"timestamp": "2025-11-06",
"ft3": 3.2,
"ft4": 1.4,
"tsh": 2.1,
"lthyroxin": 100,
"thyreostatica": 5
}
]
}Contributions are welcome! Feel free to:
- Report bugs
- Suggest features
- Submit pull requests
This project is open source and available under the MIT License.
This tool is for personal tracking purposes only and is not a substitute for professional medical advice. Always consult with your healthcare provider regarding your thyroid health and treatment.