Inspiration
Indonesia is a nation of incredible linguistic diversity, with over 700 local languages. However, many of these languages are endangered as younger generations increasingly adopt the national language. We were inspired by the urgent need to preserve this rich cultural heritage. We realized that traditional language learning methods are often seen as boring and ineffective. Our inspiration was to create a solution that makes learning local Indonesian languages not just educational, but genuinely fun, engaging, and culturally immersive, turning preservation into an adventure.
What it does
Batara is a gamified mobile application designed to teach Indonesian local languages through interactive gameplay. Users can:
Choose from Multiple Languages: Start their journey with various local languages like Sundanese, Javanese, and more.
Engage in Skill-Based Games: Learn through a variety of game modes, including visual vocabulary quizzes ("Guess the Picture"), sentence-building puzzles ("Arrange the Sentence"), and flashcard-style vocabulary trainers.
Track Progress: A personalized dashboard shows users their overall progress in each language and their current level in each game mode, encouraging continuous learning.
Experience an AI-Powered Narrative RPG: Our flagship feature is an interactive story game where users create a character and embark on a narrative adventure. An AI acts as a "Game Master," generating dynamic, culturally-rich stories in real-time. The user's choices, made in the local language, directly influence the story's outcome, providing an unparalleled immersive learning experience.
How we built it
Batara is a full-stack mobile application built on a modern, serverless architecture to allow for rapid development and scalability.
Frontend: Developed using React Native with Expo, allowing for a cross-platform experience on both iOS and Android from a single codebase. Styling was handled with NativeWind for rapid UI development.
Backend & Database: We used Supabase as our all-in-one backend. It provided us with a robust PostgreSQL database, user authentication (including Google Sign-In), and real-time capabilities without needing to manage a traditional server.
Artificial Intelligence: The core of our interactive story game is powered by Large Language Models (LLMs) accessed through the OpenRouter API. This allowed us to leverage powerful models like deepseek/deepseek-r1:free to generate dynamic, JSON-formatted story content based on carefully engineered prompts.
Prototyping & Demo Backend: During the hackathon, we initially prototyped our AI backend using a Google Colab notebook with a free GPU, exposing it as a temporary API with ngrok. This allowed us to test and validate our AI logic before integrating the more stable OpenRouter API.
Challenges we ran into
Our biggest challenge was the AI integration. We initially chose the deepseek/deepseek-r1:free model on OpenRouter, but quickly encountered issues with upstream rate-limiting due to high demand. This forced us to engineer a more flexible solution and switch to more stable models deepseek/deepseek-r1:free that supported forced JSON output. Furthermore, prompt engineering was key; we had to design a highly specific prompt that could consistently guide the LLM to generate a story, a multiple-choice question, and a correct answer key, all within a single, valid JSON object.
Another significant challenge was the data integration with Supabase. Structuring the database to accurately track user progress across multiple languages, various game modes, and different levels required a complex relational schema. We ran into difficulties ensuring that progress updates were calculated efficiently. We solved this by writing custom PostgreSQL functions (RPCs) directly in Supabase to handle complex aggregations, such as calculating a user's overall progress percentage for a language, which streamlined data fetching on the frontend and ensured the UI was always up-to-date.
Accomplishments that we're proud of
We are incredibly proud of successfully creating a truly innovative learning tool. The AI-powered interactive story game is not just a chatbot; it's a dynamic narrative engine that makes language learning feel like playing an RPG.
We are also proud of building a complete, full-stack application within the hackathon timeframe. By leveraging modern tools like Supabase and OpenRouter, we were able to implement complex features like user authentication, progress tracking, and real-time AI generation that would typically take weeks to build.
What we learned
This project was a deep dive into modern application architecture. We learned how to effectively combine a BaaS (Supabase) with third-party APIs (OpenRouter) to build a powerful application without a traditional backend.
A major takeaway was the art of prompt engineering. We learned that the quality of our AI's output was directly tied to the precision and structure of our prompts, especially when demanding a specific JSON format. We also gained valuable experience in debugging real-time API issues, such as rate limiting and model compatibility.
What's next for Batara (Bahasa Nusantara)
Our vision for Batara is to become the go-to platform for learning Indonesian local languages. Our next steps include:
Expanding the Language Library: Systematically adding more languages from across the archipelago.
Full Character Creation: Implementing the UI for the character creation flow (name, age, province, profession) to feed into the AI story generator.
More Game Modes: Introducing new games that focus on other skills, such as listening comprehension and pronunciation.
Leaderboards & Social Features: Adding leaderboards and the ability to challenge friends to foster a sense of community and friendly competition.
Built With
- ai
- deepseek
- expo.io
- llm
- openrouter
- react-native
- supabase
Log in or sign up for Devpost to join the conversation.