lila/documentation/STATUS.md
2026-05-16 01:59:43 +02:00

46 lines
2.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Status — 2026-05-15
> Last updated: 2026-05-15. Update this file after every deploy or when switching tasks.
## What Works Today ✅
- **Singleplayer quiz** — Duolingo-style, 5 language pairs (en↔it/de/es/fr), 3 or 10 rounds, POS + difficulty filters
- **Multiplayer** — Create/join lobby by room code, 24 players, simultaneous answers, 15s server timer, live scoring, winner screen
- **Auth** — Google + GitHub via Better Auth, cross-subdomain cookies, session middleware on protected routes
- **Deployment** — Live at lilastudy.com, Hetzner VPS, Caddy HTTPS, Docker Compose, CI/CD via Forgejo Actions
- **Database** — PostgreSQL with Drizzle ORM, daily backups, idempotent seeding
## What's Broken / Blocked 🚧
- **Data quality** — Production still uses OpenWordNet/OMW translations. Kaikki pipeline (sense-disambiguated) is in progress but not yet synced to production.
- **Guest play** — Auth is required for all game routes. No try-before-signup flow.
- **Game session store** — Still in-memory (`InMemoryGameSessionStore`). Valkey container exists in local dev but not wired up.
- **Rate limiting** — Partially implemented on auth endpoints; game endpoints not yet covered.
- **React error boundaries** — Not implemented; runtime crashes take down the whole app.
- **Monitoring** — No uptime alerts or centralized logging on the VPS.
## What I'm Working On Now 🔄
**Primary:** Rewriting the Kaikki data pipeline enrich script for sub-stage architecture (round1_gloss → round1_example → round1_translations → round1_cefr).
**Secondary:** Phase 7 hardening backlog items (see BACKLOG.md `next` section).
## Next 2-Week Goal 🎯
Finish Kaikki Stage 3 (enrich) sub-stage rewrite → run full sample → compare quality → decide on production sync timeline.
## The Big Picture
Lila is a **deployed, working vocabulary quiz app**. The core loop (singleplayer + multiplayer) is solid. The next strategic milestone is **media-based practice** (learn vocab from a song/TV episode/book chapter), but that depends on:
1. Kaikki data pipeline reaching production (fixes translation quality)
2. A media ingestion prototype (subtitles/lyrics → text → vocab extraction → quiz)
Until then, the app is a generic vocabulary quiz — functional but not differentiated.
## Quick Links
- [BACKLOG.md](BACKLOG.md) — Prioritized tasks
- [DATA_PIPELINE.md](DATA_PIPELINE.md) — Pipeline stages and current progress
- [BACKLOG.md](BACKLOG.md) — `now` / `next` / `later`
- [DEPLOYMENT.md](DEPLOYMENT.md) — Infrastructure ops