From Sleep Data to a Useful Android Prediction: Building RestUP
How I connected a Random Forest model, Firebase data, and a guided Android flow to make sleep-quality results understandable.
The product problem
RestUP began as my Informatics thesis project. The goal was not only to classify sleep quality, but also to help users understand what the result meant through a practical Android experience.
The main challenge was translating sleep activity and self-assessment data into feedback that remained clear, useful, and approachable inside a mobile interface.
Designing a guided flow
I organized the experience around a repeatable daily flow so users could record relevant activity, complete a guided assessment, and review the classification without jumping between disconnected screens.
- Sleep activity tracking and a guided daily check-in
- Random Forest sleep-quality classification
- Weekly statistics for reviewing patterns over time
- Educational content that gives the result practical context
Connecting model evaluation and Android
The application flow was built with Kotlin, while Firebase handled application data. I evaluated the Random Forest model with Scikit-Learn and treated the model output as one part of the product rather than the entire experience.
That separation helped me think carefully about loading states, result presentation, and the amount of technical detail a user actually needs to make sense of a prediction.
Result and lesson
The final Random Forest model reached 92.06% classification accuracy. More importantly, the project taught me how to connect machine-learning evaluation with product decisions and turn technical output into feedback users can act on.