Polylogue is a Python/Django language-learning app focused on comprehension-first learning. For this MVP, the learner knows Hindi and learns English through progressive exposure: letters -> words -> phrases -> sentences -> paragraphs.
The repository already includes:
- Django project and app scaffold
- Yellow/navy themed UI
- Starter course and starter book screens
- 5-item navigation with progress persistence
- Basic Hindi reveal for each item
- SQLite models for flows, progress, and notes
The detailed phased plan is in Plan.md.
Deliver a basic local prototype where a learner:
- Selects English (target) and Hindi (known)
- Learns in levels with comfort checks before promotion
- Gets optional translation support (word tap + full page toggle)
- Adds personal notes for words
- Uses alphabet pronunciation audio
- Can upload a PDF to create a custom learning flow
- Python 3.9+
- Django 4.2.x
- SQLite
- HTMX (UI interaction)
- JSON content seeds
polylogue/Django project configcore/main app (models, views, templates)data/default_course.jsonstarter course contentdata/starter_book.jsonstarter reading contentPlan.mdstep-by-step build plan
- Create virtual environment:
python3 -m venv .venv- Activate environment:
source .venv/bin/activate- Install dependency:
pip install "Django>=4.2,<5"- Create env config:
cp .env.example .env- Run migrations:
set -a; source .env; set +a; python manage.py migrate- Start dev server:
set -a; source .env; set +a; python manage.py runserver- Open:
http://127.0.0.1:8000/
- Secrets are loaded from environment variables (not hardcoded in code).
.envis ignored by git; commit.env.exampleonly.- Do not commit private keys, tokens, or production credentials.
- Home page shows available learning flows
Starter Courseruns letter/word/phrase/sentence/paragraph pagesStarter Bookprovides paragraph reading practiceNextandBackupdate persisted progress
- Add onboarding for language pair selection (English <- Hindi).
- Add comfort checkpoint prompts between levels.
- Add adaptive repetition if user is not comfortable.
- Add word-level interactions for sentences/paragraphs.
- Add alphabet pronunciation audio.
- Add PDF upload and text chunking pipeline.
- Keep changes incremental and testable.
- Prefer shipping one phase at a time from
Plan.md. - Validate the app locally after each phase.