How It Works
Understand the complete flow from solving a problem to earning XP and viewing your results.
1 Solving Flow
Here's how BudiBadu works from start to finish:
- Browse Problems: Navigate to /problem and filter by category or difficulty.
- Select Language: Choose your preferred programming language (Python, JavaScript, Java, etc.).
- Write Code: Use the built-in code editor with syntax highlighting.
- Run Tests: Click "Run" to test against sample cases before submitting.
- Submit: Click "Submit" to run against all hidden test cases via Judge0.
- View Results: See your result (Accepted, Wrong Answer, TLE, etc.) instantly.
Only "Accepted" submissions are stored and count toward your XP and statistics.
Only Accepted = Stored
Wrong answers are not saved. Only successful submissions become part of your history.
2 Judge0 Code Execution
BudiBadu uses Judge0, an open-source online code execution system, to evaluate your submissions:
- Your code is sent to our secure Judge0 cluster.
- It runs in an isolated Docker container with strict resource limits.
- Results are returned within milliseconds, including execution time and memory usage.
Judge0 supports multiple languages and provides accurate, sandboxed execution—ensuring fair and consistent results for all users.
3 XP Calculation System
Experience Points (XP) are awarded per answer per platform per problem:
- Easy: 10 XP per accepted answer
- Medium: 25 XP per accepted answer
- Hard: 50 XP per accepted answer
This means if you solve Problem A with Python (10 XP) and then solve it again with Go (10 XP), you earn 20 XP total. Each language/platform combination counts separately!
Multi-Language Rewards
Solving the same problem in multiple languages multiplies your XP earned.
4 Best Answers
After you solve a problem, you can view Best Answers—verified reference solutions for each language:
- Switch between tabs to see solutions in Python, JavaScript, Java, Go, etc.
- Each solution includes a "Copy Code" button for easy reference.
- Study optimized approaches and compare with your own solution.
Best answers are curated to show clean, efficient implementations.
5 Problem Comments
Each problem page includes a Comments section where users can:
- Ask questions about the problem statement or test cases.
- Share hints and discuss approaches (without spoiling the answer).
- Help other users who are stuck.
Sign in with GitHub to participate in discussions. Comments are tied to your profile.
6 Problem Examples & Templates
Every problem on BudiBadu comes with:
- Problem Description: Clear explanation of what you need to solve.
- Input/Output Examples: Sample test cases with expected results.
- Starter Code: Pre-filled function templates for each language.
- Constraints: Size limits to help you understand time/space requirements.
The code editor loads a starter template based on your selected language, so you can start coding immediately.
7 Level Progression
BudiBadu uses a carefully designed leveling system:
- Levels 1-15: Each level has a predefined XP range with increasing gaps.
- Levels 16+: XP requirement grows linearly. Each level adds +500 XP to the gap.
The leaderboard ranks users by total XP earned across all problem-platform combinations.
