Back
Numeral

Numeral

Remake of Numble, built in a few hours

activeApr 2026#web#game#nextjs

Why

There was this site, numble.today which is the same concept, a daily number guessing game. It was great at first, but it kept getting updates that made it worse. So I decided to remake it myself in one evening. Took a few hours from start to finish.

Numeral website
Numeral website

How

The whole game runs client-side with no backend needed. The daily number is generated from a Linear Congruential Generator seeded by the current date:

1const lcg = (seed: number) => {
2  const m = 2 ** 16;
3  const c = 54321;
4  const a = 22695477;
5  return ((a * seed + c) % m) % 100_000;
6};

The seed is computed from the date components:

1const seed = date.getDay() + date.getMonth() * date.getDate() + date.getFullYear();

This ensures every player gets the same number on any given day without needing to fetch it from a server. The result is padded to 5 digits, and there are 6 tries to guess it. After each guess, coloured tiles show how close each digit is. Like green for exact match, orange for off by 1-2, red for off by 5+, and purple for the joker digit.

Tech Stack

Built with Next.js 14+ (App Router), TypeScript, Tailwind CSS, and Sonner for toast notifications. State is managed locally with daily resets, and the UI is fully responsive with bilingual support (English/French).