Project: SillyCode
Inspiration
The inspiration for this project stems from recognizing the immense impact that emotional and mental well-being has on people's overall quality of life. In today's fast-paced world, many individuals struggle to keep track of how they feel emotionally over time, making it difficult to reflect on their mental health and seek professional help when needed. I wanted to build a tool that could not only provide insight into one's emotional journey but also serve as a valuable resource for therapists and mental health specialists to help their clients better understand their emotional patterns.
By visualizing emotions and offering an easy way to track feelings, the goal was to empower users with self-awareness, while also giving professionals a tool for emotional retroinspection—a means of tracking emotions over time to help guide therapy and self-improvement.
What it does
SillyCode allows users to log their day-to-day emotional state and track their overall well-being through time. It provides an interactive dashboard that visualizes emotional data, offering insights into patterns and trends in the user’s feelings. With the ability to log daily emotions, users can view a historical timeline of how their mood evolves, while therapists can monitor their clients’ emotional journeys, giving them a clearer view of their mental health. This tracking capability aims to improve self-awareness, which is critical for fostering mental and emotional growth.
How we built it
The project was developed using modern web technologies. Here's a breakdown of the stack:
- Frontend: Built with Next.js and React, for a dynamic and responsive user experience. We used Bootstrap for styling to maintain a clean and intuitive interface.
- Backend: A RESTful API was developed with Node.js, and MongoDB served as the database to store user data, particularly emotional logs. The backend provides an efficient way to manage data and ensure the scalability of the platform.
- Data visualization: Streamlit was incorporated for rendering dynamic visualizations, making it easier for users and therapists to understand complex emotional trends.
- Hosting: The app was hosted using Vercel, leveraging its seamless integration with Next.js for deployment and continuous updates.
- Auth: We utilized Auth0 to provide seamless authentication for the users
Challenges we ran into
One of the most significant challenges we faced was connecting the MongoDB database to Vercel. Since Vercel primarily focuses on frontend hosting, it required careful configuration to ensure the database connection was stable. We also encountered issues with properly providing data to the frontend in real time. Ensuring that emotional logs were processed and displayed accurately without causing lag or downtime was critical to delivering a smooth user experience.
Accomplishments that we're proud of
- Successfully creating a platform that integrates both frontend and backend seamlessly for real-time emotional tracking.
- Building a data visualization tool that allows users to interact with their emotional data and recognize patterns that they may not have been aware of otherwise.
- Overcoming the database-hosting challenge and making the app fully functional on Vercel.
What we learned
Throughout the project, I gained a deeper understanding of:
- Full-stack development: This was an excellent opportunity to work with a wide range of tools, from React and Next.js on the frontend to MongoDB and Node.js on the backend.
- Data visualization: Using Streamlit allowed us to explore innovative ways to present user data in a visually engaging and meaningful manner.
- Deployment and scaling: Working with Vercel for deployment, we learned how to manage backend services on a frontend-centric platform, ensuring scalability without sacrificing performance.
What's next for SillyCode
The future of SillyCode lies in expanding its capabilities:
- Mobile integration: Creating a mobile app version to allow for more seamless logging and visualization on the go.
- AI-based insights: Implementing machine learning algorithms to predict emotional trends and offer proactive suggestions based on past data.
- Integration with wearables: Connecting the app to wearable devices to automatically track physical indicators of emotional well-being, such as heart rate and sleep patterns.
- Expanded therapist tools: Providing therapists with even more robust tools for tracking and analyzing client data, including generating custom reports.
This project has laid the foundation for a meaningful tool in emotional health tracking, and I’m excited to see how it can evolve further.
Built With
- javascript
- mongodb
- nextjs
- node.js
- openai
- python
- react
- streamlit
- typescript
Log in or sign up for Devpost to join the conversation.