Inspiration

Reddit is already the world's biggest meme factory, but every meme starts from someone's private Photoshop session. I wanted the captioning itself to be the shared, competitive experience — built natively as a Reddit post.

What it does

Captionary turns a Reddit post into a live meme-caption game. Creator uploads an image; players drop in text (with fonts, colors, outlines, and effects like a hand-drawn or deep-fried look), positioning it freely over the photo. The best captions rise via comment upvotes, and each day the system auto-crowns the top submission as "Meme Champion" — complete with a Reddit flair badge, in-app crown/dethrone notifications, and a "🌽 corn" currency players earn and spend on cosmetic app backgrounds.

Alongside single-image captioning, there's Meme-off: a daily A-vs-B voting round pulling from recent memes, where players guess wich one the community engaged with more, earning corn for correct picks.

How we built it

  • Devvit (Reddit's developer platform) hosts the app as a native post type
    • React + Vite for the client — free-form canvas-style caption placement stored as fractional coordinates (Blank type) so it scales to any image size.
    • Reddit's own primitives double as the game's backend: comment upvotes are the scoring signal, user flair is the crown, and scheduled Devvit cron jobs (daily-crown) run the nightly crown ceremony.
    • Tailwind for styling, TypeScript end-to-end with shared types (src/shared/api.ts) between client and server.

Challenges we ran into

  • Designing the crown job to be idempotent and safe against partial failures — score-fetch errors per comment are caught individually so one bad comment doesn't kill the whole run (crown.ts).
    • Freezing Meme-off "engagement" scores at round-build time so voting results stay fair even as comment scores keep changing live afterward.
    • Making free-form text placement (rotation, resizing, multiple fonts/effects) feel good on both desktop and mobile within Reddit's webview constraints.
  • wasnt sure if image + text can be shown in reddit comments

Accomplishments that we're proud of

  • found ways to post image + text successuly as comments to the post
  • created a simple UI and workflows for this game

What's next for Captionary

Want to invest into building my Cappy (Parrot) which comes in different skin tones and also feeds on corn for unlocking other skin tones and other smaller game modes.

Built With

Share this project:

Updates