Inspiration

We created Memonics because we’ve always found that concepts stick better when tied to acronyms, rhymes, or creative phrases. Whether it was formulas, historical facts, or technical terms, turning them into mnemonics made recall effortless. But coming up with them manually took time. So we built a tool that does it instantly. Memonics makes memorization intuitive, engaging, and fun, helping anyone retain information more effectively!

What it does

Memonics generates personalized memory aids - acronyms, rhymes, and more - based on any text or image. Just type in a concept or snap a picture from notes, textbooks, or presentations, and it crafts a mnemonic on the spot. You can save favorites, regenerate if you want a different one, and revisit past mnemonics anytime. Whether you're studying for exams, learning new skills, or just need a quick recall boost, Memonics makes it effortless and fun!

How we built it

Our technology choices were driven by scalability, efficiency, and user convenience. We built Memonics using a combination of Flask, React, and the OpenAI API, ensuring a seamless and responsive user experience. The backend, powered by Flask, handles requests efficiently and integrates with the OpenAI API to generate creative mnemonics on the fly. The frontend, built with React, provides an intuitive and dynamic interface for users to input text, upload images, and manage their mnemonic collections.

To extract text from images, we implemented pytesseract, an OCR (Optical Character Recognition) tool that accurately converts scanned content into usable text. This allows users to generate mnemonics from handwritten or printed materials effortlessly.

For data storage, we chose MongoDB, a NoSQL database that provides flexibility in managing user details and previously generated mnemonics. This enables users to save, revisit, and regenerate mnemonics, creating a personalized learning experience.

Challenges we ran into

During development, we faced below challenges that led us to adapt our approach.

  • Initially, we aimed to generate mnemonics in the voice of famous artists, but the lack of available models, likely due to data privacy concerns, and the massive size of models like Mistral from Ollama, caused significant delays. To overcome this, we decided to use the OpenAI API, which provided a faster and more efficient solution for generating creative, text-based mnemonics.
  • Integrating the UI with the backend proved challenging as even small changes required updates to both sides, often leading to merge conflicts. This slowed down development and required careful coordination amongst us working on the frontend and backend.

Accomplishments that we're proud of

We’re proud of creating an app that seamlessly generates personalized mnemonics, whether users type or upload images. The image-to-text feature, powered by pytesseract, allows users to convert notes, textbooks, or presentations into text to generate mnemonics - enhancing accessibility and convenience. Our integration of the OpenAI API has been key to providing fast, efficient mnemonic generation without sacrificing quality, ensuring a smooth, engaging user experience.

Additionally, we’re excited about the app’s ability to offer a personalized learning experience. Users can save, revisit, and regenerate their favorite mnemonics, making learning more flexible and tailored. We’re also proud of the strong team collaboration that allowed us to navigate challenges, pivot effectively, and create a product that meets real user needs.

What we learned

Throughout the development of our application, we gained invaluable skills and insights. We initially had no prior experience with tools like pytesseract and the OpenAI API, but through hands-on exploration, we quickly became proficient in these technologies. This process boosted our confidence in leveraging powerful APIs and OCR capabilities to create innovative features.

Additionally, we gained a deeper understanding of React, sharpening our frontend development skills and gaining the confidence to build dynamic and responsive user interfaces. Most importantly, we learned how to develop a product efficiently, moving from ideation to implementation in record time. This experience taught us how to prioritize key features, iterate rapidly, and adapt to challenges. These skills will be invaluable for future projects.

What's next for Memonics

The future of Memonics is all about taking learning to the next level with personalized, engaging, and multi-sensory experiences. We’re working on expanding the types of mnemonics we offer, including integrating videos, audio, and even songs, to give users more dynamic and creative ways to remember information. These new formats will cater to different learning styles, making the app even more versatile and fun.

We’re also focused on making Memonics more personalized. We plan to introduce personalized recommendations based on the user's field of interest, ensuring that each mnemonic generated aligns with their learning goals. Additionally, we’ll provide recommendations for similar mnemonics based on the user's favorites, helping them discover new ways to reinforce their memory. To further enhance the user experience, we’re incorporating Redis for caching, allowing us to deliver faster responses and ensure the app runs smoothly even with large amounts of data. These improvements will make Memonics an even more powerful tool, designed to adapt to each learner’s unique needs.

Built With

Share this project:

Updates