Inspiration

As students ourselves, we were inspired to create an app that would provide accessible and easy-to-understand information to students worldwide. We understand the difficulties of navigating through lengthy presentations and notes provided by professors, which is why we wanted to revolutionize the way students learn. By using advanced NLP technology such as transformers, we were able to create an app that converts material into fun, bite-sized flashcards and quizzes that cover all the essential concepts. Our goal was to make learning a game, allowing students to acquire knowledge with ease and enjoy the process.

What it does

Here's how it works: a student uploads their material to our app, and our transformers get to work analyzing the text to identify the most critical concepts and information. From there, the app generates personalized quizzes and flashcards based on the material, covering the essential aspects of the content in an easily digestible format.

Our personalized quizzes are designed to be engaging, interactive, and tailored to each student's needs, helping them to retain information more effectively. Meanwhile, our flashcards provide quick and accessible summaries of the material, making revision sessions a breeze.

By using the latest technology, our app ensures that the information presented to students is both accurate and relevant. The transformers analyze the text to filter out extraneous information, allowing students to focus on the most critical aspects of the material.

Overall, our app is designed to make the learning process more accessible, engaging, and effective for students everywhere. With cutting-edge AI and a user-friendly interface, we're empowering students to take control of their education and achieve their academic goals.

How we built it

Our app is the result of a collaboration between talented developers and machine learning experts. We used a variety of cutting-edge tools and technologies to create a powerful platform that's easy to use and highly effective for students.

We started by using React Native, a popular cross-platform framework, to build the frontend of the app. This allowed us to create a polished and intuitive user interface that works seamlessly on both iOS and Android devices.

On the backend, we used a combination of AWS Lambda and S3 Bucket to store and process user data. We also integrated AWS Textractor to extract relevant information from uploaded notes and presentations. This allowed us to automate the process of identifying key concepts and turning them into quizzes and flashcards.

To store user data, we used DynamoDB, a NoSQL database that's highly scalable and efficient. This allowed us to store large amounts of data without sacrificing performance.

One of the key components of our app is the QuestGen Transformer, a state-of-the-art language model based on the Transformer architecture. We used Python to integrate the transformer into our app, allowing us to analyze and summarize complex text with remarkable accuracy.

In summary, we used a combination of React Native, AWS Lambda, S3 Bucket, AWS Textractor, DynamoDB, QuestGen Transformer, and Python to create an app that's powerful, intuitive, and highly effective for students. By leveraging the latest technologies and expertise, we're helping students to learn more effectively and efficiently than ever before.

Challenges we ran into

As with any software development project, we encountered some challenges during the creation of our app. Here are a few that stood out:

One of our main goals was to create a serverless backend using AWS Lambda and API Gateway tools to communicate with the front-end app. However, we ran into issues with the large language model we were using, which required a more complicated architecture due to its size and library complexity. We ended up hosting the model on a separate server while keeping the rest of the code serverless to maintain the scalability and flexibility of the system.

Another challenge we faced was with file uploads on mobile systems. We initially had difficulties with permissions, which made it challenging for users to upload their notes and presentations. We had to work closely with the mobile operating systems to ensure that our app could access the necessary permissions and provide a seamless user experience.

Another significant challenge was learning AWS serverless technology, as none of our team members had experience with it before. It required us to learn new concepts and tools, as well as adapting our coding practices to fit within the serverless architecture. This was a significant growth curve for the team, but we overcame it through research and collaboration.

We also encountered some unexpected technical issues, such as bugs and errors, which required us to spend additional time troubleshooting and testing our app. These challenges helped us to refine our development process and improve the quality of our app.

Despite these challenges, our team remained committed to delivering a high-quality and user-friendly app for students. We were able to overcome these obstacles through collaboration, perseverance, and a willingness to learn and adapt to new technologies.

Accomplishments that we're proud of

We're proud of several accomplishments that we achieved while building our app:

Innovative use of technology: We leveraged cutting-edge AI and machine learning technology, including QuestGen Transformer and AWS Textract, to provide students with a unique and personalized learning experience. Our app uses state-of-the-art algorithms to identify the critical concepts and information in student notes and presentations and then generate quizzes and flashcards tailored to each student's individual learning style.

Scalable and robust architecture: We overcame significant challenges in developing a scalable and reliable architecture for our app. By leveraging the power of AWS Lambda, S3 Bucket, DynamoDB, and other AWS tools, we created a serverless infrastructure that can handle large amounts of data and traffic with ease. Our app can handle an unlimited number of users and notes, ensuring that students can access our services whenever they need them.

User-centric design: We placed a strong emphasis on designing our app with the user in mind. We prioritized simplicity and ease of use, ensuring that students can navigate our app and access its features without any unnecessary complexity. Our app's intuitive interface and personalized features have received positive feedback from users, and we're continually improving our design to meet the needs of our growing user base.

Teamwork and collaboration: Building our app required a high degree of collaboration and teamwork. We overcame significant technical challenges and worked together to solve complex problems, leveraging each team member's unique skills and expertise. Our team's dedication and commitment to excellence have allowed us to deliver a high-quality product that we're proud of.

Overall, we're proud of the unique and innovative learning experience that our app provides, and we're committed to continually improving and refining our technology to meet the needs of students around the world.

What we learned

Throughout the development of our app, we learned a lot about the technology and processes involved in building a modern software product. Here are some of the key takeaways:

Serverless architecture: We gained a deep understanding of the principles and benefits of serverless architecture, as well as the specific tools and services offered by AWS to implement it. This allowed us to create a highly scalable and cost-efficient system without having to manage servers or infrastructure.

AWS services: We became familiar with many AWS services, including Lambda, API Gateway, S3, DynamoDB, Textract, and Cognito. We learned how to leverage these services to build serverless systems that can handle large amounts of data and user traffic, as well as provide secure and reliable authentication and authorization mechanisms.

NLP and transformers: We learned about the latest developments in natural language processing (NLP), including the use of transformers such as QuestGen Transformer. We gained an appreciation for the power of these tools to analyze text and generate useful summaries and quizzes automatically.

Mobile development: We gained experience with mobile app development using React Native, which allowed us to create a seamless experience for our users across different platforms. We learned about the challenges and opportunities of designing and testing mobile apps, as well as the importance of responsive design and user experience.

Agile development: We practiced agile development methodologies such as Scrum and Kanban, which helped us to stay organized and focused on delivering value to our users. We learned about the importance of regular communication, collaboration, and feedback, as well as the benefits of continuous integration and delivery.

Overall, we are proud of the skills and knowledge we gained throughout this project, and we believe they will serve us well in our future endeavors. We are excited to continue learning and growing as developers and entrepreneurs.

What's next for Braindex

We plan to add support for image based and math based documents. We would also like to add more support for other file formats like ppt. We would work on training our transformer and fine tuning it for better results and also provide a seamless login and authentication experience for our users.

Built With

Share this project:

Updates