CodeQuest is an AI-powered educational platform that makes learning Data Structures and coding more engaging and interactive. It offers personalized coding challenges based on your skill level, integrated voice coding, AI battles, and an inbuilt Gemini chatbot to help you whenever you get stuck.
- Introduction
- Features
- Tech Stack
- Architecture
- Setup and Installation
- Usage
- Design Choices
- Challenges and Solutions
- Future Improvements
- Deployment
- Personal Note
Learning to code can feel overwhelming, especially when you're stuck on a problem with no one to turn to. That's where CodeQuest comes in.
I built CodeQuest to make learning Data Structures and Algorithms fun, interactive, and personalized. Instead of just reading theory or solving random problems, you get AI-generated challenges that match your skill level, real-time feedback to help you improve, and even a friendly AI opponent to compete against.
What makes CodeQuest different:
- Challenges adapt to your skill level (Easy, Medium, Hard) based on your performance
- Real-time analytics show you exactly where you're excelling and where you need practice
- Voice-based coding lets you solve problems hands-free
- Battle mode puts you head-to-head with an AI for some friendly competition
- Integrated Gemini chatbot gives you hints and explanations when you're stuck
Whether you're just starting out or preparing for technical interviews, CodeQuest meets you where you are and helps you level up.
- AI-powered challenge generation — Get problems tailored to your skill level (Easy, Medium, Hard)
- Gamified learning — Earn badges, level up, and track your progress as you improve
- Voice-based coding — Solve problems hands-free with voice input support
- Battle with AI — Compete against an AI opponent in friendly coding challenges
- Real-time performance analytics — See your strengths and areas for improvement at a glance
- Structured learning paths — Follow guided paths to master Data Structures and Algorithms
- Integrated Gemini chatbot — Get instant help, hints, and explanations when you're stuck
- User-friendly interface — Clean design with smooth navigation and intuitive controls
- Firebase authentication — Save your progress and pick up right where you left off
- Responsive design — Works seamlessly on desktop, tablet, and mobile devices
- **Python — Fast, modern backend API for handling requests and AI integration
- Firebase — User authentication and real-time cloud data storage
- Gemini API — Powers intelligent coding hints, explanations, and AI-generated challenges
- Next.js — Server-side rendering and dynamic, responsive UI
- TypeScript — Type-safe code that's easier to maintain and debug
- Tailwind CSS + shadcn/ui — Modern, customizable components and styling
- Axios — Clean and efficient API requests to the backend
CodeQuest follows a modular and scalable architecture that keeps things organized and easy to extend:
- Frontend (Next.js) — The user-facing interface where learners interact with challenges, track progress, and compete in AI battles
- Firebase — Takes care of user authentication, leaderboard storage, and cloud data management
- AI Layer (Gemini API) — Powers intelligent hints, real-time feedback, and adaptive challenge generation
- Clone the repository:
git clone https://github.com/cking100/codequest.git
cd codequest/backend- Set up a virtual environment:
python -m venv venv
source venv/bin/activate - Install dependencies:
pip install -r requirements.txt- Add environment variables:
cp .env.example .envThen open the .env file and add your API keys for Gemini, Firebase, and any other services.
- Run the backend server:
uvicorn app.main:app --reload- Install dependencies:
npm install- Set up environment variables:
cp .env.example .envConfigure your .env file with the necessary API endpoints and Firebase credentials.
- Run the development server:
npm run dev- Open your browser and go to
http://localhost:3000 - Sign up or log in with your Firebase account
- Choose your learning path (Beginner, Intermediate, Advanced)
- Start solving AI-generated coding challenges
- Track your progress, earn badges, and challenge the AI for fun!
Here's why I chose each technology:
- Next.js with TypeScript — Gives you fast performance, server-side rendering, and type safety that catches bugs before they happen
- Firebase — Makes authentication and data storage simple without having to manage servers
- Gemini API — Provides smart, contextual coding support and generates personalized feedback
- Tailwind + shadcn/ui — Creates a clean, modern interface that looks great and works smoothly across all devices
(This section can be filled based on specific challenges you faced during development)
Here are some features I'm planning to add:
- Multiplayer battles — Compete with friends in real-time coding challenges
- More language support — Expand beyond Python to include JavaScript, Java, C++, and more
- Community features — Share your solutions and learn from others
- Mobile app — Native iOS and Android apps for learning on the go
- Advanced analytics — Deeper insights into your coding patterns and improvement trajectory
I built CodeQuest because I remember how frustrating it was to learn Data Structures and Algorithms without immediate feedback or guidance. My goal was to create a platform that feels less like studying and more like playing a game — where you're motivated to keep going and you actually enjoy the learning process.
If you find CodeQuest helpful or have suggestions for improvement, feel free to reach out or contribute to the project!


