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