TutorLoom
기업·대학·교육기관을 위한 학습 플랫폼, 무료 오픈소스이며 엔터프라이즈 버전 제공
저장소 정보는 아직 수집하지 않았습니다.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
Rehearse a pitch out loud and get a rubric score, a sourced figure you can say, and a spoken verdict. NVIDIA Nemotron 3 on Nebius Token Factory, Tavily, ElevenLabs. Bilingual (es/en), no account, MIT.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Practice a pitch out loud and get structured feedback for the type you chose (capital, education, innovation, or technology): a rubric, a score, filler words, and a verdict you can listen to when you want. The interface and the analysis run in Spanish or English (LATAM-first).
Open source: use it, fork it, and keep going.
License: MIT.
Live demo: https://pitch-coach.focampo.com.
Product and implementation docs: docs/README.md.
Main loop: choose language, type, and duration → record (MediaRecorder, automatic cutoff) → the server transcribes (ElevenLabs Scribe) → filler words are counted → the model judges the take against the rubric (Nebius by default) → the dashboard shows the score, covered and missing points, and the highlighted transcript.
Same session, after the score:
[mm:ss.cc]) when the
pitch was recorded (not when it was typed).The live indicator is a ring that reacts to the voice and sits with the status
lines (Listening… / Transcribing… / the closing line), in the session
language. The session is anonymous. There is no login.
| Pitch setup | Coach (indicator) | Result dashboard |
|---|---|---|
npm test (vitest) covers src/lib/ and API
routes (mocked fetch). The microphone loop is checked by hand.localStorage. There are no
accounts and no sync across devices.ELEVENLABS_API_KEY (Scribe). Without it, or without a
microphone, there is a backup text field.MODEL_PROVIDER=nebius)MODEL_PROVIDER=gemini).env.example)Dockerfile is production only)Token Factory (NVIDIA, on every practice). The server calls
https://api.tokenfactory.nebius.com/v1/chat/completions from
src/lib/proveedor-nebius.ts. Nemotron is used in three sizes:
nvidia/nemotron-3-super-120b-a12b (Super).nvidia/Nemotron-3-Ultra-550b-a55b.nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B (Nano).The model does not set the score. The rubric lives in src/lib/rubricas.ts;
the server derives the score and counts filler words. Detail:
docs/guia-integracion-nebius.md.
Tavily. Search and extract run on the server (src/lib/tavily.ts,
POST /api/enriquecer). The transcript is not sent. At most two points per
practice receive a figure (MAX_PUNTOS_ENRIQUECIDOS). The same call brings one
room objection for the type and checks one figure the pitch already said. If a
missed point has no usable figure, there is no suggestion. If a spoken figure
has no source of the same order, the dashboard says so and does not penalize
the point. Detail:
docs/guia-integracion-tavily.md.
The app calls Token Factory at runtime. Gemini remains a manual fallback
(MODEL_PROVIDER=gemini) and is not the demo path.
Native development on Linux. Docker is not part of the daily loop.
npm install.env.example to .env.local and set at least:
MODEL_PROVIDER — nebius (default) or geminiNEBIUS_API_KEY — required with Nebius (the default). Token Factory key.GEMINI_API_KEY — required only if MODEL_PROVIDER=geminiELEVENLABS_API_KEY — STT + TTSELEVENLABS_VOICE_ID_* — Spanish and English (see .env.example)TAVILY_API_KEY — dashboard suggestionsnpm run devA current browser with a microphone. HTTPS outside localhost for the microphone.
Useful commands: npm test, npm run lint, npm run build.
Build with Dockerfile (Next.js standalone) and railway.toml. The Dockerfile
is for this deploy only. It is not used for local development. In Settings →
Variables, set the same keys as .env.local (including NEXT_PUBLIC_SENTRY_*
and the Dockerfile ARGs if you use Sentry — see
docs/sentry.md).
| Document | What it is for |
|---|---|
docs/README.md | Index (tutorial, guides, reference) |
docs/alcance.md | Product, business rules, contracts |
docs/status.md | What is implemented and where it lives |
CONTRIBUTING.md | Contributing and extension points |
CLAUDE.md | Rules for agents in this repo |
Issues and pull requests are welcome. See CONTRIBUTING.md.
MIT — see LICENSE.