vibecoded
#017 ·

Кухонный оркестратор

Считает назад от времени подачи: что и когда ставить

собран за 1 вечер·Claude CodePWAWeb Audio
Открыть продукт ↗
Список блюд с длительностями и таймлайн: время старта каждого блюда, у первого пометка «ставь сейчас»

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

Зачем это

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

Как устроено

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

Ограничения и приватность

Ноль зависимостей и ноль шагов сборки — обычная статика, поэтому нечему протухать. План хранится в localStorage браузера, никуда не отправляется, аккаунтов нет. Многоэтапные блюда вводятся отдельными строками («утка — духовка», «утка — отдых»): модели зависимостей между этапами в первой версии нет. Уведомлений в фоне тоже нет — сигналы работают, пока страница открыта, для чего и держится Wake Lock. Собран за вечер.

заметка куратора

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

автор · @artps
для автора · бейдж на ваш сайт
запущено на vibecoded.ru
<a href="https://vibecoded.ru/products/kitchen-orchestrator">
  <img src="https://vibecoded.ru/badge.svg" alt="запущено на vibecoded.ru" width="200" height="44">
</a>

Похожие запуски