You are browsing as a guest. Sign up (or log in) to start making projects!

2h 5m 40s logged

second devlog

I built a thing that takes a short video and turns it into a growing grid of the same clip looping forever. One tile, then four, then nine, and so on until the whole screen is just the same meme repeating itself.

The idea

The whole point was that nothing leaves the browser. No uploads, no servers. You drop a video, the browser rips the frames out with canvas, and then it just starts multiplying them. Audio stays from the original file so it doesn’t sound like garbage.

Frame extraction

Getting this part right took longer than I expected. At first I was sampling too slowly and the loops looked choppy. Then I was sampling too fast and the browser would choke on longer clips.

Settled on:

  • 24 fps
  • Max video length: 60 seconds
  • Max file size: 15 MB
  • Frames scaled down to 480px

Still not perfect, but it works for most meme-length clips.

The multiplying grid

This was the fun part. I started with a simple canvas renderer that just kept adding more of the same frame. Watching a single sad cat video slowly take over the entire screen is weirdly satisfying.

Had to add a couple of limits though:

  • Hard cap at 1024 tiles
  • Auto-pause every couple of minutes

Otherwise Chrome starts melting.

Extra stuff

  • Recent clips saved with IndexedDB so you can re-run the last few videos without uploading again
  • Drag and drop + a demo video button
  • Basic play/pause/mute controls

Try it

Live version is up at meloop.vercel.app

What’s still rough

  • Performance on older phones isn’t great
  • The pause modal feels a bit abrupt
  • Some longer clips still struggle during frame extraction

The core idea works though, and everything stays private, which was the main goal.

0
30

Comments 0

No comments yet. Be the first!