Welcome to kickDSA — an AI-powered Online Judge built for beginners struggling with Data Structures and Algorithms (DSA).
We believe that mastering DSA shouldn't be about solving 1000+ random problems. It should be about patterns, clarity, and guided learning. KickDSA exists to help you do just that.
- Problem Simplifier: Explains complex problems in simple language (powered by DeepSeek / OpenRouter).
- AI Code Review: Choose from 4 levels of AI guidance to debug your code, from hints to full solutions.
- Visual Explainers (coming soon): Get flowcharts and step-wise visual aids.
- Example Test Cases toggle for clarity.
- Built-in Compiler: Supports C++, Python, Java.
- Custom Input vs Example Mode.
- Boilerplate Code per language.
- Create/edit/delete problems.
- JSON-based bulk problem creation.
- Track scores.
- View global rankings.
- Store submission history.
- React + Vite
- TailwindCSS + ShadCN UI
- Framer Motion animations
- Hosted on Vercel
- Node.js + Express
- MongoDB Atlas (Mongoose)
- JWT Authentication + Role-based Access
- Hosted on AWS EC2 with PM2 + NGINX + SSL (Certbot)
- Dockerized custom compiler
- Hosted on separate EC2 instance
- Runs user code securely & returns output
- Google Gemini API
- DeepSeek via OpenRouter.ai
- GitHub Actions for EC2 deployment
- Environment-based
.env.production
- Docker + Amazon ECR for compiler
- NGINX reverse proxy for multiple services
git clone https://github.com/yourname/OJ-Project.git
cd OJ-Project
cd client
npm install
cd ../server
npm install
Create .env
in /server
directory with:
PORT=8000
MONGO_URI=<your-mongo-uri>
JWT_SECRET=your-secret
GEMINI_API_KEY=your-key
VISUAL_AI_KEY=your-key
ORIGIN=http://localhost:5173
cd client
npm run dev
# In another terminal:
cd server
npm run dev
OJ-Project
├── client # React frontend
├── server # Express backend
│ ├── controller
│ ├── routes
│ ├── models
│ ├── utils
│ └── index.js
├── compiler # Dockerized code execution
├── .github/workflows # GitHub Actions CI/CD
├── ecosystem.config.js # PM2 deployment config
└── README.md
Feature | Description |
---|---|
Problem Simplifier | Converts tough problems into easy explanations without giving away answers |
AI Review Tool | Four levels: Hint → Logic → Snippet → Full Solution |
Visual Flowchart | (Upcoming) Convert solution flow to diagram |
- Flowchart generation with Stable Diffusion
- Personalized learning journey per user
- Contest hosting system
- Problem tagging and pattern insights
This project was built to help learners overcome the "tutorial hell" and break free from unstructured LeetCode grinding. Inspired by conversations with real students who felt lost despite hard work.
"Let’s make DSA feel less like a wall, and more like a ladder."
Tauqeer Ahmad 📧 LinkedIn 🌐 kickdsa.online
If you liked this project or have feedback, feel free to connect or open a pull request!
This project is open source and licensed under the MIT License.
If you find this helpful, give it a ⭐ on GitHub, share it with friends, or contribute to the codebase. Your support helps us grow!