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.
- 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"
- 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
- 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
- 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)
- Check Today's Challenge - View the current challenge prompt and type
- Submit Your Response - Post a top-level comment with your creative response
- Vote & Compete - Upvote other entries to help determine winners
- Track Progress - Monitor daily and weekly leaderboard standings
- Earn Points - Accumulate points through medals and participation
- Devvit: Reddit's developer platform for immersive apps
- React: Modern UI framework
- Express: Backend API server
- Tailwind CSS: Utility-first styling
- TypeScript: Type-safe development
- Redis: Caching and data storage
- Vite: Fast build tool
Make sure you have Node 22 downloaded on your machine before running!
-
Clone the repository
git clone <your-repo-url> cd microlympics
-
Install dependencies
npm install
-
Set up Reddit Developer Account
- Create a Reddit account and connect it to Reddit Developers
- Get your API credentials
-
Configure the app
- Update
src/server/config/app.config.ts
with your subreddit settings - Modify challenge settings as needed
- Update
npm run dev
: Start development server and test on Redditnpm run build
: Build client and server projectsnpm run deploy
: Upload new version to Redditnpm run launch
: Publish app for reviewnpm run login
: Log CLI into Redditnpm run check
: Type check, lint, and format code
-
Start development server
npm run dev
-
Test in your subreddit
- The app will be available in your configured dev subreddit
- Use the moderator menu to create test posts
-
Make changes
- Edit source files in
src/
- Changes are hot-reloaded automatically
- Edit source files in
-
Deploy when ready
npm run deploy
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
- Creative writing prompts
- Storytelling exercises
- Humor and wordplay
- Visual creativity prompts
- Lifestyle and environment shots
- Artistic photography
- Emoji-based responses
- Visual communication
- Creative emoji usage
- Text-based art creation
- Creative formatting
- Visual text patterns
- ๐ฅ Gold Medal: 5 points (1st place)
- ๐ฅ Silver Medal: 3 points (2nd place)
- ๐ฅ Bronze Medal: 2 points (3rd place)
- Participation: 1 point (all other entries)
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
-
Build the app
npm run build
-
Deploy to Reddit
npm run deploy
-
Launch for review
npm run launch
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
This project is licensed under the MIT License - see the LICENSE file for details.
- 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