With The User In Mind

"Failing to plan is planning to fail"

Constantin Stan
4 min readJun 30, 2021
Photo by Toa Heftiba on Unsplash

Now that we've got Flutter installed and our set up ready for development we could jump in headfirst and start coding, or we could do the smarter thing and define what we're going to build.

If you still feel uncomfortable with Flutter and Dart (the programming language that powers Flutter) and want to follow along with the Building Blocks series then I recommend you spend some time with some free resources like the Programming Flutter book by Carmine Zaccagnino from The Pragmatic Programmers or the series I did on Dart in the context of Flutter. Focusing first on the Introduction to Dart chapter from Programming Flutter would be the way I'd go.

After defining what we'll build, we'll dive into building the actual Flutter app for the frontend. That will require writing some Dart code, so getting familiar with Dart will enable you to understand and maybe reuse the process/code for your own projects and bring your own ideas to life.

Defining features

So what will the Days of X app do for the user? Why would someone bother to download and install it and even more use it daily? Hopefully, by the end of this part, we'll have some user stories from which we can extract our features and answers to these questions.

So what are the stories? Some of the ones I can think of now are below. For the sake of writing Days of X shorter we'll use the DoX abbreviation.

  1. As a user, I want to run DoX on mobile (iOS and Android) and in my favorite web browser.
  2. As a user, I want to be able to create an account so I can start using the application.
  3. As a user, I want to be able to authenticate so that I get access to my journeys on any device I can run the app on.
  4. As a user, I want to be able to unauthenticate so that my DoX journeys are not available on certain devices anymore.
  5. As a user, I want to be able to search through existing and public DoX journeys so I can discover and get on track with acquiring new skills or habits.
  6. As a user, I want to be able to take on a DoX journey so that I can follow it in my…