Inspiration: My inspiration for AIMom stems from the global need for emotional support and guidance, especially during the challenging moments of high school life when parents aren't always available. Whether it's late-night worries about college applications, moments of self-doubt, or simply needing someone to listen, AIMom offers unconditional support and wisdom akin to that of a mother.

What it does: AIMom is an AI-powered companion that provides emotional support, advice, wisdom, experiences, and a listening ear. It delivers personalized responses using natural language processing, can retain context, and adapts to users’ emotions. The application features a sleek interface designed to create a comfortable atmosphere for users.

How I built it: Initially, I created a Mermaid Diagram to brainstorm. It begins with the user typing a message and hitting the send button. The frontend then updates the UI and sends a POST request to /api/chat {message}. POST refers to the HTTP method used to create or update resources. /api/chat indicates the API endpoint that manages chat messages, while {message} represents the JSON payload transmitted in the request. Once this information reaches the backend, it is forwarded to the GeminiAPI, which generates a response. The response is sent back to the backend, which relays it to the frontend, updating the UI with the new information, thus restarting the cycle and shaping AIMom. Once I had made this process, I integrated it into the code.

Challenges I ran into: Achieving smooth conversations, managing API timeouts, balancing AI responses to prevent ‘overstepping boundaries,’ and coordinating communication between the frontend and backend.

Accomplishments that I'm proud of: Successfully completing the project and creating AIMom, developing a fully functioning page, implementing conversation history, and utilizing the Gemini API.

What I learned: I gained knowledge about uvicorn, React, FastAPI, Axios, and features within HTML/CSS/JS that were previously unfamiliar to me. I also learned how to leverage middleware and the logging library in Python.

What's next for AIMom: Creating accounts for enhanced personalization, launching a mobile application, developing an official website, introducing voice interactions so that AIMom has an actual voice, and more!

Built With

Share this project:

Updates