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.
Approach
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
Solution
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.
Technologies
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