Post Mortem Discussion
Check out photos of this project
Check out architectural diagrams of this project
What was the problem to be solved?
The City of Jupiter, FL had a problem with an upswell in outdoor businesses violating noise ordinances.
Restaurants with outdoor entertainment became vogue in the posh town.
However, these eateries would run afoul of the city ordinances, which regulated sound levels at certain times of days.
The city relied on residents to report the violation and these reports were based on conjecture.
The residents would think the noise is too loud and complain.
This meant that the city would have to respond to the complaints and send out a tech who may arrive only to find out the sound levels were within compliance.
The tech would then have to setup expensive equipment to monitor the establishment for a week or so going forward.
At the same time, the businesses also didn't know if they were in violation so they, too, had to guess at noise levels.
What was the proposed solution?
Kurtrox proposed a solution that the city jumped on, which was to build devices connected to solar power which could be mounted outside such facilities.
The devices would monitor sound levels and change from green to yellow to red, allowing all parties involved to know if there was a violation.
The businesses would know if there was a violation by looking at the stop-light-like device to see if they were approaching red.
Once the device hit red, the onboard computer would notify the city who would know immediately a violation occurred.
Gunner Technology built the software for Kurtrox's embedded solution.
What challenges arose during the project?
There's no question this was a tough project.
Converting a raw volume reading into a decibel ratio required each device be baselined upon deployment.
Over-the-air firmware updates also became a challenge as did the sheer amount of data the software had to send via cellular data and also store for historical review.
What was the technical approach to the project?
The embedded devices were Beaglebone Blacks that ran off of constant power from a solar panel backed up by a battery.
When the devices came on for the first time, they would use Node.js to capture a baseline and then used this baseline to capture, calculate and broadcast a decibel level every second.
The insertion into DynamoDB tables placed the data in another Kinesis stream, which another Node.js Lambda process handled responding with the acceptance of the reading via a persistent socket (Green, Yellow, Red).
If the city desired, the companion web app could generate ad hoc reports based on device from the time it was first turned on.
What was the project management approach to the project?
Finding the right data plan and device was a huge unknown, so the team ended up starting the project with four Research Sprints to determine the best combination.
After the developers built a functional device prototype, they begin working on a standard sprint schedule until release:
1) One week feature sprint where the team added new functionality
2) One week QA sprint
3) One week bug sprint
Repeat until finished.
What platform was built for this project?
Amazon Web Service provided the backbone of the app's infrastructure.
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.
What did you learn from working on this project?
The team learned a lot about Big Data - especially in conjunction with AWS.
Gunner has tackled many projects in the Big Data realm, but this, perhaps, involved the largest per device volume of data the company has encountered.
How did this project benefit the client?
The City of Jupiter licensed the devices for $10,000 per device per location for a total of 100 devices.
While this was a steep outlay, it paid dividends for both the city (which didn't have to pay contractors to go out and measure sound levels) and businesses (which no longer had to guess whether they were in violation).
The intangible benefits to businesses is hard to measure since they didn't pay directly for the devices, but yet, attracted more businesses to the city when they no longer had to worry about sound ordinances.
The city enjoyed cost savings of nearly 10%.
Why was Gunner selected for this project?
What tools, techniques and methodologies were used on this project?