Inspiration

Over 1 billion people worldwide speak little to no English, yet the vast majority of online learning platforms default to English — leaving non-English speakers with inferior or nonexistent access to quality education. We wanted to fix that. Vernā was inspired by UN Sustainable Development Goal #4: Quality Education for all, and the simple belief that the language you speak shouldn't determine what you can learn.

The name says it all — Vernā comes from the Latin vernaculus, meaning native, belonging to the home. It's the root of the word "vernacular." Education should feel native, not imported.

What it does

Vernā is an AI-powered adaptive learning platform that generates lessons, challenge questions, and personalized feedback natively in the user's chosen language — never translating after the fact. Users select a topic and language, receive a concise lesson from IBM Granite, answer an adaptive challenge question, and get instant feedback — all in their native language. The platform supports 8 languages including Arabic (with RTL layout), Swahili, Hindi, and Mandarin, with difficulty that adapts in real time based on performance.

How we built it

  • Backend: Python + Flask with a modular architecture separating AI generation, session management, and adaptive difficulty logic
  • AI: IBM Granite (ibm/granite-4-h-small) via IBM watsonx.ai — content is generated directly in the target language using carefully engineered system prompts, never translated
  • Database & Auth: Supabase (PostgreSQL) for session persistence and lesson history, with Supabase Auth handling JWT-based user authentication
  • Frontend: React + Vite + Tailwind CSS with dynamic RTL support for Arabic and Noto Sans for multilingual script rendering
  • Adaptive Engine: Custom confidence scoring algorithm that adjusts difficulty (1–5) based on accuracy, answer speed, and streak

Challenges we faced

IBM's watsonx setup presented a steep learning curve — IAM token authentication, model availability differences across environments, and Python 3.14 SDK compatibility issues all required creative workarounds under serious time pressure. Balancing multilingual prompt engineering so that Granite stays in the target language without switching mid-response was trickier than expected. We also had to scope aggressively — cutting features in real time to ensure a polished core demo rather than a sprawling half-finished app.

What we learned

  • How to engineer prompts that enforce language consistency across an entire learning loop
  • How IBM watsonx.ai's authentication model works (IAM token exchange vs direct API key)
  • How to build adaptive difficulty systems that feel responsive without being frustrating
  • How to ship fast under pressure — scope decisions matter more than any single feature

What's next for Vernā

  • Custom curriculum from your own documents — upload a PDF, textbook, or notes and Vernā builds the curriculum from your material, with AI-generated images illustrating key concepts directly inside lessons and questions
  • Image generation in lessons and challenges — diagrams, illustrations, and labelled figures generated alongside explanations for visual learners
  • Voice input and text-to-speech — speak your answers, hear lessons read aloud; built for low-literacy learners, visually impaired users, and anyone learning a language they can't yet type
  • IDE integration — learn programming concepts without leaving your editor; Vernā as a VS Code sidebar tutor generating code-aware lessons in your language
  • Math and graph support — rendered equations, interactive graphs, and step-by-step worked solutions for STEM topics
  • Spaced repetition — Vernā remembers what you struggled with and revisits it on a schedule rather than treating every session as independent
  • Expanding to 20+ languages with community-validated prompt tuning per script and cultural context
  • Offline-first mode for learners in low-bandwidth regions — the core SDG #4 use case that can't wait for a good connection

Built With

Share this project:

Updates