Добавить в корзинуПозвонить
Найти в Дзене
Дмитрий Брунько

Питание бегуна нельзя планировать как обычный рацион. Я понял это, когда написал собственный калькулятор

История о том, как обычный вопрос про калории превратился в небольшое веб-приложение, которое я теперь использую каждый день. Я бегун-любитель с PR 17:54 на пятёрке. После полугода без тренировок и набора 11 килограммов вернулся к бегу и обнаружил, что моё время упало до 20:10. Просчитал математику и понял: дело не в форме, а в весе. Нужно сбрасывать. Логичный следующий шаг — навести порядок в питании. И тут я столкнулся с проблемой, которая, как оказалось, есть у большинства бегунов. Я открыл MyFitnessPal. Стандартный вопрос: пол, возраст, рост, вес, уровень активности, цель. Калькулятор выдал: 1800 ккал в день. Точка. И вот это «точка» — главная проблема. Бегун-любитель тренируется неравномерно. В понедельник у меня лёгкая пробежка час. Во вторник МПК с интервалами 5×1000 — это +800 ккал расхода. В среду снова лёгкий час. В четверг порог на 4×8 минут — снова +800. В пятницу выходной. В субботу легкий бег. В воскресенье длинный 1:30 — это вообще +1000 ккал. Расход в эти дни отличаетс
Оглавление

История о том, как обычный вопрос про калории превратился в небольшое веб-приложение, которое я теперь использую каждый день.

С чего всё началось

Я бегун-любитель с PR 17:54 на пятёрке. После полугода без тренировок и набора 11 килограммов вернулся к бегу и обнаружил, что моё время упало до 20:10. Просчитал математику и понял: дело не в форме, а в весе. Нужно сбрасывать.

Логичный следующий шаг — навести порядок в питании. И тут я столкнулся с проблемой, которая, как оказалось, есть у большинства бегунов.

Почему обычные калькуляторы не работают для бегуна

Я открыл MyFitnessPal. Стандартный вопрос: пол, возраст, рост, вес, уровень активности, цель. Калькулятор выдал: 1800 ккал в день. Точка.

И вот это «точка» — главная проблема. Бегун-любитель тренируется неравномерно. В понедельник у меня лёгкая пробежка час. Во вторник МПК с интервалами 5×1000 — это +800 ккал расхода. В среду снова лёгкий час. В четверг порог на 4×8 минут — снова +800. В пятницу выходной. В субботу легкий бег. В воскресенье длинный 1:30 — это вообще +1000 ккал.

Расход в эти дни отличается между собой почти в два раза. А диетический совет — один и тот же.

1800 ккал в день отдыха — окей, нормальный дефицит, можно худеть.

1800 ккал в день МПК — катастрофа. Я выйду на интервалы с пустыми мышцами, развалю сессию, не восстановлюсь и буду чувствовать себя выжатым лимоном весь следующий день. И в долгосрочной перспективе — потеряю мышцы вместо жира.

Я попробовал MacroFactor — он адаптирует макросы под динамику веса, это лучше, но всё равно даёт одно число на день. Посмотрел Fuelin — специализированное приложение для эндуранс-атлетов, оно реально умное и периодизирует питание под нагрузку. Стоит около $60 в год, без бесплатной версии, и интерфейс заточен под англоязычного пользователя.

Я хотел простое: показывай мне, что и сколько съесть в день отдыха, что — в лёгкий день, что — в день качественной сессии. С учётом моего веса, целевого дефицита и привычки иногда пить изотоник на тренировке.

В выходные вечером я решил, что напишу это сам.

Что получилось

Один HTML-файл, который открывается в браузере и работает локально. Все данные хранятся в браузере, ничего никуда не отправляется.

-2

Главная идея — три типа дня вместо одного.

Переключаешь день одной кнопкой:

  • Отдых — расход меньше, дефицит больше, еды соответственно меньше
  • Лёгкий бег — расход выше, дефицит тот же, еды чуть больше
  • МПК/ПАНО — расход максимальный, дефицит в два раза меньше (для качества сессии), еды значительно больше

Для каждого дня приложение пересчитывает:

  • Целевой калораж
  • Распределение макросов (белок, углеводы, жиры — с граммами и долей)
  • Конкретный план приёмов пищи с временем и порциями
  • Карточку дефицита с прогнозом снижения веса на неделю и месяц

Простая, но важная фишка — буфер на подъедание.

Большинство людей недооценивают «фоновое» потребление калорий: чай с молоком, соусы, попробовал во время готовки, кусочек сыра из холодильника. Это легко 300 ккал в день, которые не попадают в подсчёты.

В моём приложении буфер заложен явно — план питания составлен с расчётом, что 300 ккал ты «подъешь между делом». Это убирает классический сценарий «ем строго по таблице, всё равно толстею».

Учёт изотоника на качественных тренировках.

Я пью изотоник на МПК — около 300 ккал за сессию. Это не еда, но это калории. В обычных калькуляторах их некуда положить. В моём — отдельная строка, и план еды автоматически уменьшается на это значение, чтобы общая математика сходилась.

Прогноз снижения веса.

Самая полезная фишка для мотивации. На основе профиля и типичной тренировочной недели (1 отдых + 4 лёгких + 2 качественных) приложение показывает:

  • Средний дневной дефицит
  • Прогноз на неделю
  • Прогноз на месяц
  • Прогноз на 3 месяца с конечным весом

И умные предупреждения: если темп слишком быстрый (>0.7 кг/нед) — красное предупреждение про потерю мышц и риск для здоровья. Если слишком медленный (<0.15 кг/нед) — серая подсказка про необходимость скорректировать дефицит.

Отслеживание веса с графиком.

Записываешь вес раз в несколько дней, приложение рисует sparkline-график динамики. Если вес растёт при цели «снижение» — карточка-подсказка автоматически меняет цвет и предупреждает, что реальное подъедание скорее всего больше заложенного буфера.

Как это выглядит технически

Один HTML-файл, около 44 килобайт. Чистый JavaScript без библиотек и фреймворков. Иконки встроены как inline SVG — не нужен интернет для отображения. Графики (кольцо макросов и линия веса) тоже SVG, отрисовываются на лету. Шрифт Inter подгружается с Google Fonts, но если интернета нет — браузер использует системный, и всё равно выглядит нормально.

Поддерживает темную тему автоматически — берёт из настроек системы.

Хранение данных через localStorage браузера. Перезагрузил страницу — твой профиль и история веса на месте.

Что я хочу довести до ума

Есть идеи, что добавить дальше:

  • Недельный планировщик — все 7 дней на одной странице с суммарными цифрами
  • Журнал съеденного — отмечать, что реально ел, и видеть отклонение от плана
  • Автоматический список покупок на неделю
  • Графики динамики калоража и веса за длительный период
  • Учёт длинных воскресных пробежек как отдельного типа дня
  • Учёт силовых и веловых сессий

Пока пользуюсь только сам — это рабочий прототип для решения конкретно моей задачи. Когда пойму, что инструмент достаточно отшлифован для широкой аудитории — сделаю публичную версию и расскажу здесь.

Что я понял из этого упражнения

Главный вывод — не технический, а скорее про подход.

Готовые приложения слишком универсальны. Они решают задачу «помочь любому человеку похудеть», а не «помочь бегуну в дефиците не сорвать качественную тренировку». Эти задачи кажутся похожими, но математика и логика у них разная.

И ещё один момент — иногда быстрее собрать инструмент под себя за вечер, чем месяц подстраивать жизнь под чужие инструменты. Особенно когда речь о приложении, которое решает простую математическую задачу с несколькими переменными.

Если интересно следить, как проект будет развиваться — поставьте лайк и подпишитесь. Дальше буду рассказывать про прогресс в беге, эксперименты с питанием, и про то, как доводить приложение до состояния, в котором его можно показать другим. Когда пойму, что инструмент готов к публичному использованию — обязательно сообщу здесь.

Оставайтесь и следите.