EN
lovemy.fit › Что нового

🆕 Что нового

Обновления и улучшения lovemy.fit

📅 Неделя приходит отдельно — и говорит больше

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

Теперь неделя приходит сама, по понедельникам, отдельным сообщением. И рассказывает не только про баланс.

📅 Итоги недели: 15–21 сентября
📉 Вес: 82,0 → 81,0 кг (−1,0 за неделю)
⚖️ Баланс: −500 ккал в день — по 5 дн. из 7 с дневником
съедал 2 100 · тратил 2 600
🦶 Шаги: 9 500 в день — вся неделя
⏱ Минуты активности: 45 в день — вся неделя
🏋️ Занятия: 3 за неделю, 2 ч 30 мин
😴 Сон: 7,0 ч в среднем — 5 ночей из 7
🥩 Белок: 120 г в день — 5 дн. из 7

Почему неделя, а не день. Расход за сутки — величина расчётная, и она заметно гуляет: «вчера 2 800, сегодня 2 400» чаще всего означает не изменение образа жизни, а обычный разброс. За семь дней разброс среднего падает втрое. Ровно поэтому недельные числа можно сравнивать между собой, а суточные — нет.

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

Сколько дней стоит за каждым числом. У каждой строки написано, на скольких сутках она держится: «вся неделя» или «5 ночей из 7». Это не мелкий шрифт, а часть самого числа: средний сон по двум ночам и средний сон по семи — разные утверждения, и выглядеть одинаково они не должны.

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

Тренеру приходит такая же сводка на каждого активного клиента, с именем в шапке, в его час и в его часовом поясе — те же настройки, что у ежедневного отчёта.

Если величины не было хотя бы три дня из семи, строки не будет вовсе — вместо неё не появится ноль. Среднее по двум дням это не среднее. А если за неделю не набралось ничего, сводка не придёт: пустое сообщение хуже, чем его отсутствие. Во время паузы сводка тоже молчит.

🤖 Разбор AI-коуча убран из отчёта

Под каждым отчётом стоял короткий разбор от AI-коуча: что сегодня хорошо, на что обратить внимание, что сделать завтра. Мы его убрали — и клиентам, и тренерам. Если вы заметили, что блок пропал, это не поломка.

Почему. Разбор иногда уводил от настоящей причины. Свежий пример: у человека в отчёте не было сна, и коуч посоветовал включить запись сна в приложении — а сон отсутствовал не поэтому, а потому что выгрузка с телефона оборвалась на середине дня. Совет звучал разумно и вёл чинить не то.

Отдельная история — целевые калории, от которых коуч отсчитывал рекомендации. Наша методология прямо говорит, что эта оценка сейчас неустойчива: на одном и том же человеке за один месяц она может дать значения, отличающиеся в несколько раз. Строить на ней советы — значит уверенно говорить то, чего мы не знаем.

Что осталось. Всё остальное в отчёте — числа, планки, пометки о неполных сутках. Изменилась ровно одна вещь: исчез комментарий.

Разбор вернётся тогда, когда мы сможем за него отвечать. Сроков не называем — их нет. Пока правило простое: лучше молчание, чем совет, который уводит в сторону.

⏳ Отчёт приходит, когда данные готовы

Отчёт за вчера уходил в назначенный час — и в половине случаев показывал не день, а его начало. Приложение на телефоне отправляет данные, когда ему даёт время iOS; если к утру оно ещё не успело, в отчёте оказывались утренние две тысячи шагов вместо вчерашних четырнадцати. Замер за месяц: 53% отчётов уходили по незакрытому дню.

Пометка про неполные сутки внизу отчёта не спасала. Человек читает сверху вниз: число он видит первым и вывод делает по нему — и вывод получался «продукт врёт». Тренеру было хуже всех: он смотрит чужой день и проверить его не может.

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

Так выглядит отчёт по неполному дню
⚠️ Числа за часть дня: прибор передавал до 13:00.
⚖️ Вес: 73,6 кг
🦶 Шаги: 2 315

А когда данные подтянутся, продукт пришлёт уточнённый отчёт сам — следить за этим и переспрашивать не нужно.

⚖️ Заодно: баланс за неделю

В отчёте появилась строка о неделе: сколько вы в среднем съедали и сколько тратили в сутки, разница между ними и — рядом — фактическое изменение веса за то же время.

Так это выглядит в отчёте
📅 ЗА НЕДЕЛЮ
⚖️ Баланс: −400 ккал в день — по 6 дн. из 7 с дневником
📉 Вес: 74,9 → 73,6 кг (−1,3 за неделю)

Почему за неделю, а не за день. Расход — величина расчётная, с точностью ±10–15%. На суточных двух с половиной тысячах килокалорий это ±250–350, и обычная разница «съел минус потратил» за сутки лежит внутри этой погрешности: знак у неё не определён. За неделю случайная часть ошибки падает втрое, и разговор становится осмысленным.

Вес рядом с балансом стоит не для красоты. Модель говорит, что должно было произойти; весы говорят, что произошло. Расхождение между этими двумя строками видно сразу, и верить первой на слово не нужно.

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

📭 Пропущенные дни больше не исчезают молча

Приложение на телефоне отправляет данные само, когда ему даёт время iOS. Обычно это происходит по нескольку раз в день, и заметить тут нечего. Но если телефон замолчал на несколько суток — лежал разряженным, приложение выгрузилось из памяти, — пропущенные дни так и остаются пустыми: приложение шлёт последние сутки и до старой даты уже не достаёт.

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

Теперь продукт следит за самими днями, а не только за связью. Раз в сутки он смотрит неделю назад и, если за какой-то день данные не приехали целиком, называет дату и путь в приложении по шагам.

Так выглядит сообщение
📭 За 12.03 и 13.03 данных нет.
Сами эти дни не заполнятся: приложение шлёт окно последних суток и до этих дат уже не достаёт.
Чтобы вернуть — Health Auto Export → Automations → ваша автоматизация → Date Range: поставьте эти даты и нажмите Export Now.

Одна настройка, после которой дни возвращаются сами. В приложении есть окно выгрузки — сколько суток уезжает за один раз. Поставьте в поле Date Range значение Previous 7 Days, и любая случившаяся выгрузка закроет всю неделю разом: телефон вышел на связь однажды — и пропущенное приехало без вашего участия. Инструкция в гайде теперь просит именно эту настройку, а продукт проверяет по самим данным, какое окно у вас стоит, и один раз говорит, если оно слишком узкое — до того, как оно что-нибудь потеряет.

Пропавшую величину тоже видно. Бывает, что связь в порядке и данные идут, а одной строки в них больше нет: сон, шаги или HRV перестали приходить. Чаще всего это значит, что прибор их просто не записал — часы сняли на ночь. Продукт скажет и об этом, назвав, с какого дня величины нет.

Почему так, а не проще. Забрать данные из Apple Health со стороны сервера нельзя: у него нет облака, к которому можно обратиться, — всё живёт на телефоне и уходит только тогда, когда приложение решит их отправить. Поэтому продукт не может сходить за пропущенным сам. Зато он может вовремя заметить пропажу и сказать, что с ней делать, — а с недельным окном чинить обычно уже нечего.

Сон, которого прибор не записал, никакая настройка не вернёт: если часы сняли на ночь, восстанавливать нечего. Продукт скажет о пропаже, но не станет достраивать день за прибор.

🎯 Планки считаются по всем приборам сразу

Про один и тот же день у продукта говорят четверо: отчёт, планки, Светофор и итоги дня от коуча. Отчёт давно научился читать все приборы сразу, а остальные трое — нет: они смотрели только на браслет. Пока браслет на руке, разницы не видно. Стоило его снять — и день с двенадцатью тысячами шагов от часов выглядел пустым: коуч писал, что данных нет, планка по шагам числилась невыполненной, а в Светофоре стоял красный.

Теперь все четверо смотрят на один и тот же день целиком — из какого бы прибора он ни пришёл. Часы, браслет, весы, телефон в кармане: день складывается из того, что есть.

Заодно планки разбираются построчно. Раньше в итогах дня стояло «0/4 выполнено», и в эти ноль попадало всё подряд — и то, чего вы не сделали, и то, чего мы не померили.

Так это выглядит в итогах дня
🎯 Планки: 2/2 выполнено
✅ шаги ≥ 10 000 — по факту 12 000
✅ сон ≥ 7 ч — по факту 7,5
⚪ белок ≥ 160 г — нет данных

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

Почему это важнее, чем кажется. «Нет данных» и «не сделал» — разные вещи, и путать их продукт больше не имеет права: по этим строкам вы принимаете решения, а тренер видит их в своём списке. День, за который вы прошли двенадцать тысяч шагов, не может называться днём без отчёта.

Если данных правда нет, продукт так и скажет. Пустой день остаётся пустым: недостающее мы не достраиваем и не заменяем средним.

👥 Один экран на клиента: занятия, деньги, прогресс

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

Теперь у человека один экран, и на нём всё сразу.

👤 Мария
💰 баланс: 60 € · 🏷 цена занятия: 30 €
Последнее занятие: 14.08
💪 Занятие 30 €
🚦 Состояние · 🏋️ Упражнения
📝 Заметки · 🧠 Что было
💸 Оплата · ± Правка баланса
📜 История · ⚙️ Настройки

Порядок кнопок — по частоте: сверху то, что делают каждое занятие, внизу то, к чему возвращаются раз в месяц. Записали занятие — баланс пересчитался сам, клиенту ушло сообщение с новой суммой.

Клиенты, которые перестали ходить, больше не мешают. У списка появился архив: человек уходит из ежедневного списка, но не из истории — занятия, платежи и заметки остаются на месте, а вернуть его можно одной кнопкой. Список открывается теми, с кем вы работаете сейчас, и отвечает на вопрос «с кем у меня занятие сегодня», а не «кто когда-либо ко мне приходил».

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

Что переименовано. «Журнал» стал «Мои клиенты» — за этой кнопкой и правда список людей с балансами. «Корректировка» стала «Правкой баланса»: это ручное изменение со знаком — штраф, скидка, доплата, исправление прошлой суммы. Старые кнопки, если они остались у вас на клавиатуре, продолжают работать.

Заодно: отчёт перестал выдавать частичные данные за полные. Если прибор прислал только часть дня, отчёт теперь так и говорит — до какого часа есть данные и что сделать, чтобы догрузить остальное. А расход энергии больше не исчезает у тех, кто давно не вставал на весы: он считается по последнему известному весу, и рядом сказано, по какому именно.

И Apple Health теперь подключается из бота самостоятельно: «🔌 Интеграции → 🍎 Apple Health» выдаёт адрес, показывает, что появится после подключения, и проверяет, дошли ли данные.

Продукт считает деньги, а не проводит платежи: эквайринга, чеков и налогового учёта здесь нет. Баланс — это ваша запись о том, кто сколько должен, и она всегда под рукой.

🔥 В отчёте появился расход энергии за день

Дневник питания отвечал только на половину вопроса. «Съел 2100 ккал» — это много или мало? Зависит от того, сколько потрачено, а расхода в продукте не было вовсе. Теперь он есть — и не одним числом, а с разбором.

Так это выглядит в отчёте
🦶 Шаги: 12 000
🔥 Потрачено: 2600 ккал
покой 1700 · ходьба и быт 600 · тренировка 300
⏱ Минуты активности: 60
🏋️ Тренировка: силовая — 45 мин

Разбор здесь важнее итога. Расход покоя — это то, что тело тратит на само себя, и он почти не меняется день ото дня. А ходьба, быт и тренировки меняются, и именно они в ваших руках — и видно, насколько.

Часы для этого не нужны. Расход появится и в тот день, когда они остались дома: ходьбу видит телефон в кармане. Единственное, без чего расчёт не делается, — вес: без него не посчитать расход покоя.

Заодно: тренировки теперь видны с двух сторон. Если занятие записали и браслет, и часы, в отчёте оно остаётся одним — но берётся то название, которое понятнее человеку: браслет может назвать занятие functional-fitness, а часы — «Силовая тренировка»; в отчёте вы увидите второе.

Почему не написано «вы в дефиците». Расход и съеденное стоят рядом, но продукт не вычитает одно из другого. Чтобы говорить про дефицит, нужна калибровка по вашему весу и питанию за несколько недель — это следующая работа, и обещать её сейчас нечестно.

Это оценка, а не измерение. Точность порядка ±10–15%: точного суточного расхода не знает ни один прибор — у носимых устройств ошибка по энергии доходит до 28%. Поэтому сравнивать «вчера против сегодня» бессмысленно, смысл появляется на недельном масштабе.

💚 Восстановление с браслета теперь в ваших данных

Whoop каждое утро показывает одну главную цифру — восстановление в процентах. До сих пор она жила только на экране браслета: приходила к нам каждую ночь и выбрасывалась при разборе. Теперь она сохраняется и видна в динамике — вместе с тем, из чего складывается: пульсом покоя, ВСР и сном.

Рядом появились две величины про сон: сколько сна прибор считал нужным именно на эту ночь и какая часть этой нормы — возврат накопленного недосыпа. Норма у Whoop не константа: она плавает от вчерашней нагрузки и от того, сколько вы недоспали раньше, и в отдельные ночи уходит далеко за восемь часов. Поэтому «спал 6,5 часа» само по себе не говорит, недоспали вы или нет, — а теперь есть с чем сравнить.

Так это выглядит в отчёте
💚 Восстановление — 63 %
😴 Спали — 7 ч 30 мин
🎯 Прибор считал нужным — 8 ч 15 мин
↩️ из них добор недосыпа — 20 мин

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

Почему бот по этой цифре ничего не советует. Восстановление — закрытый композит Whoop: формула не опубликована и независимо не проверена. Смотреть на неё полезно, принимать по ней решения — нет. Поэтому сигналы и пороги у нас по-прежнему считаются по пульсу покоя, ВСР и сну — величинам, которые прибор измеряет, а не выводит. По той же причине у восстановления нет личной базовой линии: отклонений «от вашей нормы» по нему мы не показываем.

Подсказка. Смотреть эти цифры удобнее не по одной, а рядом: восстановление 63% в ночь, когда прибор просил 8 часов и вы их проспали, — это про вчерашнюю нагрузку, а не про сон.

🍽 В отчёте видно, из чего сложился день

Раньше питание в отчёте было четырьмя числами за сутки: калории, белки, жиры, углеводы. Теперь под ними стоит строка вида «🧾 12 позиций в 4 приёмах», а рядом с отчётом — кнопка 🍽 Подробнее.

Одно нажатие — и прямо в том же сообщении раскрывается состав дня: завтрак, обед, ужин и перекусы, в каждом приёме — что съедено и в каком весе, рядом с приёмом — его калории. Второе нажатие, 🍽 Свернуть, возвращает сводку. Новых сообщений в чат при этом не приходит.

🔥 Калории: 2000 ккал
🥩 Белок: 150 г
🧈 Жиры: 60 г
🌾 Углеводы: 200 г
🧾 12 позиций в 4 приёмах
🍽 Подробнее
🌅 Завтрак — 350 ккал
• Творог 5% — 150 г, 180 ккал
• Хлопья — 30 г, 120 ккал
• Молоко 1,5% — 100 мл, 55 ккал
☀️ Обед — 700 ккал
• Курица варёная — 150 г, 250 ккал
🍽 Свернуть

Почему под кнопкой, а не сразу. Отчёт должен оставаться коротким: его читают с телефона, а у тренера в чате — отчёты нескольких клиентов подряд. По умолчанию всё выглядит как прежде, а состав дня открывается тогда, когда вы решили в него смотреть.

Числа стали точнее. Раньше дробные граммы каждого продукта отбрасывались, и суточные белок с жирами выходили чуть меньше настоящих. Теперь суммы считаются без округления вниз — в отчётах за прошлые дни белок и жиры могли слегка подрасти. Это не расхождение, а тот же день, посчитанный точнее.

Отпуск больше не оставляет дыру в данных. В режиме отпуска бот по-прежнему молчит: не пишет и ни о чём не спрашивает. Но данные из подключённых сервисов всё это время продолжают собираться — вернулись, и история за эти дни на месте.

Правка калорий держится. Если вы поправили калории или белок вручную, ночное обновление из FatSecret больше не возвращает прежнюю цифру.

💡 Кнопка появляется только у дня, в котором есть записи в дневнике питания — если раскрывать нечего, нет и кнопки. Как только записи появятся, состав дня будет в отчёте за тот же вечер.

⏰ Тренер сам выбирает время ежедневного отчёта

Раньше отчёт по клиентам приходил тренеру строго в 11:00. Теперь вы можете выбрать любой удобный час — например, до утренних тренировок или, наоборот, вечером, когда есть время спокойно разобрать день.

А ещё можно указать свой часовой пояс: если вы в Вильнюсе, Дубае или Нью-Йорке, «13:00» будет означать 13:00 по вашему местному времени, а не по времени сервера.

Как настроить:

  1. Откройте ⚙️ Настройки тренера в боте.
  2. Нажмите ⏰ Время отчёта.
  3. Выберите час из сетки (06:00–22:00).
  4. При необходимости нажмите 🌍 Пояс и выберите регион → город. Рядом с каждым городом показан его текущий сдвиг (например, Лос-Анджелес (UTC−7)).
💡 По умолчанию всё остаётся как прежде — 11:00 по Мадриду. Меняйте, только если хотите другое время. Настройка — одна на всех ваших клиентов: все отчёты приходят одной пачкой в выбранный час.

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