Rose debug info
---------------

Анонс Recipe scaler

Навайбкодил себе проект, вдруг кому будет полезен

Зачем нужен

В рецептах обычно указывают количество ингредиентов на Х порций, а приготовить нужно на Y. В этих случаях приходится пересчитывать все ингредиенты рецепта, сохраняя пропорции.

Для этого дизайн-директор Злых Марсиан Рома Шамин написал приложение Recipe scaler. Мне не хватало в нем текста описания, чтобы вставить сам рецепт, а ждать обновлений как будто не приходится. Я написал для себя свое другое.

recipe-scaler.ru

Что я посчитал нужным добавить:

  • Текст описания. Если в нем разметить ингредиенты, то будет актуальный рецепт на нужные пропорции
  • Десктоп-версию. Бывает, что удобнее записать рецепт с компьютера, особенно если нужно скопировать рецепт с сайта, убрать лишнее, переписать.
  • Синхронизацию устройств. Можно написать рецепт на компьютере, а потом готовить по телефону.
  • Шаринг рецептов. Когда кто-то спросит «ой, а поделись рецептом», у вас будет ответ. В целом можно готовить прямо по пошаренному рецепту, их тоже можно пересчитать.
  • ИИ. Куда же сейчас без него. Начните с рецепта и нажмите волшебную палочку. ИИ попробует распознать и разметить ингредиенты за вас, придется лишь чуть-чуть его поправить.

Мобильный:

Десктоп:

Как работает

Рецепты хранятся у вас в браузере и синхронизируются на сервер. Можно писать в оффлайне, как выйдете в оффлайн, все синканется. Изменения можно делать даже в одном рецепте, конфликтов быть не должно (в теории), не каждый коммерческий продукт так умеет.

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

Приложение можно сохранить как PWA и на десктопе, и на телефоне. При добавлении сайта как PWA очищаются все локальные сторы, поэтому по умолчанию ваших рецептов там не будет. Зайдите в PWA как в новый девайс через сид-фразу.

Неочевидные штуки:

  • Если ввести две и более черточки, то вставится разделитель, а если ввести название и не указывать ингредиенты, добавится заголовок.
  • Если мыслите категориями порций, сделайте ингредиент «порции» и введите туда количество, можно будет пересчитывать по порциям.
  • На тачпаде тоже работают свайпы для удаления.

Что под капотом

Если кому интересно, что внутри, то вот ключевые слова:
React, Tailwind (не берите, гадость), CRDT, YJS, Websockets, Express.js, Supabase, Openrouter, Gemini Flash.

Предложения можно писать на mike.ozornin@gmail.com.

Поделиться
Отправить
Запинить
 38   4 дн   готовка   курсор   проекты
Подписаться на блог…