Good Thinking logo

Good Thinking

Enabling mental health self-care

The good thinking app

Project: Good thinking

Problem Overview

Research showed the NHS and Public Health England that the missing piece of the mental health puzzle was the ability for self-care. Whilst a lot of resources existed, hardly any were from accredited sources.
The root of the challenge here was finding a way to quickly directly people who are already in distress to both trusted and relevant pieces of information to their situation and ensuring the website was always up to date with the latest NHS approved sources.


Following user testing with our partners, we determined that sleep was the best niche to pick for the Minimum Viable Product (MVP) with the London users.
We needed ways for people to reach their desired content quickly and in truly agile form, we prototyped and tested 2 or 3 different solutions.
Once we had a rough list of the key features we needed, we reviewed a number of CMS options and began by building out the more complex features first to ensure they could be done with the CMS. We began by building a complex tagging system which required a lot of bending Wagtail CMS to our will (!) and modular building blocks for use within static page templates, iterating from there.
Note: the design has evolved at the hands of other developers since the beta application


The requirements for a multithreaded conditional decision tree of resource that was performant and worked seamlessly with a super easy to navigate user interface meant that we knew we were going to have to try a lot of different things with any CMS the Public Health England team picked, but we minimised code complexity with clear file structures, modular code and keeping the scope under control.
We settled on Wagtail given that it is the NHS’ CMS of choice and that we could customise it enough to work as we needed it to. This dictated our back end technology,. For the front-end we used our trusty Elm for its faster development flow, consistency and predictability across projects and excellent debugging.


Elm Python Wagtail Postgres Heroku Tachyons

Project Length

Alpha: 5 sprints
Beta: 7 sprints
Continuous user testing, feedback integration and redesign throughout

Implementation Team

QA Code reviewer
2 Developers
Scrum master



Tel: +44 (0) 7708 796446

Email: [email protected]

Address: dwyl, First Floor,
149 Fonthill Rd,
London, N4 3HF, UK

(We'll get back to you within 24 hours)