Inspiration

Praglish was inspired by our own needs. As engineers who are not native English speakers and do not live in an English-speaking country, we often struggle to express ourselves in English. We can understand what we read and hear, but when it is time to speak or write, we hesitate. We realized that most English-learning applications focus on consuming or memorizing information, while experience-based interaction and real-life practice remain limited. We imagined a game that would let us use the English we already know in practical situations. Praglish—Pragmatic + English—is the game we wished existed. Our goal is not simply to teach more theory. It is to help learners turn their existing knowledge into action.

What it does

Praglish is a 2D isometric English-practice game where speaking and writing in English are part of the gameplay. In Roleplay Mode, players enter simulated everyday environments and communicate with AI-powered characters to complete contextual objectives. They might buy an item from a bakery or find and borrow a book from a library. An AI coach evaluates each response according to the situation, the speaker, the listener, and the player’s goal. If a sentence is incorrect, unnatural, inappropriate, or disconnected from the context, the player receives an immediate correction, a more natural alternative, and a short explanation. Praglish focuses especially on pragmatic competence. A sentence can be grammatically correct and understandable while still not being the natural way a native speaker would express the same idea. The game therefore considers collocations, idioms, register, intent, and context—not only syntax and semantics. Players can also interact with objects, type their English names, discover synonyms, and earn XP and coins while expanding their active vocabulary. In Listen & Repeat Mode, players choose a scene and character, listen to individual lines, record their own performance, and receive word-level accuracy feedback. Their recordings can then be inserted into the scene, allowing them to perform alongside the original characters. This provides engaging practice for listening-and-speaking exercises similar to those encountered in language proficiency tests. Players can follow their progress over time and review statistics about their vocabulary, grammar, idiom use, and performance.

How we built it

We built Praglish as a modular, service-oriented application. The game client was developed with Phaser, TypeScript, and Vite. Phaser powers the isometric environments, character movement, interactive objects, dialogue interfaces, animations, and audio experience. We implemented grid-based navigation and A* pathfinding so characters can move naturally while avoiding obstacles. The backend consists of two FastAPI services. The main API manages game sessions, player profiles, rewards, vocabulary progress, analytics, and communication between the game and AI layer. PostgreSQL, SQLAlchemy, and Alembic provide persistent storage and database management. A separate AI service handles NPC dialogue, pragmatic language evaluation, sentence correction, vocabulary extraction, speech recognition, and speech synthesis. We integrated Google Gemini for contextual language processing, speech-to-text, and text-to-speech, with Groq integrations available as alternative providers. The AI receives structured information about the active environment, NPC personality, conversation history, communicative goal, and required task information. This allows responses to be evaluated within the actual game situation instead of as isolated sentences. We used browser microphone APIs to capture player speech and send it through the backend for verbatim transcription. The resulting text is evaluated before the NPC responds. The application is containerized with Docker and Docker Compose. The frontend is deployed on Vercel, while the API, AI service, and PostgreSQL infrastructure run on Render.

Challenges we ran into

One of our greatest challenges was evaluating language pragmatically rather than checking only grammar. A sentence can be syntactically correct and semantically understandable while still sounding unnatural or being unsuitable for the situation. We had to design an evaluation method that considers the speaker, listener, environment, conversation history, intent, register, and communicative goal without unfairly rejecting valid alternative expressions. Building our first isometric game was another major challenge. We had to understand coordinate conversion, depth ordering, collision areas, character animation, object interaction, and pathfinding. Finding visual assets that belonged to the same style and perspective was also more difficult than expected. Speech integration introduced additional complexity. Browser-recorded audio can arrive in different formats, and speech must be transcribed verbatim so the system does not silently correct the learner before evaluation. We also had to manage API quotas, retry behavior, temporary provider failures, and separate credentials for speech-to-text and text-to-speech. Deploying multiple communicating services created its own problems, including CORS configuration, environment-variable isolation, database connections, Docker port configuration, and communication between the public API and the private AI layer. Finally, we had to balance educational feedback with enjoyable gameplay. Corrections needed to be useful and contextual without interrupting the experience or making players afraid to experiment.

Accomplishments that we're proud of

We are proud that we produced a usable, end-to-end product in such a short amount of time. Praglish is more than a visual prototype. Players can explore environments, interact with objects and AI characters, speak through their microphones, receive contextual feedback, complete objectives, earn rewards, practise vocabulary, perform movie scenes, and track their progress. We are especially proud of combining game mechanics, speech technologies, generative AI, and pragmatic language evaluation within a single coherent learning experience.

What we learned

We learned a great deal while building Praglish. None of us had previously created a 2D game from scratch. We learned how isometric environments work, how difficult it can be to find compatible assets, and how pathfinding algorithms allow a character to travel from one point to another while navigating around obstacles. We also learned that evaluating a learner’s sentence requires more than checking whether it is grammatically correct. Linguistic evaluation can be considered through three major areas: syntax, semantics, and pragmatics. We discovered that Praglish is primarily concerned with pragmatics—whether an expression is natural and appropriate for a particular person, purpose, and context. While searching for a reliable evaluation formula, we found ourselves exploring linguistics, mathematics, and the philosophy of language. We are still refining this system and investigating how pragmatic language ability can be measured fairly without restricting the diversity of valid human expression. On the engineering side, we gained practical experience with browser audio capture, speech recognition, text-to-speech, prompt design, structured AI outputs, multi-service deployment, PostgreSQL persistence, Docker, API observability, and rate-limit handling.

What's next for Praglish

We plan to introduce a story-driven, task-oriented game mode. Players will progress through the story by completing missions based primarily on speaking and writing in English. We will expand Roleplay Mode with more locations, including hospitals, supermarkets, cafés, gyms, schools, and other everyday environments. We also want to introduce profession-based scenarios where players can practise situations involving roles such as doctors, teachers, engineers, and service workers. Future characters will become dynamic AI agents rather than static conversational interfaces. These agents will have their own goals, memories, personalities, and changing reactions, making each interaction feel more natural and less predictable. We also plan to integrate real-time speech-to-text, text-to-speech, and low-latency language-model responses to increase immersion and encourage players to communicate spontaneously. Finally, we aim to commercialize Praglish. Through membership plans, we hope to offer more powerful AI models, advanced analytics, personalized scenarios, richer feedback, and longer interactive experiences. Unleash your potential with Praglish

Built With

Share this project:

Updates

Submission history