Inspiration
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.
What It Does
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.
How We Built It
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.
Challenges We Ran Into
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.
Accomplishments We’re Proud Of
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.
What We Learned
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.
What's Next for Lingo
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.
Built With
- css3
- drizzleorm
- html5
- neondb
- nextjs
- postgresql
- typescript
Log in or sign up for Devpost to join the conversation.