Dual N-Back
Flutter • Dart • Play Store • State Management
Implementation of the Dual N-Back exercise used by researchers studying methods of increasing working memory and fluid intelligence.
Designed to be cross platform, but targeted at Android and iOS.
Includes interactive tutorial and instructions page with smooth animations.
Light and Dark themes.
Uploaded to play store. It's currently in "internal testing" on the play store and I will release it soon.
Several settings to make learning easier, including immediate feedback on guesses.
Try it out! https://go-dual-n-back.web.app/
(⚠ Web performance is choppy for Flutter. Animations may be slow. Web is not my primary target).
Skills Developed
Decoupled state and UI - With this project, I feel state management really clicked for me. I was able to exploit the Flutter Bloc pattern to easily make the interactive tutorial.
Unit Testing - The nature of Flutter Bloc and separated state and logic made it easy to simple to write the test cases. Additionally, all UI tests were trivial since they simply needed to reflect the given.
Technology
Google Flutter for cross platform development.
Flutter Bloc for state management.
Google Firebase hosting of SPA.
Showcase:
Dual N-Back was very easy to put together. I had already learned Flutter and Bloc by building a standard Todo app, so this only took a few evenings. However I realized quickly that a simple instructions page was not enough for users to understand how to play. I spent a month iterating on a few different tutorial designs, smooth animations, and general polish.
Instructions page:
I had a lot of fun making this. Getting all the animations to work out was kinda challenging but I'm very satisfied with the results. All of the components being used are the same widget that's used in game. Part of the challenge was making everything reusable and dynamic.
Interactive Tutorial:
Ultimately the most effective teaching method was the interactive tutorial. This was pretty easy to do since I coded the game with Flutter BLoC logic (state management for Flutter kind of like Redux).
The single most effective tool was the feedback icons that pop up on each button click. The green checkmark flying up and into its spot in the score track is most satisfying.