🎨 About Trace Twist
Inspiration
What if one simple doodle could spark hundreds of completely different ideas?
That's the question that inspired Trace Twist. Reddit thrives on creativity, collaboration, and community participation, so we wanted to create a game that embraced those values instead of simply existing on the platform. Rather than building a traditional single-player drawing game, we created an experience where every player contributes to a growing collection of community-created art.
A single outline can become dozens of unique interpretations, making every post a collaborative creative challenge.
What it does
Trace Twist is a Reddit-native collaborative drawing game built with Devvit Web.
The experience is split into two simple phases:
- Create the Trace – A player draws a simple outline using the built-in canvas. Submitting it automatically creates a new interactive Reddit post.
- Create the Twist – Other players open that post and transform the original outline into their own artwork using the interactive drawing canvas.
I got the inspiration for this application after seeing 'finish the drawing' challenges on instagram, and thought about turning it into a reddit game
Every completed drawing is compressed and uploaded to Reddit's native media servers before being posted as an image in the thread's comments. Players can browse community submissions in the built-in gallery, vote for their favorites, earn XP, maintain daily streaks, climb leaderboards, and unlock new subreddit flair as they level up.
Since every outline is created by the community, the game continuously generates fresh content and gives players a reason to return.
How we built it
Trace Twist is built using Devvit Web, combining a modern React frontend with Reddit's interactive post platform.
The drawing experience is powered by Fabric.js, allowing users to create, edit, and manipulate vector objects through a custom canvas featuring free drawing, geometric shapes, object scaling, layer management, and a vector eraser.
Our backend is built with Hono and TypeScript, while Redis stores outlines, submissions, XP progression, rate limits, and leaderboard data. To efficiently handle artwork uploads, completed drawings are compressed in the browser before being uploaded using Devvit's native media.upload() API, avoiding payload limitations while keeping image quality high.
Challenges we faced
Building an interactive vector drawing application inside a sandboxed Devvit Web View presented several technical challenges.
One of the biggest challenges was ensuring the original Trace remained protected while still allowing players to freely create their Twists. We solved this by implementing a custom object-locking system that prevents the base outline from being accidentally moved or erased.
Another challenge was handling high-resolution canvas exports. Raw canvas data quickly exceeded request payload limits, so we optimized the submission pipeline by compressing images directly in the browser before sending them to the backend and uploading them to Reddit's native media service.
Designing a responsive drawing experience that worked well across different screen sizes while maintaining smooth interaction also required careful handling of canvas scaling and viewport management.
What we learned
Building Trace Twist gave us hands-on experience designing a collaborative game specifically for Reddit rather than simply embedding an existing web application into the platform.
We learned how to build performant interactive canvases with Fabric.js, manage media uploads efficiently through Devvit, design scalable Redis-backed game systems, and create gameplay loops centered around user-generated content and long-term engagement.
Most importantly, we learned that even a simple drawing prompt can create endless creativity when the community is empowered to build on each other's ideas.
What's next
We're excited to continue expanding Trace Twist with new collaborative experiences.
Our roadmap includes a curated Daily Outline feature that highlights the community's favorite challenge every day, Co-Op Traces where multiple users collaborate on a single outline before publishing, seasonal subreddit drawing events, additional progression systems, and more ways for communities to celebrate their most creative artists.
Also we need to expand the mobile support for the canvas(mainly for drag and zoom), to ensure a seamless experience for the mobile users.
Built With
- devvit
- hono
- react
Log in or sign up for Devpost to join the conversation.