Submission is intended to be evaluated for the Kiro award.

🎨 Reddit Canvas 3D: Thread Worlds Edition

Inspiration

This project began as an exploration into creating a multiplayer FPS experience inside Reddit using Devvit. However, due to Devvit’s asynchronous nature, real-time multiplayer proved impractical. After several iterations and pivots, Reddit Canvas 3D emerged — a collaborative 3D art world where users create together asynchronously.

Development Journey

  • RhymeQuest (Prototype 1): Started with a small word game called RhymeQuest to learn Devvit + Kiro workflows and prototype quick gameplay loops.
  • FPS Prototype (Prototype 2): Built a first-person controller in Three.js with full desktop and mobile controls, fine-tuned for performance and precision.
  • Feature Experiments: Implemented jumping, shooting, and procedural maps; refined movement; and explored multiplayer — but found it infeasible under Devvit constraints.
  • Canvas Pivot (Final Concept): When bullets were modified to create floating “stickers,” the idea of 3D collaborative art emerged naturally. It became fun, expressive, and feasible.

What It Does

Reddit Canvas 3D transforms every Reddit post into a living 3D art space. Players move through the scene using FPS-style controls and shoot colorful paint splats or floating blobs, collaboratively shaping a shared canvas.

All creations are automatically saved and persist across sessions — turning Reddit threads into evolving works of community art.


How We Built It

Technology Stack

  • Devvit – Reddit’s interactive app platform
  • Three.js – 3D graphics rendering
  • TypeScript – Strongly typed scripting
  • Redis – Persistent backend storage
  • Vite + Express – Build and API management

Challenges We Ran Into

  • Devvit Limitations: Real-time multiplayer or P2P communication isn’t supported, requiring asynchronous storage (Redis) for shared states.
  • AI Development Pitfalls: Kiro’s “vibecoding” approach often over-engineered features or hallucinated complex subsystems unnecessary for the project scope.
  • Project Reconstruction: Several early builds had to be scrapped and rebuilt from the ground up due to architectural issues. Success came from rebuilding incrementally and reusing only stable components.

Accomplishments We’re Proud Of

  • ✅ Rapidly adapting Three.js FPS examples into a working Devvit-compatible experience.
  • ✅ Achieving smooth cross-platform controls, automatically switching between mobile and desktop layouts.
  • ✅ Implementing spatial 3D audio using Three.js positional sound with simple, reusable effects.
  • ✅ Creating a visually impressive and technically feasible experience that feels interactive, yet fits within Devvit’s async framework.

What We Learned

  • Building modular prototypes outside the main project (e.g., FPS controller, paint system, UI) and then integrating them later works best.
  • Providing Kiro with concrete example code or reference snippets greatly improves code reliability.
  • Simplicity is key — smaller, well-defined features outperform complex speculative systems in constrained environments.

What’s Next for Reddit Canvas 3D

Phase 3 – Enhanced Features (In Progress)

  • New paint effects (stencils, glow, drip, neon)
  • Multiple world themes (Urban, Digital, Natural)
  • Post-owner canvas access control:

    • Anarchy Mode – Anyone can paint
    • Collaborative Mode – Shared creation
    • Locked Mode – Post-owner only

Summary

Reddit Canvas 3D reimagines how Reddit communities can collaborate — turning every post into a shared 3D art world. Born from an FPS experiment, it evolved into a creative, asynchronous multiplayer experience that celebrates expression, community, and color.

Built With

Share this project:

Updates