Inspiration

CaptionThis was inspired by:

  • The Meme culture – Creating memes is fun, but what if users could easily add captions in a Reddit-native way?
  • Caption contests – Many subreddits already run "caption this" threads, but they lack a direct preview feature.
  • Social engagement – People love competing and voting for the best captions. This app automates the process to make it seamless.

What it does

CaptionThis turns image captioning into a competitive meme game.

1 - User uploads an image → Create a post on Reddit through CaptionThis and set the time the p.

2 - Other users add captions → Instead of just commenting, they place text directly on the image (with real-time preview).

3 - Upvotes determine the winners → Users vote on captions, and the top 3 captions are automatically compiled.

4 - Final meme is posted → After a set time (e.g., 6 hours), the top captions posted as separate original memes crediting the captioners.

How we built it

CaptionThis combines Reddit’s API and Devvit capabilities like Redis, Forms, Interactive Posts, Triggers, Fetch HTTP, Media Upload, Scheduled actions and WebViews with HTML/CSS/JS.

Challenges we ran into

The biggest challenges I ran into is The Creation of Best Captions, couple workarounds were considered but were not the best:

  • Taking Screenshot of the generated Caption on the WebView: Worked fine on the desktop (even though it caused performance issues) but can't work on Mobile devices because of the dimensions (Screenshot would be smaller so the best caption posts will be of low quality).
  • Creating the best caption images from within the app: Didn't work because of the limited NodeJs environment which was necessary for Canvas Manipulation to generate

As the last resort, a dedicated backend was used to generate the Images and return them to be uploaded and posted directly.

What's next for CaptionThis

A lot can be added to this App:

  • More formatting to captions: Fonts, Colors, Layout, Alignment.
  • A Better approach and more performant to generate the best captions.
  • A More fair voting system avoiding spam or manipulation of top captions. ... and more.

Built With

Share this project:

Updates