Post Mortem Discussion
Check out wireframs of this project
Check out photos of this project
Check out architectural diagrams of this project
What was the problem to be solved?
Matt Peterson is an active duty serviceman and entrepreneur who created an idea to crowdsource decision making via a social platform.
The idea was to allow users to post simple, binary items such as "Which one should I get for lunch?", including a photo of each item.
The app alerts other Shudi users about the post and places it in a global feed for all users to see.
Users can then vote for which option they suggest and comment to tell the creator why they voted the way they did.
The problem was that Matt couldn't find anyone to build it.
He tried outsourcing the project but got back a jumbled, non-functioning mess.
Having spent most of his budget with nothing to show for it, he was ready to give up.
What was the proposed solution?
With a tight budget and a dwindling passion, the Gunner Technology team knew it had to get something built for Peterson.
"He was in a situation we see a lot," Gunner founder and CEO, Cody Swann, said. "He had an idea and turned to outsourcing to get it built. It's an attractive idea because overseas outsourcing is so cheap. Unfortunately, it usually ends up being the more expensive option."
This forced the team to plan out a Minimum Viable Product that they could launch to build momentum.
"This was a zombie project," Swann said. "So we looked at like: What is the MVP that is fun and engaging, but also shows off the potential of what Shudi is and where it's headed."
What challenges arose during the project?
Budget was the big problem.
There virtually wasn't any left.
Even worse, the team realized that all the work the previous firm had done was worthless and would essentially need to be thrown away.
"The idea is brilliant and simple - surely nothing we haven't tackled before," Gunner COO, Kylie Ware, said. "And fortunately, we have a forward-thinking team that saw the potential in Shudi. We weren't worried about the budget for the initial build out because we believed in Matt and his vision. We knew there would be plenty of work in the future."
What was the technical approach to the project?
Fortunately, not only does Gunner have a team that is conducive to shoe-string budgets, it also has a technology stack that is as well.
"We have a partnership with Amazon Web Services, which allows us to offer enterprise-level infrastructure for virtually nothing," Swann said. "We also lean heavily on cutting edge technologies, which offer better quality at lower costs than your traditional enterprise stack."
The crux of the stack is React Native which allows Gunner to build Android and iOS apps using the same code.
"That's the funny thing," Swann said. "Matt was only thinking iOS and that's originally what he tried to have build, but when I told him we could build both Android and iOS for less than what he paid for the broken iOS build, I think his jaw dropped."
The React Native platform took advantaged of several supplemental technologies including Expo for prototyping, GraphQL via Apollo for API integration, Amazon DynamoDB for data persistence and storage, Amazon S3 for file and photo storage, AWS Lambda to execute the backend Node.js code, Amazon Pinpoint for mobile analytics, Amazon SES for sending emails, Amazon SNS for sending SMS messages, Amazon Cognito for authentication and account management, Amazon API Gateway to connect to Lambda, and AWS AppSync and AWS Amplify to make managing all these services easier.
"That was a no brainer," mobile developer, Elena Villanueva, said. "With a social app, you want to follow familiar patterns. Sharing, commenting, posting - these are all common actions that should be immediately familiar to a user. They shouldn't have to learn your design."
What was the project management approach to the project?
"There were few unknowns, so we didn't spend much time on a Research Sprint," Swann said. "What was unusually, was that, given Matt's situation where he was deployed overseas, we couldn't have our normal live demos at the end of each sprint. So we would record demos and send them to him, but sometimes he wouldn't be able to respond for a couple weeks."
In the end, this didn't prove to be a problem for the Gunner team as they finished the three-month project two weeks early.
"I honestly think this may have been the smoothest project we've ever taken on," Swann said.
What platform was built for this project?
Amazon Web Service provided the backbone of the app's infrastructure.
"That's not really a surprise, considering AWS offers fully managed services that provide the skill of a giant ops and admin team with almost none of the cost," Gunner solution architect, Ethan Sloan, said. "We're able to put together a high Security, Self-healing infrastructure with enterprise level Availability, Reliability and Scalability."
Finally, for 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.
"Sounds impressive, right?" Swann said. "And it is. And yet, for all that, we charge Matt less than $15 a month in hosting costs."
What did you learn from working on this project?
At the time, AWS Amplify was just being released, so the Gunner team had to learn how to use it.
"That's the fun and frustration with cutting-edge tech," Villanueva said. "More fun that frustrating in this case especially because Amplify is well-documented and Open Source."
Since then, the team has used Amplify in numerous other projects, so it was well worth the effort.
"Despite the learning curve, we released quicker than we would have without it," Swann said.
How did this project benefit the client?
The original firm that Peterson outsourced this project to delivered a non-functional iOS app with a budget that was 10 times the size of Gunner's and took twice as long to deliver.
And when the app was "finished" it didn't even work.
"With a fraction of the budget, we delivered and deployed fully functional iOS and Android apps," Swann said. "The previous team couldn't even release an iOS version."
Why was Gunner selected for this project?
Gunner had the unique ability to focus on what was important to manage budget and time constraints while still creating a fun application which definitely highlights Shudi's potential.
Gunner provided valuable business process insights as well, helping to create a plan to get from prototype to investment.
What are similar projects Gunner has worked on?
What tools, techniques and methodologies were used on this project?