FlexWord: Refreshing the Daily Word Puzzle
FlexWord is built to thrive on Reddit. It's fast, accessible, and designed for head‑to‑head challenges.
Hackathon Deliverables
*Fully functional Devvit/React version of FlexWord *Head-to-head challenge mode using Reddit comment triggers *Accessibility‑first UI with shape‑based clues *Word‑list curation pipeline *Daily puzzle generator
Inspiration
I am a 59-year-old warehouse worker from Vermont. For 20 years, I’ve had a word game kicking about in my head. I've never seen anything quite like it, and I haven't fully realized it yet—but I’m getting there. This hackathon is a vital milestone in my journey from moving pallets to moving pixels.
Coding Journey
Several years ago, at the encouragement of a nephew, I began to learn Python in the hopes of getting my game developed. However, I struggled to get even the simplest animations to work. Tutorials felt vague, and the gatekeeping on forums was discouraging.
Last year, I discovered the Flutter framework. The community was supportive, the cross-platform power was exactly what I needed, and Dart felt accessible. It changed my perspective on what was possible for a late-life learner.
The Other Word Game
Anyone who has picked up programming in the last five years has likely built a clone of the famous game designed by Josh Wardle, a former Reddit employee. While I usually find word games stale, Josh's creation was different: it was fun, challenging, and accessible.
But I saw a frustrating flaw: how can I get better when I can only play one word a day?
Instead of just another tutorial-based clone, I began to redesign the experience into a game I actually wanted to play. FlexWord was born. Education and accessibility became my core themes. I built a version for early language learners where clues are revealed through both color and shape, natively improving access for color-blind players and visual learners (https://forkliftdev.github.io/flex_word_educational/).
The Hackathon Pivot: Forklifts and "Vibe Coding"
When I stumbled upon this hackathon, I thought, "Awesome. I'll just bring my Flutter tools over and get to work." I was wrong. Web development isn't Flutter’s primary strength, and the Reddit environment didn't play nice with Flutter’s Canvas API. I had to pivot to Devvit and React.
Enter AI. I look at "vibe coding" the same way I look at my forklift. I move thousands of pounds of freight a day, but I’m not a muscle-bound giant. I guide a powerful machine to deliver the goods. My laptop might churn out hundreds of lines of code, but I’m not a coder. I’m a developer who guides AI to help build my vision.
Making It "Reddit-like"
FlexWord aims to plant this genre where it belonged all along. Today’s popular word games have become stodgy and stagnant—walled gardens managed by authoritarian editors.
FlexWord brings the word list back into the sun. I want opinionated Redditors to do what they do best: give feedback, argue over obscure vocabulary, and suggest the next great challenge.
Challenges & Technical Hurdles
The "Killer Feature" of FlexWord is the Challenge: the ability to battle another Redditor over a shared secret word. Getting this right was my biggest hurdle.
Games on Reddit function in a unique way. Even though the game lives "inside" a post, it operates on its own logic. I kept hitting the limitations of the onMessage function because I was asking it to do too much: select an opponent, pick a word, submit the data, and redirect to a new instance.
It only fell into place when I looked outside the game for help.
Exploring other games on Reddit, specifically /r/Pixelary, I rediscovered one of Reddit's native features, comment triggers, to provide the necessary server context. By relying on the robust Reddit environment to handle the "handshake" between players, I could ensure the creation script always had a valid context to run.
What could be more fitting for a Redditor than challenging someone to a duel in the comments?
"Age is just a data type."
Forks down, code up.
Built With
- react
- tailwind
- typescript
- vite