Inspiration
I am someone who frequently reads and studies documents, but often faces challenges such as encountering content in foreign languages, dealing with lengthy or complex material, and struggling to find related resources that can enhance my understanding. At times, I also face issues with content being lost or inaccessible for later use. This has led me to realize the need for an application that can assist in efficiently reading, storing, and deepening my understanding of the content I engage with.
What it does
An AI assistant that simplifies document reading by offering features such as analysis, summarization, translation, and related content discovery. Additionally, it allows for the storage of documents and analyses, enabling easy access and review at any time in the future."
How we built it
Due to time constraints and other ongoing tasks, I can only dedicate 2-3 hours each evening over the next 10 days to develop this product. I have chosen the most commonly used tools for this project: MongoDB for the database, Bamini (a framework I developed with Express.js at its core) for the backend, and Vue.js combined with Google Gemini API for the frontend. As of today, December 3, 2024, I have successfully developed the first MVP version.
Tech stack
DATABASE MongoDB Latest
CACHE Redis Latest
BACKEND: Nodejs version > 20 + Bamimi Framework 0.1.4-beta (My framework with core ExpressJs) Queue: BullMQ Docker
FRONTEND VueJS 3.4 as the frontend framework Vite for frontend tooling Art Design
EXTENSION Webpack for building Bootstrap for UI
Challenges we ran into
Time Constraints: With only a few hours available each evening, managing development time and ensuring steady progress while balancing other tasks was a major challenge. Being the sole developer on the project, the pressure of managing multiple roles—such as coding, testing, and documentation—felt overwhelming at times.
Integration with APIs: Integrating third-party APIs, such as the Google Gemini API, involved overcoming a learning curve and ensuring smooth communication between the frontend and backend.
Feature Scalability: Implementing the ability to store and manage large volumes of documents and analyses while maintaining efficiency and performance.
User Experience: Designing an intuitive user interface that would cater to both beginner and advanced users, ensuring easy navigation and access to the AI features.
Accomplishments that we're proud of
- First MVP Version: Despite the challenges, we've successfully developed a working MVP that integrates AI-assisted document analysis, summarization, and translation.
- Data Storage & Accessibility: The ability to store and manage documents for future reference is fully functional, helping users access previous materials effortlessly.
- User-Centered Approach: We've managed to create an interface that focuses on simplicity and functionality, making it accessible to users with different levels of technical knowledge
What we learned
IEffective Time Management: Managing a large workload by myself, with only 2-3 hours each evening to dedicate to the project, taught me the importance of effective time management. I learned to allocate time wisely, focus on high-priority tasks, and balance different aspects of the development process.
Google API Integration: I gained hands-on experience in integrating Google Gemini API with the frontend of the application. Understanding the API’s capabilities and how to seamlessly integrate it with Vue.js required a deep dive into its documentation and problem-solving in real-time.
Task Prioritization and Trade-offs: Working solo with a limited timeframe forced me to make decisions on task prioritization. I learned how to identify which features were essential for the MVP and which ones could be deferred for future iterations. This balancing act helped me understand the concept of making trade-offs between functionality, time, and resources.
What's next for MintAssist
Enhancing existing features: The next steps involve improving the current features, particularly the analysis, summarization, and translation functions, to ensure they deliver even greater accuracy and efficiency.
Expanding related content features: We aim to enhance the related content suggestion feature, making it more personalized based on users' preferences and reading habits. By gaining deeper insights into user behavior, we plan to provide smarter and more relevant recommendations.
Leveraging saved text segments: In the future, it could generate additional themes based on saved text segments, then select from those segments to create personalized draft templates, serving as a resource for prompts that maintain a personal touch.
Integrating user profiles: We will work to refine the system to tailor content analysis, summarization, and suggestions to individual user profiles, ensuring that each user receives the most useful and relevant information based on their specific needs and preferences.
Built With
- antdesgin
- bamimi
- chromeapi
- express.js
- geminiapi
- mongodb
- node.js
- vite
- vue
Log in or sign up for Devpost to join the conversation.