Post Mortem Discussion
Check out photos of this project
Check out architectural diagrams of this project
What was the problem to be solved?
Dr. Douglas Jewett developed the Red Notebook Project
After working with numerous adults, he found the discussion of advanced planning for end-of-life issues was lacking.
In order to get the discussion started, he came up with this notebook where adults of all ages can have one location for all of the information needed for emergencies, when they are no longer able to speak for themselves, or after they are gone.
Everyone wishes for peace of mind when they approach difficult times.
Making sure everything is in order is a big part of the gift that people can leave for their loved ones.
The Red Notebook is a physical notebook that acts as a personal, step-by-step preparation guide to help compile and organize important information and documents, so they are immediately available for others to manage and settle the notebook owner's affairs.
It's a Secure and easy way to organize critical information so others can manage the personal and financial affairs in the manner that the owner of the Notebook would want.
It enables those loved ones to focus less on details and more on the people who matter most at the time when it matters most.
The Notebook helps loved ones by ensuring that end-of-life intentions and decisions are known.
Following and completing the Red Notebook Project gives owners comfort knowing everything is in order for loved ones.
And it gives family peace-of-mind as they carry out those intentions.
The problem, however, was that the Notebook was a physical device and as Doug updated its contents, he would have to physically mail updates.
Users were having trouble making edits and backups and sharing the notebook proved to be a challenge, too.
What was the proposed solution?
The solution was obvious.
Users needed an app that could act as a companion or stand-in for the physical notebook.
This would allow remote backups of the data, which could be edited and shared instantly.
Additionally, when Jewett added new content or surveys, the users would be alerted and could fill in the new content easily.
Finally, the app needed to be available on any device include print to accommodate users no matter how they wanted to interact with the product.
What challenges arose during the project?
The Red Notebook Project presented several challenges.
"There was a lot of data and a lot of types of data," Gunner Technology CEO, Cody Swann, said. "The app needed to support dates, surveys, file uploads, photos and more. We needed a flexible data model that we could present in a structured way and also allow the admin to modify it at any time."
But that wasn't even the close to the hardest part.
"Security," Swann said. "Security, then Security, then Security and finally Security were the top concerns with this app. We're pretty much asking people to put their entires lives in the cloud via an app. Drivers license, passport, medical history, prescription drug information, financial statements, wills, everything."
Printing was a challenge as well because the app needed to look as close to the physical notebook as possible when printed out.
Finally, the initial budget was modest so keeping costs low was going to be a challenge as well.
What was the technical approach to the project?
To address the data model problem, Gunner chose MongoDB because of it's document model.
DynamoDB allowed the entire unedited Notebook to be collapsed into a single JSON document.
Then when users fill in the notebook, the app would create entries for each of their responses that matched the single JSON document.
"That way, the admin could in essence, edit the Notebook at any time without effecting the user's responses," Swann said. "It also allowed us to avoid duplicating the questions and input for each user."
To get the print outs looking good, Gunner overrode the styles using media queries.
But the 1,200 pound gorilla still had not been addressed.
"We needed to be really smart about Security," Swann said. "We have built many apps where HIPPA comes into play, so we were very familiar with that, but this goes beyond HIPPA. It's a totally different animal."
Gunner needed to solve the problem of data being 100% Secure but also shareable and readily available.
To tackle that, Gunner came up with a unique approach.
"We have the basic best practices," Swann said. "MFA. Strong passwords - all that. But what we did is encrypt all respondents data with a self-selected key. This key is not stored anywhere online. We encourage users to write it down and keep it somewhere safe. When they log in, they have to enter that key into the app. Otherwise, the data will be useless."
With this additional step, even if an attacker somehow penetrated Gunner's Secure architecture, without each individual user's key (which only the user would know), the data would be encrypted and essentially worthless.
"There are two places we are storing data - Amazon S3 and the MongoDB database," Swann said. "Both of those are encrypted at REST using internal mechanisms. All data is encrypted in flight using SSL. But then on top of all that, we have another layer of encryption that is user provided. With that, only they can read their data. We can't even read the data if we wanted to."
What was the project management approach to the project?
Nothing out of the ordinary here.
Each sprint, or iteration, was a week long and was capped off with an IPM that included a project demonstration.
"That's what blew Doug away," Brignac said. "Each week he'd see the progression and could make suggestions and changes."
The demos also served as built-in documentation.
"That's the other thing; we record everything," Brignac said. "So demos are recorded. You can actually see the app work with a voiceover explaining what's going on. So training is very simple. All you have to do is watch the videos."
What platform was built for this project?
As is usually the case, Gunner learned heavily on Amazon Web Services to build out the infrastructure for this project.
"We went with Serverless to build Microservices," Swann said. "This is pretty much the sliver bullet for architectures as it provides automated failover, backups and recoveries. It's Self-healing, redundant, highly available and scalable without lifting a finger."
Specifically, the team looked to AWS Amplify and AWS AppSync as a convenience to working with other services such as AWS Lambda (to execute code), Amazon API Gateway (to route API requests), Apollo (to interact with the GraphQL API), Amazon S3 (to store and retrieve files), Amazon SQS (for background processing and asynchronous notifications), Amazon SNS (to deliver SMS notifications), Amazon SES (to deliver email notifications), and Amazon Cognito (for user management, authentication and resource authorization).
Additionally, Gunner created three separate environments - development, staging and Production - to implement a Continuous Development, Git-based, DevOps framework leveraging technologies such as AWS CodeCommit, AWS CodeDeploy, AWS CodePipeline and AWS CodeBuild.
How did this project benefit the client?
The new digital format for the Notebook allowed Jewett to reach a new audience.
It also helped him cut costs dramatically as updates could be delivered without costly printing and shipping.
Why was Gunner selected for this project?
Jewett met Swann at a community function and after learning what Swann did, Jewett approached him with his idea for the Notebook.
"He was a bit like an abused puppy," Swann said. "And that's very typical in situations like this. He had taken his idea to a few other firms and was mortified by the quotes he received."
The two met to discuss some details and Jewett quickly rekindled his passion for the project.
"Our quote was about 10% of the other quotes he had gotten," Swann said. "The last thing we want to do is eat up all of an entrepreneur's budget before they get off the ground. That kills the project before it starts."
What are similar projects Gunner has worked on?
What tools, techniques and methodologies were used on this project?