Inspiration

Originally, our team wanted to implement a handwriting-to-text-to-speech program using Gemini and OpenCV, keeping accessibility and ease-of-use in mind. The project evolved into a fairy tale generator that leans into the fantasy theme of the hackathon.

What it does

Our program uses OpenCV to activate a video feed using the device's camera. The user can take one or more pictures before the program prompts Gemini to create a fantasy story using those images as inspiration. Afterwards, it uses Puter.js to read the story with text-to-speech.

How we built it

Flask provided an HTML foundation for us to build off of, and we kept a "camera, buttons, textbox" structure throughout the project. We iterated on our design several times, adding features vertically until conflicts caused the program to break. Eventually, our final deliverable was a reversion to our most stable release, and some features were shelved in order to make the deadline.

Challenges we ran into

Our team has members that are new to Python, Gemini-API, OpenCV, and hackathons in general. Despite this, ideas were quickly implemented and we encountered problems with feature creep just a couple hours before the deadline. There was a bit of panic when a beloved feature broke the program entirely and required a git revert.

Accomplishments that we're proud of

The aesthetic of the project is top-tier in our opinion, and we're proud to present something light-hearted and fun. The struggles of time-constrained development were diminished by how many laughs we had while making the program.

What we learned

Hackathons are fun! It's exhilarating to meet a new team, work with new methods, and produce something functional at the end of the day.

What's next for Reading Crystal Ball

We really want to incorporate our goose loadscreen that broke the program shortly before the submission deadline. After that, we're looking to introduce more options to customize the resulting story.

Applying for track : Best use of Gemini API

Built With

Share this project:

Updates