Inspiration
I've always loved apps that help you organize your life, track your activities, and boost productivity. But sometimes, I found myself juggling multiple apps, or using one that felt too confusing and overwhelming for a beginner. On top of that, I often face the dilemma of deciding what to watch while eating or what to listen to when I've played my favorite songs so many times that, while still my favorites, they've started to feel a bit overplayed. That's how I came up with this idea.
What it does
Life Dashboard is your personal space for tracking finances, organizing your day, logging your mood, and occasionally seeking recommendations for things to watch or listen to that can brighten your day or make it a little better.
How we built it
I started with a classic React and Vite stack for quick setup and easy deployments. Each page was designed as a standalone, focused component (Tasks, Mood, Finance, Entertainment) and tied together with a sleek dashboard. I leaned heavily on localStorage to ensure everything is fast and persistent no backend required. For the bar and line charts, I used Recharts.
Challenges we ran into
The initial challenge was setting up the dashboard layout. I encountered height and width issues multiple times. Since it was just localStorage, there were no backend problems, but I gained a lot of knowledge about frontend debugging in the process.
Accomplishments that we're proud of
This is my first hackathon and my first react app, I am really proud of myself that I made this as my project for my first hackathon.
What we learned
I learned about Vite, gained a deeper understanding of React, and improved my CSS skills. Adjusting layouts and managing localStorage made it a very enriching learning journey.
What's next for Life Dashboard
I'm considering next steps like linking the tasks page to the calendar, integrating more movie recommendations through Spotify or similar services, and adding finance tips or notes based on weekly spending patterns in the future.
Log in or sign up for Devpost to join the conversation.