Как я с помощью AI за месяц разработала и внедрила систему учета для школьной столовой

от автора

Краткое содержание

В статье я расскажу, как за 4 недели c помощью AI разработала систему учета для школьного кафе. Внедрение системы позволило добиться следующих результатов:

  • Сокращение среднего времени обслуживания на ребенка на ~30%

  • Сокращение максимального времени ожидания в очереди в среднем с 15 до 10 минут

  • Доступ к информации о питании детей для 60+ семей в реальном времени

  • Предоставление владельцам кафе инструментов для анализа продаж

Предыстория и определение проблемы

Все началось в родительском чате. Мы обсуждали рядовой, но важный вопрос: как узнать, что ребёнок в школе полноценно обедает, а не перебивается весь день булочками?

Существующая система работала так: родители вносили депозит, а дети самостоятельно выбирали еду на раздаче, администратор вычитала сумму из депозита. На первый взгляд удобно, но на практике это создавало серьезные проблемы для всех участников процесса:

  • Родители не могли отследить питание детей

  • Администраторы тратили время на ручной учет

  • Владелица кафе не имела прозрачной аналитики

  • Классные руководители тратили время на отчеты о том, что едят дети

Анализ существующих решений

На рынке представлены различные системы автоматизации для кафе, но все они имеют существенные ограничения:

  • Высокая стоимость внедрения и поддержки (от 100,000 рублей)

  • Избыточный функционал

  • Отсутствие гибкости в настройке под специфику конкретной школы

На тот момент я как раз запустила и вывела на рынок систему учёта для офлайн-магазинов в Flowwow и сразу увидела параллели: администратор, меню, покупатели, заказы… Плюс простой интерфейс для родителей.

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

Решающим моментом стало знакомство с Marblism – платформой, создающей full-stack приложения из текстового описания. Эти два фактора – реальная проблема и инструмент для её решения – дали старт проекту.

Об авторе

Мария Божевольнова — Продакт-менеджер с 10-летним опытом в IT: 7 лет в управлении международными проектами и 3 года в продуктовом менеджменте B2B SaaS-продуктов и мобильных приложений. За последний год успешно запустила B2B ERP систему для управления розничными магазинами в Flowwow. Из 100 привлеченных клиентов 30 стали активными пользователями системы (конверсия ~30%), со средним ежедневным объемом продаж через систему более 1.2 млн рублей.

Исследование и подготовка решения

Прежде чем начать разработку, я неделю изучала работу школьной столовой:

Что измеряла и считала:

  • Наблюдала за работой кафе в разные дни (6 часов)

  • Засекала время обслуживания учеников (50 замеров)

  • Следила за длиной очередей в течение дня

С кем поговорила:

  • Родители учеников разных классов — 4 интервью

  • Сотрудники кафе — 2 интервью

  • Владелица бизнеса — 1 встреча

  • Классные руководители — 2 беседы

Ключевые находки исследования

Проблема

Данные

Влияние

Длительное время обслуживания

30-40 сек на ученика

Очереди до 15 минут в пик

Отсутствие контроля питания

70% родителей не знают, что едят дети

Риск несбалансированного питания

Сложный учет

~30 мин в день на подсчеты

Нагрузка на администратора

Непрозрачность для бизнеса

Нет точных данных о популярных блюдах

Нет понимания рентабельности блюд

Приоритизация по RICE

Функционал

Reach

Impact

Confidence

Effort

Score

Обоснование

Быстрое оформление заказа

150

3

90%

2

202.5

Влияет на всех учеников и персонал ежедневно

Родительский контроль

150

3

80%

2

180

Решает ключевую боль родителей

Аналитика продаж

3

3

80%

1

7.2

Важно для оптимизации бизнеса

Предзаказ еды

20

1

40%

3

2.6

Затрагивает небольшое количество родителей

MVP состав

Must Have (Решает критические проблемы):

  • Быстрый интерфейс оформления заказа (цель: ~20 секунд)

  • Автоматический расчет сумм и баланса

  • Базовый родительский контроль (история заказов)

Should Have (Важные улучшения):

  • Уведомления о низком балансе

  • Возможность добавить скидку

  • Несколько способов оплаты

Could Have (Перспективные функции):

  • Предзаказ еды родителями

  • Пополнение баланса с карты онлайн

  • Интеграция с бухгалтерией

Customer Journey Map

До внедрения системы:

  1. Родитель вносит депозит на имя ребенка

  2. Ребенок стоит в очереди, чтобы взять еду на раздаче

  3. Администратор вручную считает сумму заказанного ребенком, вычитает из депозита и вносит в табличку

  4. Родитель не знает, что купил ребенок

После внедрения:

  1. Родитель вносит депозит на имя ребенка

  2. Ребенок стоит в очереди, чтобы взять еду на раздаче

  3. Администратор оформляет заказ добавляя блюда в корзину в системе учета

  4. Система считает общую сумму и списывает средства с баланса

  5. Родитель видит покупки в реальном времени

Процесс разработки

Для разработки я использовала Marblism — это платформа, которая позволяет генерировать full-stack приложения из промпта.

График разработки

Исследование (1 неделя)
24.09 — 01.10 | Интервью и замеры

Разработка MVP (4 недели)
01.10 — 15.10 | Базовый функционал (2 недели)
15.10 — 28.10 | Доработки: скидки, оплата наличкой/картой для тех, у кого нет депозита (2 недели)

Внедрение в работу столовой (1 неделя)
28.10 | Старт использования администратором

Общий запуск
01.11 | ★ Запуск для родителей

Стек Marblism

Технология

Назначение

Что дает

Typescript

Язык программирования

Типизация и надежность

Remix

React Framework

Серверный рендеринг и SEO

Vite

Build Tool

Быстрая разработка

Ant Design

UI System

Готовые компоненты

Prisma

Database ORM

Удобная работа с БД

PostgreSQL

База данных

Надежность и транзакции

Zenstack

Access Control

Управление доступом и ролями

Работа с Marblism

Работа с Marblism оказалась увлекательным опытом – это как разговор с коллегой, понимающим тебя с полуслова. Вот как проходила разработка.

Интерфейс Marblism. Пример, как я запросила добавить фильтр Вчера. AI добавил фильтр, я сразу вижу изменения в интерфейсе приложения.

Интерфейс Marblism. Пример, как я запросила добавить фильтр Вчера.
AI добавил фильтр, я сразу вижу изменения в интерфейсе приложения.

Промпт для создания приложения

A web app that allows users to browse meal catalogue, add meals and customers to checkout, manage meals, customers, see orders.

Pages:

- Home: catalogue with meals, checkout on the right, customer search by name, 3 payment type buttons: Balance, Cash, Card. If payment type is Balance, its amount is subtracted from customer balance. Each meal in catalogue has a photo, name, price and added to checkout when clicked

- Meals: meals with search by name, meals can be edited, removed, added. Each meal has photo, name, tags, price. User can upload photo for a meal and it will be displayed in catalogue and on the meal page. User can add new tags to the meal or select from existing tags

- Customers: list of customers, can be edited, removed, added. Each customer has name, parent’s contact, class, current balance. User can top-up customer balance

- Orders: orders with search by customer name or date. Each order has date, customer, total amount, purchased items, payment method

- Users: admins

Этот промпт дал мне базовую структуру с основными страницами и базой данных

Итерации и улучшения

Далее каждое улучшение проходило через цикл:

  1. Наблюдение за работой администратора

  2. Быстрое прототипирование решения

  3. Тестирование прототипа

  4. Выпуск финальной версии

  5. Сбор обратной связи и метрик

Пример итерации с половинными порциями:

  • Проблема: 30% детей просили половину порции

  • Решение: Добавили опцию Половина блюда

  • Результат: Время обслуживания таких заказов в среднем сократилось на ~5 секунд

Автоматическое связывание аккаунтов: кейс, который меня удивил

Одной из интересных задач оказалось связывание аккаунтов учеников и их родителей. У нас была база учеников с номерами телефонов родителей, но как автоматически связать эти данные с новыми регистрациями родителей? Ручное сопоставление отняло бы массу времени и потребовало бы бесконечных уточнений.

Я подумала: что, если использовать номер телефона как ключ для автоматического связывания. Я описала эту идею AI простым языком: «Когда родитель сохраняет номер телефона в своем профиле, проверь, есть ли ученик с таким же номером, и если да – свяжи их аккаунты».

Результат меня впечатлил: AI не только понял задачу, но и создал весь необходимый код – от проверки номера до обновления связей в базе данных. А когда я начала тестировать эту функцию, она сработала с первого раза!

Метрики и результаты

Ключевые метрики успеха

Метрика

До

После

Улучшение

Время обслуживания

30 сек

20 сек

-30%

Длина очереди в пик

15 мин

10 мин

-30%

Охват родителей

0%

50%

+50%

Удовлетворенность администратора

N/A

4.8/5

N/A

Качественные результаты

Отзывы пользователей:

«Спасибо вам огромное, я зашла как мама и в шоке от того как это круто, я теперь могу и деньги планировать, и понимать насколько ребенок злой (голодный). Просто мечта! Спасибо!» — Мама ученика 1 класса

«Зарегалась в прогу столовки! СПАСИБО БОЛЬШОЕ, что сделали нашу жизнь лучше!» — Мама ученика 0 класса

«Я очень рада, что теперь вижу, что ест ребенок и благодарна вам каждый день, спасибо! — Мама ученика 2 класса

«Работать стало гораздо быстрее и удобнее!» — Света, администратор

Текущий функционал

Особое внимание я уделила деталям интерфейса, которые делают ежедневную работу с системой удобной и приятной. Я считаю, что именно продуманные мелочи превращают рабочий инструмент в продукт, которым приятно пользоваться.

Каталог

Страница каталога с выбранным учеником. Как только ученик выбран, подгружается информация о его текущем балансе и дневном лимите, если лимит установлен.

Страница каталога с выбранным учеником.
Как только ученик выбран, подгружается информация о его текущем балансе и дневном лимите,
если лимит установлен.

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

Нотификация, если дневной лимит превышен учеником

Нотификация, если дневной лимит превышен учеником

Блюда

На странице блюд администратор может быстро скрыть блюда, которые сегодня не продаются.

На странице блюд администратор может быстро скрыть блюда, которые сегодня не продаются.

Поиск работает и по названиями и по тэгам. Удаление доступно только у блюд, для которых еще не было продаж.

Клиенты

Список учеников и учителей

Список учеников и учителей

Когда родитель заходит в столовую и хочет узнать текущий баланс ребенка, администратор может быстро найти ребенка, увидеть сколько он потратил вчера и пополнить баланс ребенка.

Заказы

Список заказов с возможностью искать по имени либо отфильтровать по дате

Список заказов с возможностью искать по имени либо отфильтровать по дате

На странице заказов есть общая сумма продаж для сверки с кассой. По умолчанию страница открывается на фильтре Сегодня. Есть возможность отменить заказ.

Пополнения

Список пополнений балансов с возможностью отредактировать данные

Список пополнений балансов с возможностью отредактировать данные

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

Аналитика

Страница аналитики

Страница аналитики

Страница владельца для быстрого понимания популярности блюд и общей суммы продаж. По умолчанию открывается на сегодня.

Пользователи и настройки

Вспомогательные интерфейсы для просмотра зарегистрированных пользователей в системе и настройка тэгов, логотипа, расписания (для отслеживания продаж по модулям в будущем, так называются четверти в нашей школе)

Пользователи

Пользователи
Настройки, включая редактирование тэгов и их порядка в каталоге

Настройки, включая редактирование тэгов и их порядка в каталоге

Интерфейс родителей

Родитель может зарегистрироваться самостоятельно и указать номер телефона в профиле, либо попросить администратора добавить email родителя в данные ученика.

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

Список покупок ребенка за сегодня

Список покупок ребенка за сегодня

Что я поняла в процессе

  • AI-инструменты отлично подходят для создания прототипа и тестирования гипотез.

  • Даже если вы не программист, можно обсудить архитектуру приложения с AI — он поможет спроектировать функциональность.

    Например, мне нужно было добавить возможность добавить свободную сумму к заказу, даже если не были выбраны блюда. AI предложил добавить поле в модель заказа и учитывать наличие данных в этом поле при отображении информации о заказе.

  • В остальном процесс такой же, как в обычной разработке: перед запуском нужно тщательно протестировать все сценарии использования.

Заключение

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


ссылка на оригинал статьи https://habr.com/ru/articles/858492/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *