Inspiration

Remember tug-of-war? That pure, primal competition where every person on the rope matters? I wanted to recreate that feeling but at internet scale. Reddit's community is perfect for this millions of people who love to compete, coordinate, and create chaos together. Could we get thousands of strangers to pull a virtual rope at the same time? We had to find out.

What it does

Pick Team Blue or Team Red. Press spacebar (or tap on mobile). Watch the rope move. That's it. But here's the magic: your pull combines with everyone else's in real-time. When Blue has 1000 players pulling and Red has 800, Blue starts winning. The rope drags across the screen until one team yanks it past the finish line. Then it resets and the war starts again. Every pull counts. Every player matters. The whole internet watches the rope move.

How I built it

Built on Devvit's web platform using their monorepo structure:

  • Frontend: React with a clean mobile-first UI. Just a rope, two buttons, and real-time progress
  • Backend: Express server with Redis for persistence. Tracks team pulls, active players, and rope position
  • Real-time sync: Client polls every second to update the rope position
  • Cooldown system: 1-second delay between pulls to prevent spam but keep gameplay fast

The trick was making it feel instant while handling potentially thousands of concurrent players. Redis atomic operations keep the rope position accurate even under heavy load.

Challenges I ran into

  • Making it actually real-time. Devvit doesn't support websockets, so we built a polling system that feels instant. Players see the rope move within a second of any pull.
  • Mobile optimization. Most Reddit users are on mobile. We rebuilt the entire UI three times to make tapping feel responsive on touchscreens.
  • The math. How do you balance a game where one team might have 10x more players? We experimented with different pull weight calculations until it felt fair but still rewarded coordination.
  • Redis concurrency. With hundreds of simultaneous pulls, we had to use atomic operations and careful key management to prevent race conditions.

Accomplishments that I'm proud of

The gameplay loop is addictive. People start pulling, see the rope move, pull again, recruit their friends, and suddenly 20 minutes have passed. It works perfectly on mobile. No pinch-zooming, no tiny buttons, just tap and play.

What I learned

Simple beats complex every time. Reddit's community loves coordination. Give them teams and a shared goal, and they'll organize themselves. Real-time feedback is everything. The rope has to move the moment you pull, or the magic is gone. We obsessed over making that instant.

What's next for Tug of World

  • Subreddit battles. Let communities compete against each other. r/gaming vs r/sports. Track which subreddit contributed the most pulls.
  • Tournament mode. Time-limited matches with leaderboards. Weekly champions. Bragging rights.
  • Visual chaos. Show player avatars hanging onto the rope. Add physics so it wobbles and bounces. Make wins feel explosive.
  • Sound design. The satisfying grunt when you pull. The roar when your team wins. The agony of defeat.
  • But honestly? We might just leave it simple. Sometimes a rope is all you need.

Built With

Share this project:

Updates