Inspiration
Our project revolves around the integration of AI in education. With the rapid rise of AI and its potential to revolutionise our world, we couldn't help but wonder about its impact on students. Initially, concerns arise about using AI to assist with studies, but with appropriate boundaries, AI can not only enhance education but also enrich the learning process. Therefore, we've fortified conventional, outdated study tools with artificial intelligence.
What it does
Our study tool comprises three main components that interlink seamlessly: a personal AI Tutor, Flashcards, and a To-Do list system. By establishing boundaries, our AI responds to questions with the intention for users to learn actively. Instead of simply providing answers, our Tutor is subject-specific, fostering personal growth and learning akin to a human tutor. Additionally, it recommends or generates flashcards and to-do lists based on user queries, reducing the time spent on creating these resources.
How we built it
Backend Development (Flask and Python):
- Flask: Utilized for building the backend server to handle HTTP requests and responses.
- Python: Primary language for developing backend logic, including defining routes, interacting with the database, and various operations.
- SQLAlchemy: Used for interacting with the database and defining database models.
Frontend Development (React JavaScript and TailwindCSS):
- JavaScript: Used for frontend development to create dynamic and interactive user interfaces.
- React: Employed to create reusable UI components and manage the frontend application's state.
Database:
- SQLite: Lightweight relational database management system used to store todo lists and tasks data.
API Authentication:
- Flask JWT Extended: Implemented JSON Web Token (JWT) based authentication for securing API endpoints.
HTTP Requests:
- Axios: Promise-based HTTP client for making HTTP requests from the frontend to the backend API endpoints.
Deployment:
- Local Development: Application run locally on a development machine.
- Git: Distributed version control system for tracking changes in the source code, facilitating version control and collaboration among team members.
Challenges we ran into
Despite having only three team members and minimal experience in full-stack development, we encountered several challenges:
- Issues with JSON payloads and HTTPS requests.
- Overcoming configuration issues such as CORS issues with requests.
- Navigating authentication methods when transitioning from server-sided sessions to JWT tokens.
Accomplishments that we're proud of
Achieving a satisfactory outcome with just three first year team members is a significant accomplishment for us. Moreover, creating a project targeting education, a field we directly relate to, reflects our genuine passion and hope for a future where AI and education intersect harmoniously.
What we learned
In addition to technical skills, such as handling JSON payloads and authentication methods, we've honed communication, teamwork, and project management skills. Moreover, working under pressure and meeting deadlines improved our time management and adaptability in fast-paced environments.
What's next for Mutable Learning
Our future endeavors involve continuing projects as a team beyond hackathons and developing a diverse portfolio that leverages our strengths and addresses our weaknesses.
Log in or sign up for Devpost to join the conversation.