The grading curve

LetsVibe grades on a single site-wide bell curve computed dynamically from raw rubric scores (never stored in the database). You can switch between Bell Curve and Raw Rubric on any leaderboard or project page.

Why a curve

AI reviewers are good at comparing projects but poor at absolute scores: they hedge toward the middle. In LetsVibe's own testing, a deliberately terrible app and a carefully built one, graded by the same pipeline, averaged about 28 and 68 on a 0-100 scale, and repeated runs of the same project varied by several points. A raw score therefore says little on its own, so LetsVibe grades on a bell curve: what counts is how your project compares, first with two published reference projects and then with the other projects in its category.

How it works

LetsVibe grades on a single site-wide bell curve computed dynamically from raw rubric scores (never stored in the database). By default, a raw score of 20 anchors 0 and 90 anchors 100, with the curve centered at 75 (C) and blending toward the real site-wide average and spread as more projects are graded (fully at 30 projects). If 5 or more projects score above 90 (or below 20), the top or bottom anchor automatically shifts to the 5th-highest or 5th-lowest score so the scale adapts as coding tools improve.

Curved letter grades

GradeCurved score range (0–100)
A+97–100
A93–96.9
A-90–92.9
B+87–89.9
B83–86.9
B-80–82.9
C+77–79.9
C73–76.9
C-70–72.9
D+67–69.9
D63–66.9
D-60–62.9
Fbelow 60

Raw scores are never modified; reports and API responses always preserve the uncurved rubric score alongside the Bell Curve score.