Health Diary
This is a submission for the Hacktoberfest Weekend Challenge: Build for a Friend What I Built I built Health Diary — an effortless, privacy-first nutrition and calorie tracking web app designed for my friend who wanted to eat healthier and track their meals without the tedious manual searching, complex ingredient lookups, or paid subscription paywalls found in most mainstream fitness apps. The…
Health Diary is a web application designed to simplify nutrition and calorie tracking for users who want to eat healthier without the hassle of manual searching, complex ingredient lookups, or subscription fees. Traditional calorie trackers require users to search for ingredients and serve sizes, spending 5-10 minutes after each meal on endless dropdowns. Health Diary streamlines this process, allowing users to log meals in just 5 seconds by speaking or typing what they ate.
The app's built-in parsing engine automatically extracts food items, calculates portion quantities, determines meal time, and instantly scales nutritional components. It provides comprehensive breakdowns of macronutrients (protein, carbs, fat) and micronutrients (fiber, sugar, sodium, potassium, calcium, iron, vitamins) with a diet quality score. Users can view monthly insights and a calendar with historical data, track consistency, and export data as CSV.
Key features include a voice or text input for quick logging, smart food parsing that understands quantities, portions, fractions, and meal types, a confirmation preview to review and adjust before logging, and a live display of calories eaten vs. daily targets. The app uses a zero-dependency, offline-first vanilla web stack, with speech recognition through the Web Speech API, a comprehensive food database, and a custom SVG charting engine for interactive visualizations.
All data is stored on the user's device, ensuring privacy and offline accessibility. The project is open-source, encouraging extensibility and customization by the community.
Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.