Dream Diary


Lucid dreaming made fun and achievable.

My Role

Research, Design, Development

The starting point

Lucid dreaming is when you are aware that you are dreaming but don‘t wake up. In this state you are able to take control of your dream, allowing you endless possibilities, which are only limited by your imagination. Some people are born with it, but the ones who are not can use different techniques in order to achieve it. The most common one is keeping a dream diary. While building my app I centered it around three ideas. Motivation through seeing your progress. Writing down your dreams as fast as possible after waking up. Having a reasonable level of security.

Combining design and programming

Using an interative design approach, I first sketched and wireframed the core aspects of the app. Then I designed it and got some feddback to it. This was very important as it really influenced my design direction. Parallel to designing I started programming the core functionality, making it possible for me to focus on the more detailed functionality later on. Subesequently I added more features, sketched them out first and then designed them along the way.

The home of your dreams

The app's focus is to make it as easy and rewarding as possible to add new dreams. The passcode is replaced by a gesture that can be drawn quickly. A big button to add a new dream makes it easy to click it. Playful balls are being generated deping on the number in your stats. Regular usage of the app leads to more fun in this physics simulation.

Supporting the user experience

The interactions were tried to be kept simple but delightful. Commonly used things like opening the menu were supposed to be fun, but not inhibiting through long and jarring animations.


What I learned

Getting feedback as early as possible was very valuable as it heavly influenced my design process. That meant prototyping fast in order to get meaningful results. Using an 8px grid I was able to iterate quickly and keep a consistent look across all pages easily. Also I did almost all prototypes directly in html/css, as that allowed me to get as close as possible to the final result. This taught me a lot about css transitons and how to make them as smooth as possible.