
Inspiration
I kept watching coworkers who grew up on phones hunt and peck through their workday, never having learned to touch type. This is not an isolated observation, and it's getting worse as time goes on. It's painful to watch, and it's well-known that keyboard skills increase your speed, accuracy, and productivity. Trainers for this already exist, but people bounce off them because you are drilling random word lists nobody wants to read. The fix felt obvious: practice on writing you actually want to read. Reddit posts are exactly that, and they are already sitting in a feed people check every day.
What it does
Hot Type is a typing game that runs inside a Reddit post. Each day it pulls the top text posts from the community it is installed in and asks you to retype them. An on-screen keyboard highlights the next key and marks the home row, so it teaches finger placement instead of just measuring speed.
A full run is a circuit. You type the day's posts in order, and your combined speed across all of them is your score. Everyone races the same set, so the leaderboard means something. There is a per-community daily board, a personal best, and a daily streak, and a fresh circuit lands every day.
How I built it
It is built on Devvit Web, Reddit's developer platform. The game is React, and the in-feed splash card is plain TypeScript so it loads fast.
The server reads the community's recent text posts through the Reddit API, strips the markdown down to plain text, filters them, and caches the day's set in Redis. Scoring is server-authoritative: the server stamps the start time on its own clock, keeps the target text it served, and recomputes words per minute when you finish, so the client cannot report a fake number. The leaderboard is a Redis sorted set keyed per community per day.
Challenges I ran into
Titles versus bodies was the first design challenge I ran into. The first version I made made you type post titles, which are short but are not fun to read. Moving to post bodies meant stripping markdown and handling real paragraphs but more interesting content for players.
A fair leaderboard was the next challenge. Posts vary wildly in length, and speed on a 40-character post is not comparable to a 3,000-character one. The circuit model fixes this: everyone types the same full daily set, ranked on combined speed, and the board is keyed by a hash of the set so a changed set starts a clean board.
Cheating was another design challenge. Paste is blocked by detecting the input type.
The empty community was my final challenge. A quiet subreddit has nothing to type, so there is a recent-posts fallback and a moderator action to refresh the day's set. A default corpus of typing challenges can also pad out circuits in new/quiet subreddits.
Accomplishments that I'm proud of
Hot Type teaches rather than just tests through the finger coaching. Best of all it's fun. People don't want to practice typing after work or school, but Hot Type is the equivalent of having a TV above your treadmill but for keyboard skills.
What I learned
This was my first Devvit build, and the thing that took longest to sink in is that you are not building a website that happens to live on Reddit. You get the content and the audience for free, which is the whole reason this idea works here and would not work as a standalone typing site. But you also inherit Reddit's shape. Your server code only runs inside Reddit's sandbox, so there is no localhost to develop against. Every change gets uploaded to a live test subreddit and you debug it there through the logs. Redis is the only persistence, which forces cleaner key design than a database would. And your content is whatever the community happened to post, which is a gift right up until the day the community posts nothing. That last one is the lesson I actually paid for. My first review submission was rejected with "unable to test due to lack of content" because the reviewer opened the game in my quiet subreddit and there was nothing to type. Building on someone else's content means designing for the days when that content is not there.
What's next for Hot Type - Daily Typing Practice
Typing the top comment, not just the post is a potential new feature. Resuming a circuit after a reload is a great quality of life feature I would like to add to a future version. A theme that follows Reddit's light and dark modes would also likely be welcomed by users.

Log in or sign up for Devpost to join the conversation.