Inspiration
The idea for Gossip Vortex came from our love for conspiratorial storytelling and the chaotic fun of tabloid gossip. We wanted to create a Reddit app that lets users collaboratively spin wild rumors about fictional characters or events, turning simple tidbits like "The mayor was seen with a mysterious briefcase" into hilarious, over-the-top tales with twists like "The briefcase contains alien tech!" We drew inspiration from social deduction games and Reddit’s community-driven creativity, aiming to build a space where players could unleash their imaginations in a tabloid-style format.
What it does
Gossip Vortex is an interactive Devvit app for Reddit that lets users create and escalate rumors in a multiplayer storytelling experience. Every 4 hours, a new rumor drops (e.g., "A local celebrity vanished after a cryptic tweet"), and players can add twists via comments (e.g., [Twist] They were abducted by aliens) or a form with prompts like "Add a scandal." The rumor evolves in a tabloid-style post with bold headlines and fiery emojis (🔥), showing all twists and contributors. A leaderboard tracks top gossips, and weekly exposés (every Sunday) summarize the rumors, letting the community vote on the "canon" version. Old rumors are cleaned up after 7 days to keep the subreddit fresh.
How we built it
We built Gossip Vortex using Devvit, Reddit’s platform for creating custom apps. The core is written in TypeScript, leveraging Devvit’s APIs for post creation, comment handling, and Redis storage. Key components include:
A scheduler (Devvit.addSchedulerJob) to post new rumors every 4 hours using a cron expression ('0 */4 * * *'). A custom post type (Devvit.addCustomPostType) to render the tabloid-style UI with a red-and-black design. A CommentSubmit trigger to process [Twist] comments and update the rumor state in Redis. A weekly exposé job (createExposePost) that runs every Sunday, summarizes rumors, and deletes old posts. We used Redis to store rumor states (rumor_), active post IDs (activeRumors), and the leaderboard (rumorMillLeaderboard). The UI was designed with Devvit’s JSX-like syntax, focusing on a dramatic tabloid aesthetic.
Challenges we ran into
Building Gossip Vortex came with a few hurdles:
Redis Key Management: Initially, we tried using redis.keys to fetch all rumor posts, but Devvit’s Redis client doesn’t support it. We pivoted to using a Redis set (activeRumors) to track active posts, which required refactoring our cleanup logic. Post Type Conflicts: Early on, we had a "Skyline Showdown" post type that conflicted with "Gossip Vortex," causing the wrong title to display. We fixed this by ensuring postType_ was set correctly and removing the old post type. Scheduler Setup: Getting the 4-hour posting schedule to run reliably on Reddit’s servers took some trial and error, especially ensuring the cron expression worked in UTC. UI Design: Balancing a dramatic tabloid look (bold colors, emojis) with readability in Devvit’s limited UI framework was tricky, but we iterated to make it pop.
Accomplishments that we're proud of
We’re thrilled with how Gossip Vortex turned out! Some highlights:
Seamless Scheduling: The app reliably posts new rumors every 4 hours without any local intervention, thanks to Devvit’s scheduler running on Reddit’s servers. Engaging UI: The tabloid-style design—with a red headline, yellow rumor text, and fiery twist emojis (🔥)—captures the gossip vibe perfectly. Community Interaction: The twist mechanic and weekly exposés foster a collaborative storytelling experience, with users actively shaping the rumors. Automatic Cleanup: Implementing the 7-day cleanup (deleting old posts and Redis keys) ensures the subreddit stays uncluttered, which was a big win for user experience.
What we learned
Building Gossip Vortex taught us a ton:
Devvit’s Capabilities: We gained a deep understanding of Devvit’s APIs, especially for scheduling, Redis storage, and custom post rendering. Redis Limitations: We learned to work within Devvit’s Redis constraints, like using sets (sadd, smembers) instead of unsupported methods like keys. Community Dynamics: Watching users interact with the app showed us how much Reddit communities love creative, multiplayer experiences. UI Design: We learned how to create a visually striking UI within Devvit’s limitations, balancing style and functionality.
What's next for Gossip Vortex
We’ve got big plans for Gossip Vortex to make it even more engaging:
Themed Rumors: Add themed rumor sets (e.g., sci-fi, fantasy, political scandals) to give users more variety. Enhanced Voting: Automate the weekly exposé voting by tallying upvotes on comments to determine the canon rumor, with a leaderboard for winners. Custom Prompts: Let moderators add custom twist prompts to match their subreddit’s vibe. Visual Flair: Add more tabloid-style elements, like fake newspaper clippings or animated effects, to enhance the UI. User Profiles: Create a "Gossip Profile" for each user, showcasing their best twists and total contributions across all rumors.
Built With
- devvit
- react
- typescript
Log in or sign up for Devpost to join the conversation.