Doop
Doop: 오픈소스 멀티플레이어 디자인 캔버스 및 AI 에이전트용 MCP
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기AI-powered assistant that turns messy packaging inputs into structured design briefs. Built for Esko AIForge Hackathon 2026.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Turns messy packaging inputs into a cited, reviewable design brief. Built for the Esko AIForge Hackathon 2026 (problem: From Product Idea to Design Brief).
Demo video: https://www.youtube.com/watch?v=y4wWjKvDw0U Live demo: https://esko-brief-ai-m9fc.vercel.app (free tiers; if it hangs, please use the video)
A brand manager has an Excel content sheet, a packaging PDF and a few notes: scattered, partly incomplete, sometimes contradictory. They must turn this into one clear brief for a design agency. Done by hand, it is slow and error-prone.
| The problem statement asks for | How Brief AI handles it |
|---|---|
| Read the files provided | Parses .xlsx, .pdf and .docx into source elements (rows, pages) |
| Ask smart follow-up questions | A rule-based gap check produces a question only for items the extracted facts do not already answer |
| Identify inconsistent or unclear information | Rules look for conflicting facts across sources; the model also lists uncertainties it could not resolve |
| Create a brief an agency can use | A sectioned brief with confidence scores, plus open questions for the agency |
| Show where information came from | Every sentence carries citation chips (file + row or page); an Evidence panel shows the source text |
| Let the user review and edit before finalizing | Inline editing, a per-section review gate, then Finalize |
| Role | Technology |
|---|---|
| Fact extraction, drafting, critique, refinement | Gemini (gemini-3.8-flash) |
| Fallback when quota is exhausted | Groq openai/gpt-oss-120b |
| Gap, conflict and follow-up logic | Plain Python rules (no model) |
| Backend | Python, FastAPI, Pydantic |
| Frontend | React, TanStack Start, Tailwind CSS |
| Hosting | Render (backend), Vercel (frontend) |
Backend:
cd backend
python -m venv venv && source venv/bin/activate
pip install -r requirements.txt
echo "GEMINI_API_KEY=your_key" > .env
echo "GEMINI_MODEL=gemini-3.8-flash" >> .env
python -m uvicorn main:app --reload --port 8000
Optional fallback: add GROQ_API_KEY and GROQ_MODEL=openai/gpt-oss-120b, and set LLM_PROVIDERS=gemini,groq.
Frontend:
cd frontend
npm install
echo "VITE_API_URL=http://127.0.0.1:8000" > .env.local
npm run dev
Open http://localhost:8080, click Use sample sources, then Generate brief.
sample_replay.py] for the bundled sample files the backend replays a saved output of a real pipeline run. Your own uploads run the live pipeline and may hit rate limits.MIT