AAYMA
RU
Войти

TaskReady AI

TaskReady AI: конструктор задачи с уточняющими вопросами, Readiness Score по 7 критериям, каталог, отклики команд с обязательной ссылкой на…

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

О проекте

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

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

Суть

TaskReady AI: конструктор задачи с уточняющими вопросами, Readiness Score по 7 критериям, каталог, отклики команд с обязательной ссылкой на прототип, ручной выбор и подтверждение этапа.

Как устроено

FastAPI-бэкенд с SQLite (пользователи, сессии, задачи, предложения, события прогресса, аудит) и фронтенд на ванильном HTML/JS. Модель вызывается через OpenAI Responses API со Structured Outputs (по умолчанию gpt-4.1-mini), без ключа работает явно обозначенный локальный режим. Общая прозрачная рубрика в rubric.json используется и на фронтенде, и на бэкенде. Балл не растёт от длины текста. Начисление прогресса защищено от повторной отправки. Отдельно собрано автономное статическое HTML-демо для жюри.

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

  • Structured Outputs
  • shared scoring rubric
  • idempotent progress events
  • PBKDF2/CSRF
  • Playwright e2e

Особенности

Публичное автономное демо на Netlify без регистрации плюс видео-walkthrough. Команда честно указывает, что живой вызов LLM не проверялся. Есть скрипт evaluate_ai.py с набором кейсов ai_cases.json.

Стек

Python · FastAPI · SQLite · JavaScript · HTML/CSS · Docker · Render · Netlify

Модели

OpenAI gpt-4.1-mini


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

README

README.md

TaskReady AI

От расплывчатого запроса бизнеса — к задаче, на которую команда может ответить делом

Открыть публичное демо →

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

Попробуйте за 2 минуты: откройте демо, выберите задачу в каталоге, изучите её readiness score, посмотрите предложения команд, примите решение в интерфейсе бизнеса и подтвердите этап. Демо уже содержит пять задач, пять профилей команд и пять предложений.

Зачем это нужно

Фраза вроде «автоматизировать обработку заявок» звучит понятно только на первый взгляд. Команде всё ещё неизвестны доступные данные, пользователи, ограничения и критерии успеха. Из-за этого первые итерации уходят на уточнения.

TaskReady превращает этот запрос в общий рабочий процесс: структурированный бриф → объяснимая оценка готовности → предложения команд → решение владельца → подтверждённый прогресс. Система помогает сформулировать задачу, но оставляет публикацию и выбор за людьми.

Как пройти сценарий демо

  1. Откройте ansaai.netlify.app — регистрация не нужна.
  2. В каталоге выберите задачу и разберите её цель, вводные и критерии успеха.
  3. Посмотрите, как Readiness Score объясняет конкретность по семи критериям и показывает, каких сведений не хватает.
  4. Откройте отклики: в каждом предложении есть план, срок и обязательная ссылка на прототип.
  5. Переключитесь на бизнес-роль, вручную выберите команду и подтвердите прогресс по этапу.

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

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

  • Конструктор задачи с контекстными вопросами, редактированием и подтверждением карточки человеком.
  • Readiness Score по семи критериям конкретности. Балл не растёт просто из-за длинного текста; интерфейс объясняет оценку.
  • Каталог задач с поиском и фильтрами, профили команд, отклики с обязательными ссылками на прототип.
  • Ручной выбор команды владельцем задачи и подтверждение выполненного этапа.
  • Начисление прогресса защищено от повторной отправки одного и того же события.
  • Отдельные бизнес- и командные аккаунты в серверной версии; проверка ролей и владельца выполняется на backend.
  • Адаптивный интерфейс с рубиново-красными и золотыми акцентами, заметной типографикой и сдержанными игровыми сигналами прогресса.
  • Автономное HTML-демо, которое можно открыть локально без установки и API-ключа.

Что именно опубликовано

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

  • Демо работает на учебных данных и хранит изменения только в браузере посетителя.
  • Данные и аккаунты между устройствами и посетителями не синхронизируются.
  • На публичной статической странице нет backend-аккаунтов и живого вызова LLM.
  • Серверная версия с аккаунтами, контролем доступа и интеграцией OpenAI запускается отдельно по инструкциям ниже. Для реального вызова модели нужен API-ключ на сервере.

Мы не заявляем пользовательские метрики или проверенную экономию времени: следующий шаг — испытать процесс на реальных бизнес-брифах и измерить число уточнений до первого осмысленного предложения.

Запуск серверной версии

Требуется Python 3.12+.

python -m venv .venv
# Linux/macOS: source .venv/bin/activate
# Windows: .venv\Scripts\activate
pip install -r backend/requirements.txt
python scripts/build_demo.py
uvicorn backend.main:app --host 127.0.0.1 --port 8000

Откройте http://127.0.0.1:8000. Чтобы проверить взаимодействие ролей, зарегистрируйте бизнес и команду в разных профилях браузера. Также подготовлены scripts/run.sh, scripts/run.ps1 и Docker Compose. Публикация серверной версии на Render описана в руководстве по деплою; конфигурация использует платный инстанс и постоянный диск.

Подключение модели

На сервере задайте TASKREADY_AI_API_KEY (или OPENAI_API_KEY) и при необходимости TASKREADY_AI_MODEL (по умолчанию gpt-4.1-mini). Для Docker Compose скопируйте .env.example в .env. Не помещайте ключ во frontend и не добавляйте .env в архив или Git.

Если ключ не задан, сервер предлагает локальную проверку. Ошибка внешнего провайдера показывается явно — приложение не маскирует её локальным ответом. Живой API-вызов в этой версии не проверялся из-за отсутствия ключа; контракт и обработка ошибок покрыты тестами. Подробнее: Structured Outputs.

Проверки

pip install -r requirements-dev.txt
node --check app.js
python -m py_compile backend/main.py backend/ai.py backend/scoring.py
python -m pytest -q
python scripts/evaluate_ai.py
# С ключом: реальные платные API-запросы
python scripts/evaluate_ai.py --live

Зафиксированная проверка версии 0.3.0: 10 серверных тестов пройдены; Playwright прошёл сценарий двух ролей и автономное демо; на ширине 390 px горизонтального переполнения не было. Подробности и ограничения — в отчёте проверки. Скрипт браузерного сценария — tests/e2e.cjs.

Техническая основа

ЧастьРеализация
ИнтерфейсHTML, CSS, JavaScript; адаптивный каталог и рабочие экраны
APIFastAPI, отдельный слой интеграции OpenAI Responses API
ДанныеSQLite: пользователи, сессии, задачи, предложения, события прогресса и аудит
ЗащитаPBKDF2, HttpOnly/SameSite cookie, CSRF, серверная проверка роли и владельца
ОценкаОбщая прозрачная рубрика из семи критериев для frontend и backend
Статическое демоОдин HTML-файл с локальным состоянием; backend не требуется

Структура проекта

  • backend/main.py — API, аккаунты, сессии, база, доступ и операции с задачами.
  • backend/ai.py — интеграция модели и явно обозначенный локальный режим.
  • backend/scoring.py, public/rubric.json — общая рубрика готовности.
  • app.js, styles.css, index.html — исходники интерфейса.
  • public/ — собранные frontend-файлы.
  • scripts/build_demo.py — сборка public/ и автономного HTML-демо.
  • docs/PITCH.md, docs/DEMO_SCRIPT.md — материал защиты и сценарий показа.
  • docs/DEPLOYMENT.md, docs/HANDOFF.md — деплой и передача проекта.

Ограничения пилота

В текущем объёме нет восстановления и подтверждения email, MFA, нескольких аккаунтов участников одной команды и админ-панели. Рубрика измеряет конкретность описания, но не проверяет достоверность фактов или реализуемость решения. Серверная SQLite-конфигурация рассчитана на небольшой пилот; инструкции по резервному копированию и ограничениям есть в docs/DEPLOYMENT.md.

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

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

tvixx tarq 7tvixx tarq 1

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

  • 2026-09-23 17:53release: publish TaskReady final versiontvixx tarq
  • 2026-09-23 16:53fix: align frontend with AI response contracttvixx tarq
  • 2026-09-23 16:30design: publish TaskReady v3 interfacetvixx tarq
  • 2026-09-23 16:11chore: add docker build exclusionstvixx tarq
  • 2026-09-23 16:11feat: ship verified TaskReady redesign and backendtvixx tarq
  • 2026-09-23 15:42design: adopt refined editorial workspacetvixx tarq
  • 2026-09-23 14:21chore: ignore local runtime filestvixx tarq
  • 2026-09-23 14:20feat: add TaskReady AI readiness OS MVPtvixx tarq
Структура репозитория (37 файлов)
.dockerignore
.env.example
.gitignore
Dockerfile
README.md
TaskReady-demo.html
app.js
backend/__init__.py
backend/ai.py
backend/main.py
backend/requirements.txt
backend/scoring.py
docker-compose.yml
docs/DEMO_SCRIPT.md
docs/DEPLOYMENT.md
docs/HANDOFF.md
docs/PITCH.md
docs/TaskReady-walkthrough.mp4
docs/VERIFICATION.md
index.html
public/app.js
public/demo.html
public/index.html
public/rubric.json
public/styles.css
render.yaml
requirements-dev.txt
requirements-lock.txt
scripts/backup.py
scripts/build_demo.py
scripts/evaluate_ai.py
scripts/run.ps1
scripts/run.sh
styles.css
tests/ai_cases.json
tests/e2e.cjs
tests/test_api.py

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

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

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