← Back to Challenge Past Events
Niha Builder Challenge · Q2 2026
Scoring Rubric
5 dimensions, 20 points each, 100 total. Two judges score every dimension independently — if they disagree by more than 5 points, a third judge breaks the tie. Per-dimension feedback is shared with every participant within 24 hours.
⚙️ Pre-Judging Auto-Checks (pass/fail gate). Before any human review, your PR must pass: pytest (Python challenges) · vitest (TypeScript challenges) · ruff + eslint linting · no hardcoded secrets or credentials. Fail the gate → the rubric isn’t scored.
How Each Dimension Is Scored 100 pts total
Dimension Max 0–4 5–9 10–13 14–17 18–20
Functionality 20 Doesn’t function. Cannot demo core flow. Partially works. Several acceptance criteria unmet. Crashes on edge cases. Core happy path works. Some acceptance criteria missing. Limited edge case handling. Core acceptance criteria met. Most edge cases handled. Minor gaps in error handling. All acceptance criteria met. Edge cases handled. Graceful error handling. Works in all specified scenarios.
Code Quality 20 Unreadable. No conventions followed. Security issues. Hard to follow. Multiple convention violations. Poor structure. Readable but inconsistent. Some convention violations. Acceptable structure. Follows most conventions. Minor style inconsistencies. Good structure overall. Follows all .dev/conventions/. Clean separation of concerns. Type-safe. No dead code. No OWASP top-10 issues.
Testing 20 No tests, or tests don’t pass. Minimal tests. Only trivial cases. Coverage <40%. Basic unit tests exist. Happy path covered. Limited edge case tests. Coverage >40%. Good unit test coverage. Some integration tests. Core paths tested. Coverage >60%. Unit tests for all public functions. Integration tests for API/DB flows. Edge case tests. Readable + maintainable. Coverage >80%.
Integration & Architecture 20 Incompatible with the platform. Cannot merge. Doesn’t follow platform architecture. Would require significant rework to merge. Works in isolation but integration story is incomplete. Architectural shortcuts. Good architectural fit. Uses most existing patterns. Minor integration gaps. Follows .dev/conventions/03-architecture.md. Uses existing patterns (MCP, bridge protocol, config cascade). Clean API boundaries. No circular imports. Backward compatible.
Demo & Documentation 20 Cannot demo. No PR. No real demo. PR description is a title only. No documentation. Demo exists but incomplete. PR description is minimal. Limited documentation. Good demo covering core flow. Adequate PR description. Some documentation. Clear 10-minute demo with end-to-end flow. PR description: what / why / how. Inline comments where logic is non-obvious. CLAUDE.md updated.
Total 100 Each dimension is judged independently. Final dimension score = average of two judges.
Reward Tiers
🏆
Level 1 · Builder
90+
₹25,000
Production-grade. Could merge to main today.
🥈
Level 2 · Contributor
70–89
₹15,000
Solid implementation. Tests pass. Demo works.
🥉
Level 3 · Starter
50–69
₹10,000
Core works. Has tests. Demoable.
This is not a competition. Multiple winners per tier are expected and encouraged — everyone scoring 50+ gets paid. Below 50 → ₹0 + written feedback per dimension; resubmissions are encouraged.
Bonus recognition (no extra cash): first Level 1 PR → “Niha Builder” mention at all-hands · highest score → “Niha Architect” title · standout helpers → called out in retro.
Judging Process

How a submission moves from PR to reward

  1. Auto-checks gatepytest, vitest, ruff, eslint, secrets scan. Pass-or-fail.
  2. Code review by stream owner — covers Code Quality + Integration & Architecture.
  3. Live demo or video review — covers Functionality + Demo & Documentation.
  4. Score aggregation — each dimension scored independently by 2 judges; final = average. Disagreement >5 points on any dimension → third judge.
  5. Feedback shared within 24 hours of judging, with per-dimension breakdown and improvement notes.
Score Calculator
Simulate Your Score
Drag the sliders to estimate where your project would land. This is for self-assessment — actual scoring is done by judges.
0
05101520
0
05101520
0
05101520
0
05101520
0
05101520
Your Simulated Score
0
out of 100
Slide the sliders above to simulate