-
Reddit Ecosystem: PixelStitch lives natively within the Reddit Games Launchpad alongside community favorites.
-
Canvas Lobby: A high-level view where users can see project progress and pick an open section to start drawing.
-
Smart State System: Visual indicators show which tiles are live, locked for neighbors, or successfully completed.
-
The Pixel Editor: A clean, mobile-optimized interface with pencil, line, and fill tools for precise contributions.
-
Color Control: Moderators set custom palettes for each theme to ensure a cohesive look for the final masterpiece.
-
The Blind Stitch: View protected 'ghost edges' from neighbors to perfectly align your art without seeing the full grid.
-
Admin Preview: Moderators can inspect the final compiled artwork before publishing it to the entire subreddit.
-
Artist Recognition: Hover over any section of the final artwork to see exactly which Redditor contributed to the piece.
-
Infinite Gameplay: Use the "Recurrent" toggle to auto-respawn new grids for non-stop community collaboration.
-
Moderator Dashboard: Easily queue a full week of art prompts to keep your community engaged automatically.
🧵 PixelStitch
💡 Inspiration
PixelStitch was inspired by the Surrealist parlor game "Exquisite Corpse," a method of collective artistic creation where different people contribute to a piece of work without seeing what others have drawn.
I wanted to bring this "blind" collaborative magic to Reddit. While projects like r/place showed that Redditors love pixel art, they often struggle with the chaos of a completely open canvas. I set out to create a structured, mysterious, and cooperative game where the final result is a surprise to everyone—including the artists.
🎨 What it does
PixelStitch is a daily community game where Redditors collaborate on massive pixel art canvases.
- The "Blind Stitch" Mechanic: Contributors claim a 32x32 section of a larger grid. To ensure consistency, they only see a 2-pixel "ghost edge" from their adjacent neighbors. They must align their lines to these edges to ensure the final image "stitches" together.
- Daily Automation: A built-in scheduler handles Daily Prompts, ensuring the community has a fresh theme (e.g., "Cyberpunk Skyline" or "Deep Sea Trench") every 24 hours.
- Intelligent Locking: To prevent continuity errors, the app "soft-locks" tiles adjacent to whoever is currently drawing. This ensures that no two people are working on the same "stitch" simultaneously, preserving the integrity of the ghost edges.
- The Grand Reveal: Once the grid is full, a moderator publishes the artwork, revealing a unique and often hilarious community masterpiece. This manual "Publish" workflow was a critical pivot from our original vision of an instant, automated reveal.
- I identified that full automation was a significant weak spot, as it risked violating Reddit’s Content Policy if a single contributor submitted NSFW or harmful imagery. While a fully automated AI verification system would be the ideal long-term solution to scale this process, this moderator-in-the-loop approach provides a robust safeguard and ensures a safe, compliant environment for our MVP.
🏗️ How I built it
The project is built entirely on the Reddit Devvit platform, utilizing a robust server-client architecture:
- Frontend: A high-performance React 18 + Vite Webview for the pixel editor, featuring mobile-optimized touch controls and precision "Margin Locks" to prevent accidental editing of reference pixels.
- Backend: Devvit serverless functions handle game logic, permission checks, and the automated 7-day scheduler.
- Storage (Redis): I implemented a custom Namespaced Redis Schema. This allows the app to be installed on multiple subreddits simultaneously while keeping their data completely isolated.
- Data Optimization: To respect Reddit's storage quotas, I used Palette Indexing. Instead of storing heavy hex strings, the app stores tile data as arrays of indices, reducing our Redis footprint by 80%.
🚧 Challenges I ran into
- Concurrency & Race Conditions: Handling the "Soft Lock" system was a major hurdle. I had to ensure that if User A is drawing, User B is blocked until User A's pixels are saved to Redis. This was solved using Redis TTL keys as high-speed heartbeats.
- Mobile Interaction: Drawing 32x32 pixels on a smartphone screen requires high precision. I spent significant time refining the "Pan & Zoom" logic to make the experience feel "satisfying" rather than frustrating.
- The "Blank Page" Problem: I was afraid that users didn't know where to start. I ended up implementing the Margin Lock system so users can see exactly where their lines need to meet their neighbor's work, which I hope boosts participation.
🏆 Accomplishments that I'm proud of
- Zero-Infrastructure Scale: The entire game runs natively within Reddit. No external servers, no databases to maintain, and no hosting costs.
- Recurrent Logic: I successfully built an "Infinite Game" loop where the app can auto-respawn a new blank canvas based on a moderator's pre-set 7-day prompt queue.
- Community Bonding: During my initial testing, I found that users were coordinating in the comments, trying to guess what was being drawn on the other side of the "stitch."
🧠 What I learned
Building PixelStitch taught met the power of cooperative constraints. By giving users less information (only the edges), it actually encourages more careful and creative contributions. I also deeply explored the Devvit SDK, specifically mastering the Scheduler API for long-term automation and Webview-to-Server communication.
🚀 What's next for PixelStitch
- Time-Lapse Replays: I'm working on a feature that generates an animation of the canvas being "stitched" together in the exact order the tiles were submitted.
- User Portfolios: A "My Gallery" feature where users can see every individual tile they’ve contributed across all community artworks.
- Cross-Subreddit Battles: Competitive "Stitch-Offs" where two subreddits collaborate on the same massive canvas to see which community has better artistic coordination.
Built With
- devvit
- devvit-media-upload-api
- devvit-scheduler-api
- react-18
- reddit-devvit
- redis
- tailwind-css
- typescript
- vite

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