Skip to content

Inside Daily Geo

How Daily Geo builds the same challenge for everyone

Daily Geo does not use a manually written puzzle calendar. Each UTC date is turned into a deterministic four-round challenge from local geography data, then checked against rules designed to keep the puzzles playable and repeatable.

1. The date is the starting point

The game uses a date key in UTC, such as 2026-09-26. That matters because players in different time zones still need one shared daily challenge. Midnight UTC is the reset point for everyone.

The date is combined with a dataset version and a game identifier. The resulting string is hashed with a stable 32-bit FNV-1a hash and passed into a Mulberry32 pseudo-random number generator. The important property is not unpredictability. It is repeatability: the same inputs produce the same sequence every time.

Conceptually

geo-v1 | 2026-09 | border-fragment → stable seed → stable shuffled country list

2. One country list would not work for every round

A country that works well for one mechanic can be a poor choice for another. Daily Geo therefore builds separate eligibility pools instead of treating every country as interchangeable.

  • Border Fragment needs usable polygon geometry, enough outline detail, sufficient area, and a first fragment with meaningful geometric variation.
  • Geo Triangulation needs a valid approximate geographic center and map geometry.
  • What's Around Me? requires between two and eight valid land neighbors, all with renderable geometry.
  • Geo Sort needs the fields required by the chosen ordering rule, such as center coordinates, area, or land-neighbor count.

This is why procedural generation is more than picking a random country. The generator first asks whether a country is suitable for the specific question being asked.

3. Monthly permutations reduce repetition

For Border Fragment, Geo Triangulation, and What's Around Me?, the game creates a seeded monthly shuffle of each eligible country pool. The day of the month selects a position from that shuffled list.

That avoids the obvious weakness of independently rolling a new target every day, where the same country could appear twice in a few days by chance. If two rounds would select the same target on one date, the later round advances through its permutation until it finds a different eligible country.

Geo Sort then excludes all three target countries before choosing its five countries, so a country used as the answer in one round does not immediately reappear in the final sorting puzzle.

4. Border Fragment has a fairness filter

Showing 12% of a country's outline is only interesting if that 12% contains some information. A perfectly straight coast or border segment would be technically valid but not a useful puzzle.

Daily Geo extracts the main polygon, measures distance around its exterior ring, tests a set of possible fragment centers, and scores the early fragment by turning-angle variation. Tiny or nearly featureless bounding boxes are rejected. The best acceptable center is then used for every reveal stage, so revealing more extends the same fragment instead of replacing it with a different section.

The five reveal levels are approximately 12%, 22%, 38%, 62%, and 100% of the chosen main exterior ring.

For more detail on the underlying geometry, read how digital country borders work.

5. The geography data is normalized once

Country geometry comes from Natural Earth through the world-atlas 110m dataset. Country names, ISO codes, areas, border lists, regions, and approximate centers come from world-countries. Daily Geo joins the two sources using ISO numeric country codes.

Antarctica, non-independent records, malformed records, and countries without usable geometry are excluded from the playable catalog. When a metadata center is unavailable, the app can fall back to a geometry centroid.

6. Five years of puzzles are validated automatically

The repository includes an automated validation test that generates 1,827 consecutive daily challenges starting from launch day. That is five years plus two extra days.

The validator checks, among other things, that:

  • the generator does not throw and the challenge can be serialized;
  • the three target-country rounds use distinct countries;
  • Geo Sort contains five unique countries and excludes the other daily targets;
  • Border Fragment stages contain finite coordinates and valid SVG paths;
  • Triangulation targets have valid centers and finite distance calculations;
  • What's Around Me? has valid neighbor geometry and a valid clue neighbor;
  • Geo Sort produces a single ordered result without relevant ties.

This does not prove that every puzzle is equally difficult. It does catch structural failures before they become a live daily challenge.

What happens when the data changes?

The generator includes a dataset version in its seed. If the underlying country data or generation rules change in a way that should create a new puzzle sequence, the version can be changed deliberately. Keeping that version explicit prevents accidental changes from silently rewriting the historical challenge sequence.