Lingo was inspired by the limitations we observed in the popular language-learning app, Duolingo. While Duolingo is engaging and fun, it often lacks real-life conversational application. We set out to create a demo that enhances user engagement, retains relevant vocabulary, and emphasizes practical language skills such as speaking, listening, and comprehension.
Lingo focuses on practical conversation, listening, and comprehension, reducing the emphasis on reading. Key features include:
- Smart Vocabulary Library: Tracks and manages learned words.
- Lesson-Skipping Feature: Lets users bypass lessons they find unnecessary, enabling them to focus on what they need.
- AI Chatbot - Lingo Owl: An interactive chatbot that allows users to practice speaking skills, providing personalized communication practice.
We developed a Duolingo replica with several integrated modifications using:
- Next.js & React: For a responsive frontend and backend.
- Drizzle ORM & Neon: For efficient database management and storage.
- TypeScript: As our programming language.
One major challenge was replicating Duolingo’s interface, which required extensive trial and error. We meticulously designed the layout to retain positive aspects while modifying elements that didn’t align with our vision.
We take pride in developing a unique approach to language learning that emphasizes relevance and practicality. Notably, our redesign of lessons and the inclusion of Lingo Owl have significantly enhanced user experience, allowing for skill refinement without needing a native speaker.
Working with Next.js for full-stack development taught us efficient server-side rendering and API routing. Implementing Drizzle ORM improved our database interactions, while Neon enhanced our understanding of cloud-based databases. Additionally, we refined our skills in TypeScript, a language that was new to most of our team.
Due to time constraints, we were unable to implement all desired features. Future plans include:
- Implementing a response time tracker to categorize vocabulary difficulty based on user response speed, which can inform flashcard creation for active recall and spaced repetition.
- Allowing users to personalize their learning order to enhance their study experience.