Post Mortem Discussion
Check out photos of this project
Check out architectural diagrams of this project
What was the problem to be solved?
Palm Beach Broadcasting, LLC owns and operates radio stations in Palm Beach County.
The company broadcasts music and entertainment, as well as information on local news, traffic, and weather.
It also offers listeners and advertisers with local marketing resources, as well as provides advertising and marketing opportunities.
The company was founded in 2002 and is based in West Palm Beach, Florida.
One thing all the radio stations owned by PBB does is event marketing; often in the parking lots of music concerts and other similar type events.
The common thread among these venues is the volume of foot traffic, which often renders cell data useless.
"If you've ever been to a concert or a football game, or something like that, you've probably experienced this problem," Gunner Technology CEO, Cody Swann, said. "You have full bars, but you're not getting any data and none of your apps work."
This presented a problem for PBB, which wanted to collect email addresses for marketing purposes electronically, but had no way to save them.
Instead, they reverted to pen and paper signup forms, which were difficult to read and required manual entry after the event; not to mention they were not environmentally friendly.
"They were missing out on so many signups, simply because the papers would get lost or couldn't be read," Swann said. "Not to mention the man hours that went into copying the data into a digital system."
What was the proposed solution?
Gunner Technology CEO, Cody Swann, encountered a PBB-owned station doing this at a concert and proposed a solution.
"This was the perfect fit for a React Native app with AWS AppSync," Swann said. "The app would function regardless of whether data is being transimitted over the air. If it couldn't get out, the app would store the data locally and then transmit it when the app was connected and could send data out."
And as a React Native app, it would run on any Android or iOS device.
The app would provide a simple interface for users and simple analytics (such as how many email addresses are stored on the app) for administrators who could, at any point, push all email and other data from the device to the cloud.
What challenges arose during the project?
The team did encounter one challenge, which was satisfying the request that the app be able to be skinned by administrators and also change the opt-in language and branding on an event-by-event language.
What was the technical approach to the project?
The first thing the team had to do was build out some simple wireframes using Adobe Photoshop.
These were very basic and included three different screens:
"The UI was never the complicated part of this app," Gunner project manager, Caitlin Walton, said. "We just needed some clean forms and messenging."
Once the wireframes were approved, the team moved on to building a static app that implemented the design.
"Unless there is good reason not to, we use Google's Material Design, Design Framework when building apps," Gunner UI designer, Cory Schneider said. "Millions of people out there are already familiar and comfortable with it. So why redesign a stop sign if everyone recognizes it?"
Once the moving parts were in place, the team moved on to wiring it up.
This combo creates an integrated stack consisting of Apollo as a GraphQL client, Amazon DynamoDB to persist data, Amazon API Gateway to front requests to Node.js AWS Lambda functions and Amazon Cognito to authenticate those requests.
Apollo would ensure the data was persisted locally and sync it remotely when able to do so.
The actual emails were sent to the participants using Amazon SES.
What was the project management approach to the project?
The team generally allotes half time for end-user testing and final deployment, so if a project requres two months of development, the team will estimate three months total for development, testing and launch.
What platform was built for this project?
Jest was used in the deployment pipeline to run unit and integration tests against the code base and any failures would halt the deployment process.
What did you learn from working on this project?
This was an extremely compressed deadline, so the team learned the importance of creating an exhaustive list of user stories.
There simply wasn't time for the team to keep adding new scope.
How did this project benefit the client?
PBB has deployed the app to all of their radio stations and has been able to save roughly 10 hours a week they previously spent on data entry.
Additionally, they save roughly $200 per event on print costs and have reduced their carbon footprint significantly.
Why was Gunner selected for this project?
PBB didn't even know this was possible until Gunner suggested it, so we had a pretty good inside track to getting the gig.
That said, Gunner had done similar work in marketing for Country Shore so there were some case studies to show PBB as illustrations.
What tools, techniques and methodologies were used on this project?