CASE STUDY: Good Night Sleep Trainer

< back to case studies
Good Night Sleep Trainer App Home Page Screenshot


We were first approached by Thorley Industries regarding a portable USB device they had invented to help parents understand and improve their babies’ sleep habits. The Sleep Trainer accepts input from parents regarding a baby’s sleep, crying, and awake times, and Thorley needed software to collect, interpret, and display this data for their customers via a web-based system.

Time was tight; the product was scheduled to hit the shelves of Target and go online at Amazon in only two months. Getting a high quality app built quickly was a high priority.

The Process:

We sat down with the owner and lead engineer of the project and learned all about their business including the other innovative products they sell, and we got a chance to play around with the Sleep Trainer. At that point, the device could collect data but could not actually send it anywhere.

Because time was tight and the product launch was rapidly approaching, we talked about project requirements and the need to identify which features were the critical core components that the application could not do without. By helping to constrain scope, we were able to simplify the specification and define the project in a manner that was both affordable and doable within the timeframe allotted. We further broke features into a Phase 1 and Phase 2 approach with Phase 1 consisting of the core application that would be ready by product launch date, and Phase 2 consisting of additional features that would be added in shortly after that.

The Solution:

The first task consisted of parsing the data from the Sleep Trainer. The device used a proprietary data format that was stored as a text file and required some manipulation in order to house it in a database on the web. We architected a database model that would coherently organize the data and then wrote some PHP code to parse the data from its original format into a MySQL database. Because there were plans to later release a Version 2 of the Sleep Trainer that would use a slightly different data format, we took some extra time to build a solution that could parse both data formats.

With the input functionality in place, the project required a number of features that one finds in many web applications, such as a customer registration and login process, account maintenance, etc. For the Sleep Trainer application, these features were fairly straightforward and not particularly novel.

The sleep data handling portion of the application was more complex, unique, and interesting to develop. The data needed to be accurately displayed in multiple ways, including as text summaries as well as via a graphical interface. The display also needed to be customizable by the user, permitting multiple views and timeframes.

Sleep Data By Day
Daily data represented both graphically and via text summary
Sleep Data By Week
Weekly data represented both graphically and via text summary

Benchmarking functionality was developed to permit users to see how their own baby’s sleep amounts compared to the amount of time that is generally recommended for babies of the same age.

Statistical Sleep Data
Benchmarking data comparing user’s data to average sleep times

The outcome:

Successful launch. Phase 1 of the application launched right on time for the product release, and Phase 2 launched as planned shortly thereafter.


  • Custom web application programming
  • Strategic consulting / project management
  • PHP and CakePHP Programming
  • MySQL
  • User Interface Design
  • Javascript / JQuery

< back to case studies