Inspiration The idea for DI(C)E was born from a need to make time management easier, intuitive, and more engaging. With so many tasks to juggle, I wanted to create a tangible tool that helps people track their time and productivity in a simple, physical way. The cube format came from the concept of rotating between different tasks and modes, such as work sessions, breaks, and planning time, using different faces to represent different activities.
What it does DI(C)E is a cube-based time management system. Each of the cube's four faces corresponds to a different event or task mode—like Pomodoro sessions, breaks, planning, and tracking progress. Using an ESP32 and an MPU6050 accelerometer, it detects the cube’s orientation and starts timers or switches modes based on which face is up. It syncs all data with a database, tracks how much time is spent on each activity, and displays progress through a web interface built with Streamlit.
How we built it Hardware: We used an ESP32 microcontroller and the MPU6050 accelerometer to detect the cube’s orientation. The ESP32 reads orientation data and sends this to a server via APIs. Software: The data from the cube is sent to a Flask server, which stores the data in a Firebase database. The web interface, built using Streamlit, allows users to input time goals and see a real-time breakdown of how they’ve spent their time. Integration: We used APIs to connect the hardware and software components, ensuring smooth data transfer and real-time updates. Challenges we ran into One of the major challenges was achieving accurate orientation detection with the MPU6050 sensor and calibrating it for the cube's different faces. We also had to ensure stable data transfer between the ESP32, the database, and the webpage. Creating a user-friendly interface in Streamlit that effectively visualizes productivity data in a meaningful way took several iterations.
Accomplishments that we're proud of We’re proud of successfully integrating hardware and software to create a seamless experience. The system reliably detects the cube's orientation and automatically starts timers for different tasks, making it easy for users to track their productivity. We're also happy with how the Streamlit interface turned out—it's simple, intuitive, and visually shows progress.
What we learned Throughout this project, we deepened our understanding of working with sensors and microcontrollers, as well as integrating hardware with web applications. We also learned about user experience and the importance of designing intuitive and clear interfaces, especially when visualizing productivity data.
What's next for DI(C)E The next steps include adding more features, like notifications or reminders based on the time spent on tasks. We also plan to integrate additional modes, like customizable task settings and possibly a mobile app to sync progress across devices. Further down the line, we’d like to explore machine learning to analyze productivity trends and suggest improvements based on user behavior.
Log in or sign up for Devpost to join the conversation.