Inspiration
Drawing games are my favorite party games. Pictionary, skribbl, Gartic Phone: someone draws badly, everyone yells guesses, it's perfect. But they all need everybody in the room at the same time, and Reddit doesn't work like that. Reddit is asynchronous. You post something, strangers wander past it all day, and the fun happens while you're asleep.
So I flipped the party game inside out. In InkSprint you draw a word once, and your drawing becomes a Reddit post that runs guessing races forever. Every person who scrolls past can tap in, watch your ink replay stroke by stroke, and race the clock to guess it first. You come back to a scoreboard full of strangers' times on your doodle. The post title asks the whole pitch in one line: how fast can you guess this drawing?
And because it's a race, the score matters. Every solve pays coins, every post keeps its own leaderboard, and weekly boards crown the best drawers and guessers across the whole subreddit. The bragging rights aren't a vibe, they're tracked.
What it does
InkSprint turns a Reddit post into a speed-sketch guessing race.
Every post is a race 🏁 The post teases your real ink morphing through scrambled shapes (spoiler-safe: the shapes are generated, resembling your actual strokes). Tap Go and the ink spirals off, sweeps back in and redraws the doodle stroke by stroke while you type guesses against a running clock. Solve it and your time goes on the board.

Draw a word, host a race ✏️ Grab a word (reroll if you don't like your options), and you've got 60 seconds to draw it. Hit post and your drawing is live on the subreddit as a playable race.

Your inky runs the show 🎨 Every player has an inky, a little ink blob mascot. Scratch a ticket (first one's free) to roll one of 16,800 combos: 14 bodies, 30 ink colors, 40 patterns. Your inky then shows up everywhere: racing across the post, sitting in the artist corner of your drawings, and next to your times on the leaderboards. The pattern odds are weighted, so some inkies are genuinely rare, and half the fun is scratching your way toward one nobody else has.
Both sides of the pencil get paid 💰 Solvers earn coins for cracking drawings, drawers earn when people race their posts and guesses correctly, and comment bragging pays a bonus once per post. Coins cycle into scratch tickets and shop parts, so a doodle that draws a crowd funds your next inky.
A reason to come back every day 📅 Six starter missions teach the loop, three daily missions and a seven-day streak calendar keep it warm, and scratch tickets drop as rewards. Solve a race and a popup invites you to comment for a bonus, which keeps the threads alive too.

Compete in public 🏆 Three leaderboards (fastest solve, most solves, most drawings solved), each weekly and all-time, live in every post. And each post carries a self-updating scoreboard, so the race results show up in the thread itself, where Reddit actually reads.
Built for the feed 📱 Everything above happens inline, in the post, on desktop and both mobile surfaces. Guess bar sits above the phone keyboard, menus fit without scrolling, and the drawing editor, customize screen, and shop pop out to full screen where they get room to breathe.
How we built it
No game engine. The whole thing is hand-rolled TypeScript and canvas: the ink replays, the scramble teaser, the spiral flight, the avatar renderer, the scratch foil, all of it. Devvit handles everything Reddit: the game runs in the post's webview across three entry points (inline race, expanded editor, expanded customize/shop), and the server side is Devvit's serverless runtime with Redis holding races, economy, missions, streaks, and leaderboards.
Challenges we ran into
Cheating is the boss fight of a guessing game. The answer and the strokes never reach the client until the race ends, timing is measured server side, and every payout (solves, brags, scratch rolls, streak claims) is an atomic once-only claim in Redis. You can read the whole client bundle and still not find the word.
Devvit's inline webview has strong opinions about touch. It never receives scroll gestures on phones (the feed owns them), so every scrollable menu we'd built was unreachable on mobile. We rebuilt the inline UI around that: missions paginate with tap arrows, leaderboards fit exactly, and shop and customize pop out to expanded-mode entry points where scroll works. Same story with the keyboard: it covers the bottom half of a webview that can't scroll, so the guess input lives at the top of the post, under the clock, where your typing stays visible.
And replays had to feel like watching someone draw, not like a file loading. The replay engine paces the original strokes point by point, pauses where the artist paused, and runs the same brush pipeline as the editor, droplets included, so the guesser sees the drawing happen.
Accomplishments that we're proud of
The whole loop shipped inside a Reddit post: draw, post, race, guess, win, scratch, customize, shop, missions, streaks, four leaderboards, self-updating scoreboard comments, and a first-time flow that hands every new player their own inky in the first thirty seconds. Solo build, no engine, hackathon timeline.
What we learned
Constraints are a design partner. The no-scroll webview forced menus that fit on one screen, which made them better. The spoiler problem forced the generated teaser, which became the game's signature visual. The trusted-gesture rules forced honest buttons instead of clever canvas tricks. Every time the platform said no, the game got simpler and stronger.
What's next for InkSprint
r/Inksprint is live. Next is making the drawings themselves the content flywheel: daily word events where everyone draws the same prompt, galleries of the best-drawn (and best-failed) doodles, and rematch chains where a guesser has to draw their own word after solving yours. The inky catalog is data-driven, so new bodies, inks, and patterns ship in batches, and parked cosmetic slots (hats, held items, stickers) are already built and waiting. Longer term: team races, drawing duels between two artists in one post, and the weekly crown becoming a real rivalry.
Every post is a race. I want people arguing in the comments about whether that was a snail or a croissant.
Built With
- devit
- typescript
Log in or sign up for Devpost to join the conversation.