HOW IT WORKS

Train recognition.
Build Qur’an anchors.

Practice in short, repeatable seven-round sessions. Listen closely, estimate from memory, learn from the reveal, then go again.

01

Receive a prompt

Hear a full Ayah, see a Surah name, or continue a short passage.

02

Recall, estimate, or complete

Use what you know and give the prompt a try before moving on.

03

Get precise feedback

Wrong guesses cost a try; some modes also give directional or positional feedback.

04

Learn from the reveal

Use the answer and score as an anchor for the next time you meet it.

FOUR WAYS TO PRACTICE

Choose what you want to strengthen.

MEMORY · ESTIMATION

Ayah Counts

See a Surah and recall how many Ayahs it contains. Switch between a strict answer and an estimation-first style.

Exact FigureLand on the exact count within five tries.
Closest FigureUse higher/lower feedback and earn points for how close your best estimate gets.
RECALL · ORDER

Completion

Read a short block of one to three Ayahs and work out what comes next. Choose the next Ayah, or rebuild the following sequence in the right order.

Fill-inPick the next Ayah from five choices. One choice continues the passage.
SequenceArrange two to five following Ayahs in order. Correct positions lock as you go.

Both versions use seven rounds, five tries, and no hints. Audio, karaoke, transliteration, and translation stay available with the passage.

STUDY · MEMORIZATION

Learning Blocks

Move through the Qur’an page by page in book or scrolling view, then hide what you want to recall. There is no score, timer, or attempt limit.

Hide and revealHide a whole page, tap individual Ayahs, press and glide across 5–10 Ayahs, or type an Ayah range.
Sequence practiceTurn a hidden 5–10 Ayah block into a shuffled Ayah bank, then tap or drag the Ayahs back into the correct order.

Switch between Mushaf, Ayah + translation, and translation-only reading. Your reader preferences and hidden blocks stay on this device.

Open Learning Blocks

SCORING WITHOUT MYSTERY

Every choice has a visible cost.

Your game rules stay the same, even if you refresh or continue on another device.

Try 1100points
Try 280points
Try 360points
Try 440points
Try 520points
Game modes use fresh attempts. Learning Blocks does not.

Recognition, Ayah Counts, and Completion keep their seven-round scoring. Learning Blocks stays open-ended so you can study without a timer or score.

BEHIND THE SCORE

How Closest Figureturns an estimate into points.

A friendly look at the formula, why the curve is shaped the way it is, and how short and long Surahs stay fair.

Read as PDF
Read the full explanationFormula, edge cases, examples, design decisions, and implementation

Exact Figure asks, “Do you know the count?” Closest Figure asks a slightly different question: “How good is your estimate, and can you improve it using feedback?” Because of that, a near miss should not be treated the same way as a random guess.

1. Measure the distance

Let a be the actual number of Ayahs and g be the player's guess. The raw distance is:

d = |g - a|

2. Scale that distance to the Surah

Ten Ayahs away means very different things on a 286-Ayah Surah and a 3-Ayah Surah. Closest Figure therefore uses a tolerance window based on the Surah's own size:

T = max(3, 0.5 × a)

Normally the tolerance is half of the true count. The minimum of three protects very short Surahs from becoming disproportionately harsh.

3. Convert the miss into normalized error

e = d / T

This converts “how many Ayahs off?” into a scale that can be compared across Surahs of very different lengths.

4. Apply the scoring curve

S = round(100 × (1 - e)1.5)

An exact guess is always worth 100. If e ≥ 1, the guess has moved outside the scoring window and earns zero. The exponent 1.5 makes the curve stricter than a straight line, so genuinely close guesses remain valuable while vague guesses lose value more quickly.

Why not use a fixed penalty per Ayah?

Because Surahs vary dramatically in length. A miss of ten Ayahs can be an excellent estimate for a long Surah and a very poor estimate for a short one.

5. Higher and lower create convergence

When a guess is below the answer, you’ll see Higher. When it is above the answer, it responds with Lower. The exact distance remains hidden so the feedback narrows the search without solving the round.

6. The best guess carries the round

Every try receives its own proximity score. The strongest score is kept, then five points are removed for each additional try:

R = max(0, max(S₁, S₂, …, Sₙ) - 5 × (n - 1))

Best-of scoring preserves the strongest evidence of knowledge while the additional-try cost still rewards reaching the answer efficiently.

7. Worked example

Suppose the actual count is 78 Ayahs:

TRY 11200 pts · Lower
TRY 29058 pts · Lower
TRY 38092 pts · Lower

The best single-guess score is 92. Three tries means two additional-try penalties, so the current round value is 82 points.

8. Edge cases

The scoring curve is only one part of the system. Closest Figure also needs predictable behavior around unusual input, skipping, exhausted tries, and repeated requests.

INPUT

Only whole counts from 1–300 are accepted.

Zero, negative numbers, decimals, text, and values above 300 are rejected before they affect the round.

DEFENSIVE MATH

Unexpected numeric state fails safely.

Non-finite values and impossible actual counts resolve to zero instead of propagating NaN or throwing.

SHORT SURAHS

The minimum tolerance protects small counts.

A one-Ayah miss should matter without becoming disproportionately punishing.

SCORING FLOOR

Scores never fall below zero.

Once the estimate leaves the tolerance window, the proximity score simply stops at zero.

SKIP TRY

A skipped try still consumes an attempt.

It contributes zero to the score history so skipping cannot be used to avoid the cost of another try.

SKIP ROUND

Skipping the round ends it for zero.

Abandoning a round is different from banking the best estimate already made.

REPEATED GUESS

Repeating a wrong number is naturally expensive.

The best score does not improve, but another five-point try cost is added.

FIFTH TRY

The final attempt closes the round.

An exact fifth guess can still score 80; otherwise the final best proximity result is settled and the answer is revealed.

STALE REQUEST

One round revision can only score once.

Double submissions or replayed requests using old state are rejected instead of mutating the round twice.

ANSWER SECRECY

The Ayah count remains hidden until reveal.

The active-round payload does not expose the value being estimated.

9. Implementation

The scoring function is deliberately pure: numbers go in and a score comes out. That keeps it straightforward to test, reuse, and compare between client previews and authoritative server scoring.

const FALLOFF_EXPONENT = 1.5;
const TOLERANCE_RATIO = 0.5;
const MIN_TOLERANCE = 3;
export const TRY_PENALTY = 5;

export function closestFigureScore(
  guess: number,
  actual: number
) {
  const distance = Math.abs(guess - actual);

  if (distance === 0) return 100;

  const tolerance = Math.max(
    MIN_TOLERANCE,
    actual * TOLERANCE_RATIO
  );

  const error = distance / tolerance;

  if (error >= 1) return 0;

  return Math.round(
    100 *
      Math.pow(
        1 - error,
        FALLOFF_EXPONENT
      )
  );
}
The formula defines the score. The surrounding rules protect its meaning.

Validation, try limits, session state, revision checking, and answer secrecy make sure the mathematical model continues to behave fairly in real gameplay.

READY WHEN YOU ARE

One round is enough to begin.

Play SurahSpot