Към съдържанието
онова за

онова за кухнята: Chef

Рецептите, менюто за седмицата и списъкът за пазаруване на едно място.

На живо
Началната страница на Chef: търсене по съставки и най-новата рецепта, шоколадови бисквити с парченца шоколад.

За какво ти е

  • Пазиш любимите рецепти на едно място, вместо в отметки и снимки на екрана.
  • Внасяш рецепта от сайт с линк, без да я преписваш.
  • В неделя правиш менюто за седмицата и от него излиза списъкът за пазаруване.
  • Търсиш какво да сготвиш от това, което вече имаш вкъщи.

Защо го направих

Рецептите лесно се разпиляват: отметки в браузъра, снимки на екрана, бележки в телефона. А докато готвиш, екранът трябва да показва следващата стъпка, а не реклами и коментари. Chef събира рецептите, менюто и пазаруването на едно място и има режим за готвене, в който на екрана е само това, което ти трябва в момента.

Какво не прави. Интерфейсът засега е на английски. Рецептите могат да са на какъвто език искаш.

Как е направено

  • Внасянето от линк е защитено от SSRF. Сървърът сам резолвва DNS, отказва частни адреси и проверява отделно всяко пренасочване.
  • AI функциите имат таван. Лимит на заявките в Convex пази сметката за Gemini от изненади, дори при паралелни заявки.
  • Обратими действия вместо въпроси. Изтриването показва „Отмени“, вместо да пита „Сигурни ли сте?“.
  • Проверка на достъпа за всеки обект. Одит на сигурността намери два сериозни пропуска и ги затвори с тестове.
Next.js
Convex
Clerk
Gemini API
Разпознава съставките и подрежда списъка за пазаруване, с лимит на заявките за всеки потребител.

Къде е сега

Работи на живо и се ползва. Последните седмици минаха в одит на сигурността и изчистване на интерфейса.

Още онова за...

  • онова за кафето

    На живо

    Dial In

    Помни на колко да мелиш всяко кафе, което някога си купувал.

  • онова за сметката

    На живо

    Онова за сметката

    Снимаш бележката, всеки отбелязва своето и връща парите на един човек.

  • онова за къмпинга

    На живо

    Списък за къмпинг

    78 неща за палатката, отметнати едно по едно, преди да тръгнеш.