Skip to content

๐Ÿ… Daily micro-challenges for Reddit communities. Transform passive browsing into active creative participation with real-time leaderboards, community voting, and automated daily challenges. Built with React, TypeScript, Express.js, and Reddit Devvit.

License

Notifications You must be signed in to change notification settings

SD170/devvit-microlympics

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

8 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ… Microlympics

Daily micro-challenges for Reddit communities

Microlympics is a Reddit Devvit app that brings daily creative challenges to communities, turning everyday interactions into a competitive and fun experience. Each day features a new micro-challenge - from writing 6-word stories to taking photos of your workspace - with real-time leaderboards and community voting.

โœจ Features

๐ŸŽฏ Daily Challenges

  • 100+ unique challenges rotating daily at 9 AM UTC
  • 4 challenge types: Text (๐Ÿ“), Photo (๐Ÿ“ธ), Emoji (๐Ÿ˜€), ASCII Art (๐ŸŽจ)
  • Creative prompts like "Write a 6-word horror story" or "Take a photo of the weirdest item on your desk"

๐Ÿ† Real-time Leaderboards

  • Daily leaderboards with live updates every 5 minutes
  • Weekly cumulative leaderboards tracking overall performance
  • Medal system: ๐Ÿฅ‡ Gold (5 pts), ๐Ÿฅˆ Silver (3 pts), ๐Ÿฅ‰ Bronze (2 pts), Participation (1 pt)
  • Top performers displayed with rankings and points

๐ŸŽฎ Interactive Participation

  • Submit responses as top-level comments on daily Reddit posts
  • Community upvoting determines winners
  • Time-limited challenges with countdown timers
  • Direct integration with Reddit's comment system

โš™๏ธ Automated Systems

  • Daily post creation via cron scheduler
  • Real-time leaderboard calculations with Redis caching
  • Automatic challenge rotation through 100+ unique prompts
  • Post expiry management (7-day retention)

๐Ÿš€ How It Works

  1. Check Today's Challenge - View the current challenge prompt and type
  2. Submit Your Response - Post a top-level comment with your creative response
  3. Vote & Compete - Upvote other entries to help determine winners
  4. Track Progress - Monitor daily and weekly leaderboard standings
  5. Earn Points - Accumulate points through medals and participation

๐Ÿ› ๏ธ Tech Stack

๐Ÿ“ฆ Installation

Make sure you have Node 22 downloaded on your machine before running!

  1. Clone the repository

    git clone <your-repo-url>
    cd microlympics
  2. Install dependencies

    npm install
  3. Set up Reddit Developer Account

    • Create a Reddit account and connect it to Reddit Developers
    • Get your API credentials
  4. Configure the app

    • Update src/server/config/app.config.ts with your subreddit settings
    • Modify challenge settings as needed

๐ŸŽฎ Development

Commands

  • npm run dev: Start development server and test on Reddit
  • npm run build: Build client and server projects
  • npm run deploy: Upload new version to Reddit
  • npm run launch: Publish app for review
  • npm run login: Log CLI into Reddit
  • npm run check: Type check, lint, and format code

Development Workflow

  1. Start development server

    npm run dev
  2. Test in your subreddit

    • The app will be available in your configured dev subreddit
    • Use the moderator menu to create test posts
  3. Make changes

    • Edit source files in src/
    • Changes are hot-reloaded automatically
  4. Deploy when ready

    npm run deploy

๐Ÿ“ Project Structure

microlympics/
โ”œโ”€โ”€ src/
โ”‚   โ”œโ”€โ”€ client/           # React frontend
โ”‚   โ”‚   โ”œโ”€โ”€ components/   # Reusable UI components
โ”‚   โ”‚   โ”œโ”€โ”€ pages/        # Main app pages
โ”‚   โ”‚   โ””โ”€โ”€ lib/          # Utility functions
โ”‚   โ”œโ”€โ”€ server/           # Express backend
โ”‚   โ”‚   โ”œโ”€โ”€ services/     # Business logic
โ”‚   โ”‚   โ”œโ”€โ”€ config/       # App configuration
โ”‚   โ”‚   โ””โ”€โ”€ index.ts      # Server entry point
โ”‚   โ””โ”€โ”€ shared/           # Shared types and utilities
โ”œโ”€โ”€ devvit.json          # Devvit app configuration
โ””โ”€โ”€ package.json         # Dependencies and scripts

๐ŸŽฏ Challenge Types

Text Challenges

  • Creative writing prompts
  • Storytelling exercises
  • Humor and wordplay

Photo Challenges

  • Visual creativity prompts
  • Lifestyle and environment shots
  • Artistic photography

Emoji Challenges

  • Emoji-based responses
  • Visual communication
  • Creative emoji usage

ASCII Art Challenges

  • Text-based art creation
  • Creative formatting
  • Visual text patterns

๐Ÿ† Scoring System

  • ๐Ÿฅ‡ Gold Medal: 5 points (1st place)
  • ๐Ÿฅˆ Silver Medal: 3 points (2nd place)
  • ๐Ÿฅ‰ Bronze Medal: 2 points (3rd place)
  • Participation: 1 point (all other entries)

๐Ÿ”ง Configuration

Key settings in src/server/config/app.config.ts:

  • Subreddit: Configure dev/prod subreddits
  • Post Creation: Set frequency and timing
  • Leaderboard: Configure update intervals and cache duration
  • Points: Customize scoring system
  • Challenges: Manage challenge pool and rotation

๐Ÿš€ Deployment

  1. Build the app

    npm run build
  2. Deploy to Reddit

    npm run deploy
  3. Launch for review

    npm run launch

๐Ÿค Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Test thoroughly
  5. Submit a pull request

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

๐ŸŽ‰ Future Ideas

  • Community-driven challenge submissions
  • Weekly themed challenges
  • Photo challenges with voting
  • Collaborative storytelling
  • Seasonal tournaments
  • Achievement badges and streaks
  • Team-based challenges
  • Cross-subreddit competitions

Built with โค๏ธ for the Reddit community

About

๐Ÿ… Daily micro-challenges for Reddit communities. Transform passive browsing into active creative participation with real-time leaderboards, community voting, and automated daily challenges. Built with React, TypeScript, Express.js, and Reddit Devvit.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published