A journal that puts users in control of the questions they ask themselves every day.

Project overview

Journey is a native iOS app designed in response to the historical increase in anxiety and depression experienced by millennials and younger generations. I worked on this project over 10 weeks as my capstone project at BrainStation and my final deliverable was a high-fidelity prototype for the minimum viable product.

Role: Product Designer

Project Type: Academic

Timeline: 10 Weeks

Tools: Sketch, Figma, InVision

The problem

Millennials are experiencing higher rates of anxiety and depression than previous generations. To make matters worse, the high price-tag for therapy sessions leaves proper treatment mostly inaccessible. This has resulted in a growing adoption of mobile applications that promise results for a fraction of the price of therapy. Despite the promises, most of these apps fail to retain active users beyond a week.

30% of millennials have experienced symptoms of anxiety

$150 is the average cost of a therapy session in Canada

90% of mental health app users abandon use after 7 days

How might we help millennials build long term and positive mental health habits?




Conducting 5 interviews to gain deeper insights on mental health and technology

Now that I had a better understanding of the problem space I was working in, it was time to capture some deeper insights through exploratory interviews. I created an interview script and established my participant criteria. I conducted 5 interviews over video calls, each taking roughly an hour. After organizing and analyzing my findings, I was left with 4 actionable insights:

Insight 1: Getting outside is the best remedy

The most common and effective coping method for people who are feeling anxious or depressed was to get outside or get their body moving—often both at the same time. This made me realize that my digital solution should take up as little time as possible for the user, so that they can focus more time on doing the things that make them feel better.

Insight 2: Stats + streaks are discouraging

4 out of 5 interviewees had felt discouraged by, and generally disliked stats and streaks. Some went as far as to say that negative stats made them feel more anxious or depressed to the point where many just deleted the apps entirely. For my digital solution, it was probably a good idea to leave stats and streaks out altogether, or have the option to disable them at the very least.

Insight 3: Taking action is difficult

All 5 interviewees found it difficult and even exhausting to make positive decisions while feeling depressed or anxious. Rarely did they take massive action to feel better. Instead, most started with a small task like cleaning their desk. I wanted to integrate this into my solution by making the task feel small enough to do in a moment to inspire further positive action.

Insight 4: Lack of personalized solutions

All interviewees had stopped using a mental health app within the last 12 months because they felt like it wasn’t personalized enough to fit their needs. There was a shared sentiment across all 5 interviewees, where they felt frustrated that apps kept promising the world, but never delivered on that promise. I wanted my solution to feel tailored to each user’s individual experience.

Getting to know the competing solutions and identifying feature gaps

I created a feature chart and analyzed 7 different mental health apps to identify common patterns and feature gaps. I found that journaling and mood tracking were almost a given for any mental health app. I also noticed that none of the apps were customizable in any way. Instead, each app provided users with a set solution to tackle their anxiety or depression.

If everyone experiences anxiety + depression so differently, why was every app providing such rigid solutions?


Customization—the key to higher retention?

If mental health apps are losing 90% of users in the first week, and most users are frustrated by a lack of personalization, then it seems like personalization was the key to retaining more users, and therefore achieving my goal of helping millennials build long-term mental health habits.



Two personas—similar goals and pain-points but two different approaches to mental health

Based on insights from my interviews, I created primary and secondary user personas. At their core, Toby and Anna are similar, but they differ greatly in their approach to their mental health journey. Toby prefers his journey to be organic. It’s about feeling better in each moment, from day to day. On the other hand, Anna prefers a structured, analytical approach—leveraging stats and streaks to reinforce positive habits. Since 80% of interviewees had Toby’s approach, I made him my primary persona.

Creating an experience map to empathize with Toby and identify opportunities to help

I wanted to gain more empathy for Toby, so I created an experience map to understand what he’s seeing, thinking, and feeling throughout his journey of finding the right mental health app. This process allowed me to identify opportunities to help ease Toby’s frustrations.

Discovering cognitive behavioural therapy (CBT) and rooting my solution in science

After understanding Toby’s journey, I did extensive research into science-backed methods for dealing with anxiety and depression. That’s when I discovered Cognitive Behavioural Therapy (CBT), a practice where the patient is given journal entries or worksheets as a means of challenging negative thoughts and behaviours. Studies show CBT to be just as effective as medication for relief from anxiety and depression, and many patients feel 50–75% better after just a few sessions.

I wanted my solution to be a CBT-based journaling app, but that idea lacked personalization. That’s where I had the idea to give Toby the ability to customize the questions he asked himself every day within the app.



Establishing the MVP's core functionality

I used epics and user stories to explore potential features and functionalities that would relieve Toby's pain points or help him achieve his goals. Organizing everything with user stories has the added benefit of everything being prepped for agile development cycles if this project was to be funded and put into production.

Mapping out the essential screens, user actions, and state changes

I used a task flow diagram to map out all the pages that needed to be designed and to identify what actions were essential for Toby to complete. Wherever possible, I considered system decisions so that I knew exactly where I'd have to design state changes.



Rapid ideation through concept sketching

Next, I brought the task flow to life by doing a few rough sketch flows. After some consideration, I selected my three favourite flows and did a couple user testing sessions with classmates revealing Concept 2 to be the preferred flow overall.

Testing and iterating on the first prototype

I conducted 5 user testing sessions to see if people could (1) write a new journal entry, and (2) add a new question to a pre-existing journal template. All testers completed the journal entry with ease, but no one was able to complete the second task without my assistance. It was clear my wireframes needed a lot of work.

Making the process of customizing a journal template easier and more intuitive

After making revisions, I conducted another 5 testing sessions for the same two tasks. Once again, the journal entry was completed with ease. The addition of the journals page resulted in 40% of testers being able to add a new question to the journal template, but that wasn’t good enough for me. It was time to take a step back and figure out why users were having difficulty completing this task.

Overhauling the information architecture

After two rounds of testing and revisions without a significant improvement in results, I realized I was too focused on making small changes to the content or visual design. When I finally took a step back, I realized that my information architecture was disjointed and unintuitive. To fix this, I decided to write out all the pages or functions a user would be able to do and then organize them into four categories which became my new navigation bar icons. From there, I had to redesign most of my screen to accommodate the newly organized page structure.

Visual Design


Gathering inspiration & capturing the mood

I began developing the brand by identifying adjectives that were consistent with the visual identity I envisioned—Light, airy, relaxed, fresh. Then I pieced together a moodboard that incorporated all of those characteristics. The moodboard itself was inspired by the Mediterranean and how life seems slower, less complicated, and more intentional in that region of the world.

Using typography & colour to create a safe space for people to explore their emotions

Based on the moodboard above, I extracted over 100 colour swatches and narrowed the selection down to just a few shades of blue and some pink/peach accents. From there, I selected Quicksand to be my primary typeface because of its soft, round edges that felt welcoming and approachable. Inter, a typeface designed for enhanced screen readability was selected to be my supporting typeface used in body copy. The result was an identity that felt fresh, light, and approachable while remaining entirely accessible from a colour-contrast and typographic perspective.

Test the final prototype 👉

Next Steps &
Key Learnings


Gathering inspiration + capturing the mood

While I'm extremely proud of myself for what I accomplished within 10 short weeks, I'm also critical of the product I've created. In general, users loved the idea of a customizable journaling app but I'm not sold on the way I approached the idea. My solution largely relies on the user's manual input to add, remove, or edit questions within the journal template. And even if users were able to do this easily in user testing, I'm not confident that real users would have the patience to do things manually.

With that being said, my next steps to improve Journey would be to ideate (sketch, wireframe, test, repeat) new ways to implement the customization features. Rather than having the user input questions manually, could they be given suggestions the same way that Spotify suggests songs for a playlist based on the songs that are already inside it? I'd love to explore emerging technologies and how they might make the process of customizing a journal quicker, easier, and more intuitive.

Here are a few lessons from reflecting on my wins + mistakes over the past 10 weeks.

I used epics and user stories to explore potential features and functionalities that would relieve Toby's pain points or help him achieve his goals. Organizing everything with user stories has the added benefit of everything being prepped for agile development cycles if this project was to be funded and put into production.

Embrace emerging technologic trends.

Keeping in line with my next steps, I realized there are emerging technologies that I could have leveraged for a more seamless user experience. Going forward, I'm going to adopt more "blue-sky-thinking" into my personal projects.

Plan the information architecture early.

Thinking about information architecture before jumping into wireframing would have saved me an enormous amount of time and effort. Going forward, I'm going to ensure that IA considerations are integrated into my design process.

Tighten the feedback loop as much as possible.

It's easy to only seek validation, but I've learned that it takes real courage to invite criticism. During this project, I tried to surround myself with people who held me to a high standard and didn't accept anything but my very best effort.

A usable feature isn't an optimal feature.

Just because a task is completed successfully in user testing doesn't mean it's perfect. In fact, user testing success should be the usability baseline, rather than the standard.

Like what you see?

I'm currently available for both full-time and freelance opportunities. I'm also always open to coffee chats about design, technology, or anything else. Reach out if you're interested in working together, or if you want to chat!