Inspiration
Our inspiration behind this project was the ability to significantly enhance education for professionals in industry on a day-to-day basis. In this fast-paced world of constantly developing technology in society, keeping up, and even staying ahead, is necessary to survive, so we were inspired to create a tool that seamlessly and easily enables professionals to learn better.
What it does
This project takes in a users knowledge background, history of learning, and other relevant facts, then asks what the user wants to learn, then outputs recommendations for the user on what the content is and how to deepen their knowledge in it, whether that be online courses, videos, etc. The program can also generate practice quizzes to test their learning. This program also primarily requires source material for the topics so that it has a solid starting point of how to go about explaining the topic. The platform also has a unique feature in which it allows the user to voice message into the chat, and the chatbot can also respond out loud to the user.
How we built it
Frontend Framework: Next.js 14 (React 18) Language: TypeScript Styling: Tailwind CSS, PostCSS UI/UX: Radix UI, Lucide icons, Tabler icons, Framer Motion, GSAP State: Zustand Forms: React Hook Form, Zod Charts: Recharts Other: MediaPipe (hand gestures), OGL (WebGL), Socket.io client
Backend Runtime: Python 3 Framework: FastAPI Server: Uvicorn AI: Google Gemini (google-genai, gemini-2.0-flash) Auth: python-jose (JWT) HTTP: httpx PDF: pypdf Config: Pydantic Settings, python-dotenv Infrastructure (from config) Database: PostgreSQL Cache: Redis
Challenges we ran into
The biggest challenge we faced is being able to integrate the Gemini wrapper. But by steadily working on it, we were able to figure out how to best integrate it. Another challenge was adding the voice input and output, which took time but was manageable as we learned how to incorporate it.
Accomplishments that we're proud of
We are extremely proud of both the Gemini wrappers responses to user requests and the UI. The Gemini wrapper provides meaningful responses that are beneficiary to the user. The UI is a sleek, modern, and engaging collection of pages that seamlessly allows users to transition and engage with pages.
What we learned
We learned multiple things, including how to integrate a LLM wrapper into our code, how to use voice input and output rather than solely text, and how to integrate these AI models into a full stack application with an engaging frontend.
What's next for Jarvis.ai
We hope to incorporate a Computer Vision model with this project that allows the user to move between topics and practice questions with hand gestures, allowing users to continue to learn even when their hands are not free.
Built With
- fastapi
- next
- python
- react
- typescript
Log in or sign up for Devpost to join the conversation.