TutorLoom
기업·대학·교육기관을 위한 학습 플랫폼, 무료 오픈소스이며 엔터프라이즈 버전 제공
저장소 정보는 아직 수집하지 않았습니다.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Spanish conversation practice for Hebrew speakers, with two virtual teachers (Lucía and Vale) and real-time voice. Invite-only beta, 18+.
Stack: Next.js 16 on Vercel, Supabase (Auth + Postgres), OpenAI Realtime API over WebRTC.
/api/realtime/session to start a call (Supabase session cookie).start_session), and reserves the worst-case cost./api/realtime/end bills the real time (capped by the server clock), books the cost, and stores the transcript encrypted with AES-256-GCM.| Limit | Default | Where |
|---|---|---|
| Talk time per user per day (Israel time) | 15 min | DAILY_LIMIT_MINUTES |
| Longest single call | 10 min | MAX_SESSION_MINUTES |
| Monthly API budget | $50 | MONTHLY_BUDGET_USD |
| New calls blocked at | 90% of budget ($45) | BUDGET_BLOCK_RATIO |
| Cost booked per minute (at least) | $0.10 | RESERVE_USD_PER_MINUTE |
| Transcript retention | 30 days | pg_cron job in the migration |
The booked cost per call is the larger of the client-reported token cost and the per-minute estimate, so the cap holds even if a client lies. As a second safety net, set a budget limit on the OpenAI project that owns the key.
supabase/migrations (SQL editor, or npx supabase db push).
<APP_URL>/** to Redirect URLs./auth/callback handles Supabase's default links..env.example to .env.local and fill it in. On Vercel, add the same variables and mark secrets as Sensitive.node --env-file=.env.local scripts/create-invite.mjs [email protected] "beta wave 1".PERSONA_TEST_KEY (24+ random characters, Sensitive, Preview only), then open <PREVIEW_URL>/api/admin/persona-test?key=.... A second model plays a learner through each scenario in src/lib/persona-test.ts and the endpoint returns the transcripts. Add &persona=vale or &scenario=injection to run one.npm run dev # local dev server
npm test # unit tests (crypto, cost)
npm run lint
npm run typecheck
npm run build