AAYMA
RU
Войти

AI Sana — каталог бизнес-задач

Браузерный прототип Challenge Hub. Мастер из трёх шагов превращает черновик бизнес-задачи в карточку с рейтингом полноты. Готовые карточки…

Рабочий MVP
Команда «iLoveLarp» 11💬 0 комментариевс 23 сентября 2026 г.

О проекте

Команда: iLoveLarp
Кейс HackAlem.ai: Образование — AI Sana
Стадия: Рабочий MVP

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

Суть

Браузерный прототип Challenge Hub. Мастер из трёх шагов превращает черновик бизнес-задачи в карточку с рейтингом полноты. Готовые карточки публикуются в каталог, студенческие команды отправляют отклики, бизнес принимает или отклоняет их.

Как устроено

Черновик и отрасль передаются в ai.js. Он через OpenAI-совместимый Chat Completions API или локальную офлайн-эвристику находит пробелы (данные, пользователи, ограничения, результат, критерии успеха) и задаёт уточняющие вопросы. Ответы собираются в редактируемую карточку, rating.js считает полноту от 0 до 100 по 7 критериям с подсказками. Состояние хранится в localStorage. Навигация на hash-router, отдельные режимы «Бизнес» и «Студенческая команда».

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

  • gap-based clarifying questions
  • completeness scoring (7 criteria)
  • offline heuristic fallback
  • hash router
  • jsdom smoke tests

Особенности

Полностью клиентское приложение без сборки. Офлайн-эвристика работает без ключа как запасной AI-режим. Рейтинг полноты заявки с подсветкой незаполненных полей. Весь цикл «бизнес → каталог → отклик → отбор» закрыт в одном прототипе.

Стек

HTML · CSS · JavaScript · localStorage · jsdom · pnpm

Модели

OpenAI-совместимый Chat Completions API


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

README

README.md

AI Sana — каталог бизнес-задач

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

Проблема и аудитория

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

Проект предназначен для:

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

Что реализовано

  • Мастер создания задачи из трёх шагов: черновик, уточняющие вопросы, итоговая карточка.
  • Выбор отрасли из расширенного списка либо ввод своего варианта.
  • Набор демо-черновиков, чтобы быстро показать сценарий на защите.
  • Контекстные вопросы по пробелам в описании: данные, пользователи, ограничения, ожидаемый результат, критерии успеха и связь с бизнесом.
  • Редактируемая карточка с подсветкой незаполненных полей.
  • Рейтинг полноты от 0 до 100, детализация по семи критериям и подсказки, какие поля улучшить.
  • Публикация задач в каталоге, поиск, фильтрация по отрасли и уровню готовности, сортировка по рейтингу и дате.
  • Режимы «Бизнес» и «Студенческая команда» с разной навигацией.
  • Отклик команды с идеей, планом, сроком и ссылкой на прототип.
  • Входящие отклики для бизнеса: новые помечаются, заявку можно принять или отклонить; для принятой команды доступны баллы фактического прогресса.
  • Разделы «Мои задачи», «Мои отклики» и «Одобренные заявки».
  • Настройки AI: внешний OpenAI-совместимый Chat Completions API или встроенный офлайн-режим.

Как работает решение

  1. Представитель бизнеса выбирает роль и создаёт черновик задачи.
  2. Система анализирует текст и задаёт вопросы именно о недостаточно раскрытых частях заявки.
  3. Ответы преобразуются в карточку: пользователь проверяет и редактирует поля, а рейтинг показывает готовность задачи.
  4. После публикации задача попадает в каталог.
  5. Студенческая команда открывает карточку и отправляет свой план решения.
  6. Бизнес просматривает входящие отклики и вручную принимает или отклоняет команды.

Технологии

  • HTML5, CSS3 и JavaScript без фреймворков и сборщика.
  • localStorage для хранения состояния демо в браузере.
  • Hash-router для навигации между экранами.
  • jsdom для smoke-проверки пользовательских сценариев.
  • OpenAI-совместимый Chat Completions API: можно указать endpoint, модель и API-ключ в настройках AI.
  • Локальная эвристика как запасной AI-режим: работает без ключа и интернета.

Архитектура

index.html
 ├─ styles.css                    интерфейс и адаптивность
 ├─ data/seed.js                  демонстрационные задачи и команды
 └─ js/
    ├─ constants.js               поля карточки, отрасли, банк вопросов
    ├─ rating.js                  расчёт рейтинга полноты
    ├─ state.js                   состояние приложения и localStorage
    ├─ ai.js                      промпты, API-вызов и офлайн-режим
    ├─ router.js                  маршрутизация
    ├─ main.js                    запуск приложения и общие элементы UI
    └─ views/                     экраны мастера, каталога, задач и откликов

ai.js получает текст черновика и отрасль, возвращает вопросы либо структуру карточки. rating.js считает баллы по полям карточки. Представления в js/views отображают данные из state.js и сохраняют изменения в localStorage.

Установка и запуск

Нужен любой современный браузер. Зависимости для работы интерфейса не требуются.

  1. Склонируйте репозиторий и откройте папку проекта:

    git clone https://github.com/BAITC-Hacks/hack-c44bbb01-ilovelarp.git
    cd hack-c44bbb01-ilovelarp
    
  2. Запустите локальный сервер:

    python -m http.server 8000
    

    Если в системе команда называется python3, используйте python3 -m http.server 8000.

  3. Откройте в браузере http://localhost:8000.

Можно открыть index.html напрямую, но запуск через локальный сервер надёжнее для работы localStorage.

Как проверить решение

Сценарий для жюри:

  1. В боковом меню выберите «Бизнес» и откройте «Новая задача».
  2. Нажмите на один из примеров черновика, выберите или впишите отрасль.
  3. Перейдите к вопросам, заполните несколько ответов и сформируйте карточку.
  4. В карточке обратите внимание на рейтинг и подсвеченные поля. Дополните их и опубликуйте задачу.
  5. Переключитесь на «Студенческая команда», откройте «Каталог задач», выберите опубликованную задачу и отправьте отклик.
  6. Вернитесь в роль бизнеса: во «Входящих откликах» новая заявка будет выделена. Примите или отклоните её.
  7. В режиме команды откройте «Мои отклики» или «Одобренные заявки» и проверьте статус.

Для smoke-проверки установите dev-зависимости и выполните:

npm install
npm test

Данные и AI-интеграции

При первом запуске используются синтетические демонстрационные задачи и профили команд из data/seed.js. Внешние базы данных и персональные данные не подключаются.

По умолчанию работает офлайн-эвристика. Для реальной модели откройте «Настройки AI», выберите «Внешний API» и укажите OpenAI-совместимые endpoint, модель и API-ключ. Ключ хранится только в localStorage текущего браузера и используется для демонстрации; для публичного развёртывания нужен серверный прокси, чтобы ключ не попадал в клиентский код.

Ограничения текущей версии

  • Нет регистрации, входа и серверной базы данных: роли и все изменения существуют только в текущем браузере.
  • Команды выбираются из демо-профилей; полноценное управление аккаунтами пока не реализовано.
  • Внешний AI вызывается из браузера, поэтому этот режим подходит для локальной демонстрации, а не для публичного сайта.
  • Нет развёрнутой публичной версии.

Deployed-версия

На момент подготовки README публичная deployed-версия отсутствует.

Звёзды
⭐ 0
Форки
0
Язык
JavaScript
Последний push
в прошлом месяце
Коммиты
2
Авторы
1
Файлы
22
Ветки
1

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

eslishnah 2

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

  • 2026-09-23 17:59Add hackathon README in Russianeslishnah
  • 2026-09-23 16:42Build AI Sana task catalog MVPeslishnah
Структура репозитория (22 файлов)
.gitignore
README.md
README.repository.md
data/seed.js
index.html
js/ai.js
js/constants.js
js/helpers.js
js/main.js
js/rating.js
js/router.js
js/state.js
js/views/catalog.js
js/views/inbox.js
js/views/myProposals.js
js/views/myTasks.js
js/views/taskDetail.js
js/views/wizard.js
package.json
pnpm-lock.yaml
styles.css
test/smoke.js

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

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

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