Inspiration
We recognized that many IELTS aspirants struggle to find accessible, affordable, and personalized exam preparation. Traditional coaching can be expensive and inflexible, while generic study platforms often lack targeted feedback.
We created Prepora as an intelligent study companion that adapts to each learner’s needs and provides real-time feedback across all four IELTS modules: Listening, Reading, Writing, and Speaking.
What it does
Prepora is an AI-powered English exam preparation platform that provides:
- Module-based learning: Structured practice for Listening, Reading, Writing, and Speaking.
- AI-generated questions: Uses the Google Gemini API to dynamically generate diverse, exam-style questions.
- Intelligent feedback: Analyzes speaking and writing responses and provides constructive, personalized feedback.
- Text-to-speech integration: Uses Google Cloud Text-to-Speech to support listening and pronunciation practice.
- Progress tracking: Displays real-time analytics, skill scores, and areas that need improvement.
- Personalized study plans: Creates customized learning paths based on each user’s performance.
- Study materials: Provides curated resources for every module with built-in progress tracking.
How we built it
- Frontend: React 18 with Vite, Tailwind CSS for styling, and Framer Motion for animations.
- Backend: Node.js with Express.js and a RESTful API architecture.
- Database: MongoDB with Mongoose for flexible data storage, along with Firebase for authentication and real-time data.
- AI: Google Generative AI with Gemini for question generation, response analysis, and personalized feedback.
- Cloud services: Google Cloud Storage for media files and Google Cloud Text-to-Speech for audio synthesis.
- Speech recognition: Web Speech API for capturing spoken responses.
- Data visualization: Recharts for performance charts and progress analytics.
- Security: Firebase Authentication, Helmet.js security middleware, and API rate limiting.
- Deployment: Render for the backend and Vercel for the frontend.
Challenges we ran into
- Integrating multiple Google Cloud services while handling authentication securely.
- Generating contextually relevant, diverse, and appropriately difficult exam-style questions with Gemini.
- Processing and evaluating speech input for the Speaking module.
- Synchronizing data between MongoDB and Firebase.
- Optimizing AI and cloud API requests to remain within rate limits without reducing responsiveness.
- Managing environment variables and service credentials across development and production environments.
Accomplishments that we're proud of
- Successfully integrated Gemini to generate diverse, exam-style practice questions.
- Built a functional speech-recognition and analysis system for the Speaking module.
- Implemented real-time progress tracking and visual analytics with Recharts.
- Created a responsive and intuitive interface that works across different devices.
- Deployed a secure, full-stack application with effective error handling.
- Developed a modular architecture that makes future features easier to add and maintain.
What we learned
- Best practices for integrating generative AI into full-stack web applications.
- How to manage asynchronous operations and complex application state in React.
- The importance of rate limiting, authentication, and security headers in production applications.
- How speech-processing limitations can affect accuracy and user experience.
- How to manage credentials and environment configurations across multiple deployment environments.
- The value of modular architecture when building a scalable application.
What's next for Prepora
- Advanced analytics: Introduce predictive scoring and estimated band scores.
- Community features: Add discussion forums, peer feedback, and collaborative learning.
- Mobile application: Develop a Flutter app for iOS and Android.
- Live tutoring: Connect learners with instructors for personalized sessions.
- Expanded question banks: Offer more questions across different modules and difficulty levels.
- Pronunciation insights: Provide detailed phonetic analysis and visual feedback.
- Offline support: Allow users to access selected lessons and practice activities without an internet connection.
- Gamification: Introduce badges, learning streaks, challenges, and leaderboards to increase engagement.
Built With
- axios
- express-rate-limit
- express.js
- firebase
- firebase-admin-sdk
- framer-motion
- gemini-api
- google-cloud
- google-cloud-text-to-speech
- google-generative-ai
- helmet
- lucide-react
- mongodb
- mongoose
- multer
- node.js
- react
- react-hook-form
- react-router
- recharts
- render
- tailwind-css
- vite
- web-speech-api