AAYMA
RU
Войти

MusicEdu AI

Фронтенд-MVP Challenge Hub для музыкального образования: из короткой задачи бизнеса формируются уточняющие вопросы и карточка, считается рейтинг…

Прототип
Команда «Zhantok» 11💬 0 комментариевс 23 сентября 2026 г.

О проекте

Команда: Zhantok
Кейс HackAlem.ai: Образование — AI Sana
Стадия: Прототип

Задача кейса: Challenge Hub: превратить задачу бизнеса в задание для студенческих команд

Суть

Фронтенд-MVP Challenge Hub для музыкального образования: из короткой задачи бизнеса формируются уточняющие вопросы и карточка, считается рейтинг готовности 0–100, задача публикуется в каталог, команды подают предложения, бизнес вручную их принимает.

Как устроено

Одностраничное приложение на React и Vite без backend. Вместо модели работает локальная детерминированная заглушка: generateQuestions, generateTaskCard, calculateScore и improveTask. Рейтинг считается по фиксированным весам (20/20/15/15/10/10/10) с уровнями готовности. Состояние хранится в React state и localStorage, в демо заложены 5 синтетических задач, 5 команд и 5 предложений.

Ключевые решения

  • детерминированная AI-заглушка
  • rule-based scoring
  • localStorage

Особенности

Реального LLM нет, «AI» здесь имитирует локальная функция. Вся логика лежит в одном main.jsx.

Стек

JavaScript · React · Vite · CSS


Проект создан за 5 часов на финале хакатона HackAlem.ai (23 сентября 2026, Астана). Код — BAITC-Hacks/hack-7c10da7b-zhantok.

README

README.md

MusicEdu AI

MusicEdu AI — хакатонный MVP для AI Sana / HackAlem AI: ИИ-платформа для превращения коротких бизнес-задач в готовые практические задания для студентов в сфере музыкального образования.

Problem

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

Solution

MusicEdu AI помогает бизнесу структурировать задачу:

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

Автоматического выбора или назначения команды нет.

Target users

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

Main user flow

  1. Бизнес вводит слабое описание задачи.
  2. Локальный ИИ задает минимум 3 уточняющих вопроса.
  3. Бизнес отвечает на вопросы.
  4. ИИ создает структурированную редактируемую карточку.
  5. Система рассчитывает рейтинг готовности 0-100.
  6. Бизнес видит прозрачную разбивку и недостающую информацию.
  7. Бизнес улучшает карточку с помощью ИИ.
  8. Бизнес вручную подтверждает карточку.
  9. Задача публикуется в каталог даже при низком рейтинге.
  10. Студенческая команда открывает задачу и отправляет предложение.
  11. Бизнес вручную принимает или отклоняет предложение.

Architecture

Frontend-only MVP:

  • Vite;
  • React;
  • JavaScript;
  • CSS;
  • localStorage.

Состояние хранится в React state и localStorage. Backend, база данных, регистрация и внешний ИИ API не используются.

AI functionality

Для MVP используется локальная детерминированная AI-заглушка. Внешний AI API не требуется для запуска.

Локальные функции:

  • generateQuestions() — генерирует уточняющие вопросы;
  • generateTaskCard() — создает редактируемую карточку из черновика и ответов;
  • calculateScore() — рассчитывает рейтинг готовности;
  • improveTask() — добавляет явно помеченные демонстрационные предложения.

ИИ не выбирает команду, не назначает победителя и не добавляет внешние факты.

AI input/output

AI input:

{
  "initialDescription": "Хочу помочь ученикам домбры больше заниматься дома.",
  "answers": [
    "Начинающие ученики домбры",
    "Есть упражнения и заметки преподавателя",
    "Нужен прототип помощника для практики",
    "Без регистрации и внешнего ИИ"
  ]
}

Example local AI prompt:

Проанализируй описание практической задачи.
Определи недостающую информацию.
Сформируй минимум 3 уточняющих вопроса.
Не добавляй факты, которых нет во входных данных.
После получения ответов сформируй редактируемую карточку задачи.

AI output:

{
  "questions": [
    "Кто является целевой аудиторией?",
    "Какие учебные материалы или данные доступны?",
    "Какой результат должна обеспечить разработка?",
    "Какие есть ограничения?"
  ],
  "taskCard": {
    "title": "Название",
    "context": "Контекст",
    "need": "Потребность",
    "targetUsers": "Пользователи",
    "materials": "Данные / материалы",
    "constraints": "Ограничения",
    "expectedResult": "Ожидаемый результат",
    "successCriteria": "Критерии успеха",
    "contact": "Контакт / обратная связь",
    "interactionFormat": "Формат взаимодействия"
  }
}

Invalid-response handling:

  • если карточку невозможно сформировать, приложение показывает: "Не удалось сформировать карточку. Проверьте ответы и попробуйте снова.";
  • пустое название блокирует анализ;
  • пустое описание блокирует анализ;
  • без минимум 3 ответов карточка не создается;
  • публикация без подтверждения блокируется;
  • пустые обязательные поля предложения блокируют отправку.

Scoring formula

Рейтинг готовности рассчитывается от 0 до 100.

КритерийБаллы
Контекст и потребность20
Данные и материалы20
Ожидаемый результат15
Критерии успеха15
Ограничения10
Пользователи10
Связь с бизнесом10
Итого100

UI показывает общий рейтинг, progress bar, уровень, разбивку по критериям и список недостающей информации.

Readiness levels

РейтингУровень
0-39Черновик
40-69В работе
70-89Готово
90-100Приоритетная задача

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

Catalog rules

Каталог:

  • показывает все опубликованные задачи;
  • сортирует задачи по рейтингу готовности по убыванию;
  • показывает тему, пользователей, краткое описание, рейтинг и уровень;
  • позволяет открыть подробности задачи;
  • поддерживает фильтры "Тема" и "Уровень готовности".

Фильтры меняют только текущий вид и не удаляют задачи.

Proposal system

Студенческая команда отправляет предложение по задаче.

Поля предложения:

  • Название команды;
  • Идея решения;
  • План реализации;
  • Предполагаемый срок;
  • Ссылка на прототип.

Количество предложений не ограничено.

Manual business selection

Бизнес видит все предложения и вручную выбирает действие:

  • "Принять";
  • "Отклонить".

Статусы:

  • "Ожидает решения";
  • "Принято";
  • "Отклонено".

Команда не назначается автоматически. ИИ не выбирает победителя.

Synthetic data

Добавлены 5 задач:

  • Помощник для регулярной практики домбры;
  • ИИ-тренер по музыкальной теории;
  • Игра для развития чувства ритма;
  • Помощник для начинающих пианистов;
  • Тренажёр развития музыкального слуха.

Добавлены 5 команд:

  • MusicTech KZ;
  • Лаборатория домбры;
  • Алем Саунд;
  • РитмLab;
  • Qobyz Code.

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

Installation

npm install

Running

npm run dev

Обычно приложение доступно по адресу:

http://127.0.0.1:5173/

Demo

Рекомендуемый 3-5 минутный показ:

  1. Начать со слабого описания: "Хочу помочь ученикам домбры больше заниматься дома."
  2. Показать уточняющие вопросы ИИ.
  3. Сформировать редактируемую карточку задачи.
  4. Показать низкий рейтинг около 30/100 и список недостающей информации.
  5. Нажать "Улучшить задачу с помощью ИИ".
  6. Показать рост до примерно 80/100 и уровень "Готово".
  7. Подтвердить карточку и опубликовать задачу.
  8. Открыть каталог, показать сортировку и фильтры.
  9. Открыть задачу и отправить предложение команды.
  10. Перейти в предложения и вручную принять или отклонить отклик.

На главной странице есть кнопка "Запустить демо", которая восстанавливает подготовленные данные и переводит к созданию задачи. Также есть кнопка "Сбросить демонстрационные данные"; перед сбросом приложение спрашивает подтверждение.

Demo scenario

  1. Открыть главную страницу.
  2. Нажать "Создать задачу".
  3. Ввести: "Хочу помочь ученикам домбры больше заниматься дома."
  4. Нажать "Проанализировать с ИИ".
  5. Ответить на вопросы ИИ.
  6. Нажать "Создать карточку задачи".
  7. Показать низкий рейтинг, разбивку и недостающую информацию.
  8. Нажать "Улучшить задачу с помощью ИИ".
  9. Показать рейтинг около 75-85 и уровень "Готово".
  10. Отредактировать карточку при необходимости.
  11. Поставить подтверждение "Я проверил данные карточки и подтверждаю их".
  12. Нажать "Подтвердить и опубликовать".
  13. Открыть задачу в каталоге.
  14. Отправить предложение команды.
  15. Перейти в "Предложения".
  16. Нажать "Принять" или "Отклонить".
  17. Проверить изменение статуса.

Validation/test scenarios

  • пустое название задачи;
  • пустое описание проблемы;
  • меньше 3 ответов на вопросы ИИ;
  • публикация без подтверждения;
  • пустая идея решения;
  • пустой план реализации;
  • пустой предполагаемый срок;
  • публикация задачи с низким рейтингом;
  • отправка нескольких предложений на одну задачу;
  • ручное принятие и отклонение;
  • обновление страницы и сохранение данных в localStorage.

Limitations

MVP намеренно не реализует:

  • backend;
  • базу данных;
  • регистрацию;
  • авторизацию;
  • чат;
  • уведомления;
  • платежи;
  • blockchain;
  • мобильное приложение;
  • распознавание звука;
  • pitch detection;
  • обучение ML-моделей;
  • vector database;
  • полный project tracker;
  • автоматическое назначение команд.
Звёзды
⭐ 0
Форки
0
Язык
JavaScript
Последний push
в прошлом месяце
Коммиты
6
Авторы
1
Файлы
7
Ветки
1

Авторы коммитов

Zhantore 6

История коммитов

  • 2026-09-23 17:07Polish MusicEdu AI MVPZhantore
  • 2026-09-23 16:54Polish MusicEdu AI MVPZhantore
  • 2026-09-23 16:31Polish MusicEdu AI MVPZhantore
  • 2026-09-23 16:25Polish MusicEdu AI MVPZhantore
  • 2026-09-23 15:56Implement MusicEdu AI MVPZhantore
  • 2026-09-23 15:10Add project READMEZhantore
Структура репозитория (7 файлов)
.gitignore
README.md
index.html
package-lock.json
package.json
src/main.jsx
src/styles.css

Обсуждение 0 комментариев

Войдите, чтобы комментировать

Пока нет комментариев — будьте первым.