Geekode is a high-performance AI-powered coding challenge platform designed for a personalized and dynamic learning experience. Built with Next.js 16 and Tailwind CSS 4, it leverages Generative AI to create, evaluate, and mentor developers through real-time coding challenges.
Geekode is an adaptive learning environment that replaces static coding problems with dynamic, AI-synthesized challenges tailored to difficulty levels, while providing a gamified "Ask AI" mentorship system that uses limited 'hearts' to encourage independent problem-solving before seeking algorithmic guidance.
Geekode transforms the traditional coding practice experience by eliminating the predictability of static problem sets. It provides immediate, high-quality feedback that bridge the gap between "getting it right" and "writing clean, efficient code," while the gamified heart system prevents over-reliance on AI, fostering true skill development and algorithmic thinking.
- Dynamic Problem Generation: Uses Groq (Llama-3) and Gemini to generate unique coding problems on-the-fly based on selected difficulty (Easy, Medium, Hard, or Mix).
- Gamified AI Mentorship: The "Ask AI" system allows users to chat with a mentor for hints, governed by a limited Hearts system that refills over time to encourage persistence.
- Real-time Code Evaluation: Parallel AI processing to check code correctness, analyze logic, and provide feedback on time and space complexity.
- Monaco-Powered IDE: A full-featured code editor in the browser with multi-language support and integrated terminal output.
- Persistence & History: Supabase-backed session management that allows users to resume unfinished challenges and track their progress through a detailed submission history.
- Global Rate Limiting: Infrastructure-level protection via Upstash Redis to ensure platform stability and fair usage of AI resources.
Contributions are welcome! If you have ideas for new features or find any bugs, feel free to open an issue or submit a pull request.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Distributed under the MIT License. See LICENSE for more information.
