Sleep restore

TECHNOLOGIES Android, Angular 5, Bootstrap 3, iOS, Java, PostgreSQL, Spring
TEAM 1 analyst, 2 developers, 1 QA engineer, 1 project manager

Sleep Restore is a new project from one of our Clients. He was content with the previous application which we developed for him. This is an anxiety app, which you can learn more about here.

Sleep Restore is designed for people with sleep problems, such as insomnia, stress, tension, etc. To solve these problems a person should first fill in a questionnaire. The app will provide the questionnaire results based on the person’s answers with the possible problems and recommendations to solve them. The results also include a playlist for the person. A person listens to the tracks from the playlist before the bedtime. To check the progress, a person will have to refill the questionnaire next month. The app will define if there is any progress or not. If there is, the playlist and recommendations will be updated.

The playlist tracks use the bilateral stimulation – a treatment element of EMDR (Eye movement desensitization and reprocessing).

The application also contains a premium feature. The playlist tracks are mostly free, but there are some additional tracks, which can be purchased by a person. Moreover, the application provides free bonus-tracks after a certain number of questionnaire filling attempts.

There is also a web application. It stores all users’ questionnaire results, and allows Admin to see some statistics. Besides, the web app serves as a content management tool, so the Admin can add tracks, create playlists, edit the questionnaire contents.


Development challenges:

Since each person is unique and thinks his own unique way, we worked a lot on the questionnaire functionality.

It’s not about just embedding the questions to the code. The questionnaire should be configurable, so that our customer as a clinical psychologist/researcher could edit it, add or remove some questions to be able to detect a person’s sleep problem better.

QA challenges:

The challenge of the QA activities on this project was the necessity to conduct testing on the multiple devices. For an Android application, it meant to conduct tests on the multiple models with different Android versions.


To beat this challenge, we had to pass two iterations of developing this functionality. The first iteration was complicated and hardly usable.

So, during the second iteration, our team drew mockups, got the approval of them from the customer, and then implemented the final solution. The result questionnaire functionality was built as a step-by-step wizard with the description of each step, so that our customer would be able to understand what needs to be specified at each step.

The solution has allowed the customer to add, remove, edit the questions, possible combinations of answers to them, attach or change the recommended tracks of each answer combination.

So the customer can be sure that the people will get a flexible and smart set of questions to detect and solve their sleep problems.

QA activities:

Functional testing, usability testing, compatibility testing, security testing.

QA tools:

Pixel perfect, Crashlytic, Reflector, Genymotion, Android Studio.


At the moment the apps are released on Google Play and App store.

The users already comment positively on having their sleep problems solved. The average rating of the app on Google Play is 4.5 out of 5, on the App store it is 4.1 out of 5. The customer is also satisfied with our work on the app. You can check his review below.

Areas of expertise

Custom UI widgets // Media player // Integration with a web API // User settings persistence

Additional Technologies

iOS: Xcode // Swift // MVVM // GitLab // RxSwift // CoreData // Alamofire // XCTest
Android: Android Studio // Java // MVP // GitLab // Dagger // Retrofit // RxJava // Cicerone

See our client's feedback

See our client's feedback

Chart recorder
Chart recorder
Simulation engine
Simulation engine