Один крем — три разных срока
В таблице строка «крем, 5 шт», а на полке три тубы из разных поставок. Какая истекает в этом месяце — непонятно, поэтому берут ту, что ближе стоит. Просроченная партия уходит в мусор вместе с деньгами.
Остатки, партии с датами, расход по процедурам и закупка — в одном файле для браузера. Собирается за вечер и без разработчика.
| Товар | Партия | Ост. | Статус |
|---|---|---|---|
| Гель для умывания150 мл · склад | 03.2026 | 7 | в наличии |
| Сыворотка, витамин C30 мл · кабинет 2 | 11.2025 | 2 | ниже минимума |
| Крем с SPF 5050 мл · кабинет 1 | 04.2026 | 4 | в наличии |
| Тоник с кислотой200 мл · кабинет 1 | 09.2025 | 0 | нет в наличии |
Отмечаете, что ушло на клиента, прямо в карточке товара.
Партия попадает в предупреждение заранее — её успеваете израсходовать, а не выбросить.
Справочник, движения, поставщики и закупка — в одном файле.
Дело не в аккуратности: у косметики много скрытых параметров — партия, объём, дата, расход на процедуру. Три ситуации, где таблица сдаётся.
В таблице строка «крем, 5 шт», а на полке три тубы из разных поставок. Какая истекает в этом месяце — непонятно, поэтому берут ту, что ближе стоит. Просроченная партия уходит в мусор вместе с деньгами.
Мастер списывает на глаз: «ушло два флакона». Через месяц остаток не сходится, потому что расход по процедурам нигде не записан. Закупка снова идёт на всю сумму.
Таблица показывает число, но не дату. О просрочке вы узнаёте при уборке, когда списать партию уже нельзя. Учёт без напоминания о сроке экономит минуту и стоит коробки товара.
Шесть модулей для кабинета, небольшого магазина и мастера на дому. Всё связано: списание уменьшает остаток, остаток попадает в закупку, закупка ссылается на поставщика.
Название, бренд, категория, объём, цена закупки, минимум. Каждая поставка — отдельная партия со своим сроком.
Количество, цена, поставщик, дата истечения. Партия появляется в остатках сразу, а в истории видно, откуда она.
Выбираете процедуру и позиции, которые на неё ушли: остаток уменьшается, расход привязан к мастеру и дате.
Товар сам переходит в статус «ниже минимума», когда запас кончается, и возвращается в «в наличии» после прихода.
В карточке — все приходы, списания и инвентаризации по порядку: кто, когда и почему изменил количество.
То, что ниже минимума, с количеством к заказу и кнопкой «отмечено заказанным». Контакты поставщиков рядом.
Сравнение про деньги, срок и владельца результата.
| Нанять разработчика | Купить подписку | Собрать самому | |
|---|---|---|---|
| Деньги | Десятки тысяч рублей «под ключ» и отдельная оплата каждой доработки | Ежемесячный платёж за доступ к чужому сервису | Ноль рублей на старте: 5 млн токенов бесплатно и один файл |
| Срок | Переписка, договор, правки в очереди — не одна неделя | Быстро, но в рамках, придуманных для всех | Один вечер: промпт, ответы на вопросы, готовое приложение |
| Правки | Каждое изменение — новое письмо, новая оценка, новая оплата | Только через запрос в поддержку и месяцы ожидания | Словами: «добавь поле объёма и срок партии» — и через минуту готово |
| Кому принадлежит результат | Код у вас, но без разработчика в нём не разобраться | Сервису: файл не забрать, тариф не сохранить | Вам: файл лежит у вас и открывается в браузере |
Цифр нет намеренно: ситуации разные. Но порядок расходов и сроки отличаются настолько, что сравнивать стоит именно так.
Не про идеологию, а про то, что вы почувствуете на второй неделе работы.
Разработка «под ключ» и подписки — постоянные деньги. Здесь старт бесплатный, а дальше платите только за то, что решите развивать.
Один HTML-файл на вашем диске: его можно сохранить в архив, открыть без интернета и не следить за тарифом.
Нужна графа «объём» или список расходников — просто напишите боту. Без макетов и перевода пожеланий на язык требований.
Закупка нужна утром, а сроки выяснились вечером. Изменение делается сейчас, а не «в следующем спринте».
В подписках часть возможностей закрыта до следующего уровня: отчёты отдельно, экспорт отдельно, второй склад — «для бизнеса». В своём файле разблокировать нечего: экраны и поля появляются там, где нужны складу.
Ниже — то, что происходит на экране. Кнопки названы так, как подписаны в приложении.
Ссылку на установку бот прислал после слова «старт». Запустите AI DIY: на балансе 5 000 000 токенов.
Кнопка стоит по центру окна «Ваши проекты» и переводит работу в браузер, где собирается склад.
Проект — папка под одну задачу. В браузере откроется список проектов: нажмите «Создать проект».
Подойдёт «Склад: косметика». Название видно в списке, поэтому пишите то, что узнаете через месяц, и подтверждайте кнопкой «Создать проект».
Скопируйте промпт с этой страницы кнопкой «Скопировать промпт», щёлкните в поле сообщения и нажмите Ctrl+V.
Кнопка «Отправить» со стрелкой вверх стоит справа от поля. Enter делает то же самое.
Бот спросит про ассортимент, процедуры и закупку — отвечайте обычными словами. После ответов он отдаст готовый HTML-файл: остатки, приход, расход, карточки и закупка.
Нажмите кнопку ниже, вставьте текст в поле сообщения проекта и отправьте. Промпт уже описывает партии, сроки годности, расход по процедурам и закупку — остальное бот спросит сам.
Ты — senior product designer, UX-архитектор и frontend-разработчик. Помоги человеку без технических знаний собрать приложение «Склад: косметика»: остатки, сроки годности, расход по процедурам и закупка. Проектировать базу данных он не должен — это твоя работа.
Сначала задай 8–15 простых вопросов с вариантами ответов: сколько позиций и какие категории (уход, декоративная косметика, расходники); где храните товар — кабинет, шкаф, несколько точек; как списываете расход — по процедурам, по мастерам или раз в неделю; что важно видеть сразу при открытии; нужны ли партии и сроки годности; кто поставщики; как ведёте учёт сейчас. Не спрашивай про фреймворки, базы данных и архитектуру. После ответов коротко перескажи, что понял, и сразу переходи к приложению.
Сущности: товар (название, бренд, категория, объём, цена закупки, минимальный остаток); партия (товар, количество, дата поступления, срок годности); движение (приход или расход, количество, дата, процедура или причина, мастер, комментарий); поставщик (название, контакт, срок поставки); категория. Связи — по стабильным ID, а не по названиям.
Статусы товара: «в наличии → ниже минимума → нет в наличии». Просроченные партии помечай отдельно и не давай списать их без подтверждения.
Экраны: таблица остатков (поиск, фильтр по категории и статусу, сортировка, бейджи, подсветка партий, у которых срок истекает); приход (партия, количество, цена, поставщик, срок годности); расход (списание по процедуре с выбором позиций и количества); карточка товара (остаток, партии, история движений, средний расход, кнопки «Приход» и «Списать»); список закупки (что ниже минимума, сколько докупить, кнопка «отмечено заказанным»); поставщики.
Дизайн: продуктовый интерфейс — карточки с рамкой 1 px, скругления 10–12 px, тонкие линии в таблицах, аккуратные бейджи статусов, числа моноширинным шрифтом, адаптив от 360 px. Один акцентный цвет, только на кнопках и одном выделенном блоке.
Технически: один HTML-файл, CSS и vanilla JS внутри, localStorage как хранилище, без backend, npm и сборщиков. Раздели слои: storage → сущности → фичи → компоненты → экраны. После любого действия данные сохраняются, а интерфейс перерисовывается сразу. Предусмотри пустые состояния и короткие подсказки для новичка.
Добавь демо-данные: 10–15 позиций косметики с разными сроками годности и остатками. Добавь кнопку «Удалить тестовые данные» с подтверждением, закрытие модальных окон по Escape и по клику на фон, защиту от битых данных в localStorage, подтверждение удаления.
Перед выдачей сам пройди сценарии: приход, расход по процедуре, падение ниже минимума, просрочка партии, список закупки, перезагрузка страницы, работа с телефона. Исправь найденное сам.
Ответ — полный готовый HTML-файл, без «вставьте этот фрагмент сюда». Все дальнейшие правки — тоже полным файлом.
Моя задача: склад косметики, сроки годности и расход по процедурам.
Да, сканер не нужен. Поиск по названию, бренду и категории находит позицию за пару букв, а в карточке есть кнопки «Приход» и «Списать». Если позже захотите сканер, он подключается как клавиатура: курсор стоит в поле поиска, и код просто вписывается в него.
Приложение хранит цену закупки в партии, а не одну цену на товар. Поэтому старый флакон списывается по своей цене, новый — по новой, и сумма расхода за месяц складывается честно. В карточке товара видно средний расход за неделю, а в списке закупки — сколько докупить до минимума.
Место хранения — отдельное поле у движения и у остатка. Можно держать два склада, кабинет и кладовку, и переключаться между ними одним фильтром. Перемещение оформляется как движение, поэтому история не теряется: видно, когда флакон уехал из кабинета домой.
Вы вводите фактическое количество, и приложение создаёт движение «инвентаризация» с разницей — недостача или излишек. История остаётся целой, а не переписывается задним числом. Такие движения помечены отдельно, поэтому их легко найти и обсудить с мастером.
Все записи хранятся в памяти браузера на вашем компьютере, отдельного сервера нет. Пока вы работаете в том же браузере и не чистите данные сайтов, склад на месте. Перед переездом на другой компьютер приложение выгружает склад в файл, а на новом месте загружает его обратно.
Да, если задача — следить за остатком и сроками, а не за карточками и отзывами. Для маркетплейса полезны поля «артикул», «объём» и «срок годности партии», а также список закупки по минимальному остатку. Отгрузки и комиссии площадки проще смотреть в личном кабинете площадки.
Напишите боту «старт», получите 5 000 000 токенов и установку. Дальше — промпт с этой страницы, ответы на вопросы и файл с остатками, сроками и закупкой.