Inspiration

We were inspired to create this project every time we struggled to stay awake while studying for tests, reading through dry textbooks or looking at the same set of slides for the 67th time. At the same time, we knew that the content wasn’t the issue - receiving the same educational information through a well-made Youtube video (e.g. 3Blue1Brown, CGP Grey, or Casually Explained) was far less sleep-inducing. However, such content rarely covers the exact lesson you care about. That’s where Entertainify enters the picture!

What it does

Entertainify aims to make dry textbooks far more entertaining by adding visuals and compiling content into a well-edited YouTube video or short-form reel. Simply upload a pdf or text file of the most brain-draining content you’ve ever seen, then sit back and watch as it transforms into an approachable, infographic-style video, comic, or reel (short-form content).

How we built it

We built Entertainify with React and TypeScript on the frontend and a Node.js backend. PDF.js extracts digital text from uploaded PDFs, while local Tesseract OCR handles scanned pages. Users can review the extracted material before generating a lesson. We send that material to Groq to produce a structured narration and visual storyboard. Each scene stays linked to its exact position in the script. Pollinations generates the illustrations using scene-specific prompts and a shared art direction, while ElevenLabs generates the narration with character-level timestamps. Our rendering pipeline maps those timestamps to scene transitions, draws captions locally with Canvas, and assembles the final MP4 with FFmpeg. Comic mode uses a dedicated panel storyboard and locally typeset captions. We also save project progress and cache completed images and narration so users can revise or resume without starting over.

Challenges we ran into

A challenge we were facing is getting the image generation to be reliable and quick. What we quickly discovered was that image generation, specifically with our use case, requires a balance between understanding context and the actual focus object itself. What we ran into was that if there was no context between the different images, it would render focus objects that look radically different from each other, in terms of artstyle, or even homonyms (like solar cells being rendered as living cells). On the other hand, if we overcorrect it with more context, most images would end up looking very similar, as if the model is making one master image and making different variations of said master image.

Accomplishments that we're proud of

We’re especially proud of getting the narration and visuals to work together. An illustration appearing too early or too late can make an explanation confusing, so we mapped ElevenLabs’ character-level speech timestamps to the exact script positions for each scene. This lets transitions follow the spoken narration instead of relying on estimated speaking speed. We also made progress on balancing visual consistency with variety. Giving each scene a specific description while maintaining a shared art direction helped us create illustrations that belong together without repeating the same composition. Getting the images to support the explanation, not just decorate it, was one of our biggest creative challenges. Finally, we’re proud of bringing the entire workflow into one application. Users can upload material, review a script, generate illustrations, and produce a narrated video or comic without manually moving files between tools. Completed images and narration are cached, and project progress is saved so users can revise or resume without starting over. Building that complete experience as a two-person team in 24 hours is something we’re excited about

What we learned

I think the number one thing about this project is that we learned what kind of tasks we can delegate to an LLM (most coding, some debugging), but ultimately as far as the art choices, the direction of the project, the overall architecture/pipeline, and the needs of the user (the kind of features someone would use and how to make things more silly), it’s us humans that are in charge. Another thing we learned is how to use API keys. Before this project, we had very little experience working with APIs, and this was definitely a valuable experience for us, since fetching from APIs is much more efficient than building things from scratch. The final experience worth noting is that we’ve gotten better at defining the scope of our project. Since we’re a group of only 2 people, we don’t have as much resources nor the brain power as groups of four, so we have to manage our ambition and features we wanted to implement within the 24-hour time frame and our abilities.

What's next for Entertainify

Winning! (fingers crossed) JK. With this, we’d like to launch a more polished version that could be more accurate in the image generation front, having the ability to be customizable for the user, and hopefully an app (since a lot of Homework happens on the phone or on a tablet these days).

Built With

Share this project:

Updates

Submission history