A celestial daily word game — guess the hidden word, ignite the tiles, and chart a new constellation every time you win.
A polished, dependency-free take on the classic word game, wrapped in a living observatory sky that shifts with your local time of day.
▶ Play it · Features · How to play · Run locally · Deploy
Sky Word keeps the addictive core of a daily word game and layers real personality on top:
- 🌌 Living time-of-day sky — a canvas starfield, drifting aurora ribbon, and an arcing sun/moon that all track your real local clock through dawn → day → dusk → night. The sky also auto-selects light vs. dark.
- 🔭 Tiles that ignite — guesses don't just flip; light kindles from the center of each dark-glass pane and settles into its color, staggered across the row.
- ⭐ Constellation collection — every solved Daily Transmission links your winning row into a named constellation, saved forever to a personal star chart. (The name is seeded from the date, so everyone gets the same one to compare.)
- 🎮 Multiple modes
- Daily Transmission — one shared puzzle per day, same word for everyone, with streaks.
- Deep Space — endless practice with no streak pressure, in 4, 5, or 6 letters.
- Locked Coordinates (Hard mode) — revealed hints must be reused.
- 📊 Stats as a star chart — games played, win %, current/best streak, and a guess-distribution "light readings" chart.
- 🔤 Colorblind-safe by design — every state carries a glyph (★ correct, ○ present, · absent) on tiles and keys, with a high-contrast option. Color is never the only signal.
- 📡 Glyph-grid share — results copy as a clean grid of star/ring/dot characters plus the constellation name, so a paste reads like a logged sky observation.
- 🔊 Optional generated audio — soft synthesized tones for taps, wins, and losses (Web Audio API, zero asset files). Off until you enable it.
- ♿ Accessible & respectful — full physical-keyboard support, focus rings, ARIA live regions, and
prefers-reduced-motionfully honored (the sky goes still and reveals become instant). - 📖 Generous dictionary — a curated offline word list, plus an optional online lookup so legitimate guesses rarely get rejected.
No frameworks, no build step, no tracking. Just index.html, a little CSS, and vanilla ES modules.
Guess the hidden word in 6 tries. Each guess must be a real word; press Enter to lock it in. After each guess the tiles reveal how close you were:
| Tile | Glyph | Meaning |
|---|---|---|
| 🟩 Correct | ★ | Right letter, right spot. |
| 🟧 Present | ○ | Right letter, wrong spot. |
| ⬛ Absent | · | Not in the word. |
Solve the Daily to chart a constellation — or drift through Deep Space for endless play.
▶ https://notbangbang-dev.github.io/sky-word/
(Give the first deploy a minute or two after enabling Pages.)
The app is fully static — any static file server works. Two easy options:
# Python (no install)
python -m http.server 4317
# then open http://localhost:4317
# …or via npm
npm start # python http server on :4317
npm run serve # npx serve on :4317Open it through
http://localhost, notfile://— browsers block ES modules on thefile:protocol.
Validate the word lists at any time:
npm run check # node tools/check-words.mjsThe site is plain static files at the repo root, so GitHub Pages serves it
directly from the main branch — every push auto-publishes, no build step.
- Push the repo to GitHub.
- Settings → Pages → Build and deployment → Source: Deploy from a branch, then pick
main// (root)and Save. - Wait a minute; the site goes live at
https://<your-username>.github.io/sky-word/.
sky-word/
├─ index.html # markup shell + sky layers
├─ css/styles.css # the "Observatory" theme, sky engine & animations
├─ js/
│ ├─ main.js # controller: input, submit flow, persistence wiring
│ ├─ game.js # pure rules: evaluation, daily seeding, hard mode
│ ├─ words.js # curated 4/5/6-letter word lists
│ ├─ ui.js # DOM rendering, ignite reveal, modals, constellation
│ ├─ sky.js # time-of-day sky engine (starfield, aurora, sun/moon)
│ ├─ storage.js # localStorage (settings, stats, daily, constellations)
│ ├─ share.js # glyph-grid share text + clipboard
│ ├─ sound.js # Web Audio tone palette
│ └─ confetti.js # CSS/canvas star-spark celebration
└─ tools/ # word-list + logic test harness
Vanilla HTML/CSS/JavaScript (ES modules) · Canvas 2D for the sky and confetti · Web Audio API for sound · localStorage for persistence · Fraunces + Space Grotesk type.
MIT — do what you like, just keep the notice.