Inspiration
Daily Devvit games already cover words, color sorting, crosswords, and hot-and-cold maps. A scan of the PocketHints Reddit games directory and public r/GamesOnReddit discussion, made when this prototype was started on 12 November 2026, did not turn up a weaving or loom-draft daily. Heddle is a bite-sized craft puzzle: one new 4-shaft draft each UTC day, short enough to play in a Reddit post, with a cloth you can see change as you restore the draft.
It is not themed around Reddit, karma, or Snoo. The hook is pattern and textile structure, in the spirit of weaving communities, and it is not a port of another game.
What it does
Each UTC day has one puzzle, numbered from 11 November 2026. You get today's target cloth and a torn draft: threading, tie-up, and treadling, with some cells already filled.
- Threading assigns each of 8 warp threads to one of 4 shafts.
- The tie-up says which shafts each of 4 treadles lifts.
- Treadling is the 8-pick sequence of treadles, from the top row down.
Where a shaft is lifted, the warp color shows; otherwise the weft color shows. Fill the blanks so "Your cloth" matches "Today's cloth." A Hint button fills the next blank or incorrect cell. Reset clears only the cells that were not given.
The first correct weave of the day is scored from a base of 10,000, minus 1 point per 50 milliseconds and 400 points per hint, with a floor of 100. A later solve replaces the saved score only when it is higher. Guests can play. Reddit login is required to join that day's top-10 leaderboard, which is stored in Devvit Redis. The next UTC day brings a new draft.
The feed splash shows today's cloth and a Play button. Play opens the expanded game post. Installing the app, or using the moderator menu item "Post today's Heddle," creates a custom post titled Heddle · {date}.
How we built it
Heddle is a Devvit Web app on @devvit/web 0.15.3, scaffolded from the official Devvit React starter. The client is React 19 and Tailwind CSS 4. The server is Hono. The daily generator, weaver, scoring, and leaderboard model live in shared TypeScript so the same functions run in the webview, on the server, and in tests.
- Interactive Posts:
splash.htmlis the inline entry;game.htmlis the expanded entry, opened withrequestExpandedMode. - Redis: daily sorted-set leaderboards and saved solves (
heddle:lb:{date},heddle:solve:{date}). - Menu action and
onAppInstalltrigger, both of which submit the day's custom post. The 12 November 2026 demo post was created by the install trigger. - 28 unit tests, including a solvability check for 365 generated days. The local preview falls back to an in-browser store when Reddit APIs are not available.
The app is uploaded privately as heddle-daily and has not been published.
Challenges we ran into
Devvit's first-time upload goes through the developers.reddit.com/new wizard, including a captcha, before devvit upload can attach a version. The playtest subreddit that Devvit creates starts out Private, which does not satisfy the Testing section's request for a public subreddit with fewer than 200 members, so we switched r/heddle_daily_dev to Public. The live post still has to be the thing judges can open, so getting that access path right matters more than a local preview. The local Vite dev server is also blocked by the current Devvit Vite plugin, which only supports vite build, so local screenshots come from the built webview with the in-browser fallback.
Accomplishments that we're proud of
The game is running on Reddit as an Interactive Post, not only as a local mock. Play opens from the live 12 November 2026 post. The loom math is small and deterministic: an 8 by 8 cloth, four shafts, four treadles, a seeded daily draft, and tests that try to break it for a year of days. The UI stays inside a mobile post: target cloth, live cloth, and the three draft grids, with no setup screens.
What we learned
A daily Devvit game has to work first as a post. The splash, the expanded webview, and the install-created demo post are the product the judges will score. Redis is the right place for a same-day leaderboard, but that path only exists after upload and playtest. Official rules also split "private app listing is fine" from "the demo subreddit should be public or let admins in," and those are easy to conflate.
What's next
Keep the Devvit app unpublished until after the hackathon, per Reddit's request. After the event, consider publishing through the usual review process, and only then add extras such as streaks or Journeys if they still fit the daily loop.
AI disclosure
Built with AI-assisted development (Grok Bot). Puzzle generation, weaving, scoring, and the leaderboard are deterministic TypeScript covered by 28 automated tests, including a solvability check for 365 generated days.
Built With
- devvit
- hono
- react
- redis
- tailwind
- typescript
- vite