README
Rendered from the repository.
A daily GregTech guessing game built on a 209-machine dataset and server-side answers. Read the full README on GitHub.
Builds / Gregdle
A daily GregTech guessing game with 209 machines, server-side answers, and a wiki data pipeline.
README
Rendered from the repository.
A daily GregTech guessing game built on a 209-machine dataset and server-side answers. Read the full README on GitHub.
What it changed
It is the smallest project here, but it touches scraping, validation, a database, a server API, and a live deployment.
The original plan had six datasets. The GTNH wiki had no material pages, so I dropped that dataset instead of forcing a scraper to invent structure. The decision log records what changed and why.
The machine pipeline caches wiki HTML, respects a slow crawl rate, normalizes infobox fields, validates everything with Zod, applies human overrides, and writes a quality report. 209 machines came through that process, not from runtime scraping.
Guesses go to a Next.js route handler. It validates the request, resolves the daily or seeded answer, and returns only comparison cells. The anti-spoiler tests check that a wrong guess response never contains the answer id or name.
Supabase holds entries, daily answers, results, and profiles. RLS keeps daily answers unreadable from the client, `pg_cron` generates them ahead of time, and leaderboard writes go through a server-validated RPC.
Next.js 16 on Cloudflare through OpenNext built cleanly but returned 500 at runtime. The cause was `cacheComponents` expecting an incremental cache that the OpenNext dummy cache could not serve. Turning those flags off fixed it.
The first version imitated a GregTech GUI too literally: hard to read on a phone and too dependent on color. The redesign added a sticky guess column, horizontal scroll, icons and labels for every cell, and a clearer difficulty curve.
Still open
v1 covers GTNH machines. GTCEu datasets, more mobile playtesting, and the remaining account and leaderboard polish are next. The game is live and the code is on GitHub.