Post Mortem Discussion
Check out photos of this project
Check out architectural diagrams of this project
What was the problem to be solved?
As a small company that was hugely reliant on Internet sales, digital marketing was crucial for Country Shore.
Specifically, Facebook generated a large chunk of Country Shore's sales.
Country Shore found that it could increase the number of sales more with online customer service via Facebook messenger, but unfortunately, wasn't staffed to be able to man it at all times.
What was the proposed solution?
At the time, Facebook did not offer the ability to build canned chatbots, so we proposed we build our own.
The chatbot would be part of Facebook's Messenger platform for pages and respond when people contact the Country Shore Facebook Page.
The vast majority of people who were contacting Country Shore either wanted to know how they could get discounts, where their order was or how to return something.
So we figured we would try to solve this problems with the chatbot and anything that didn't fall into these categories, the chatbot would prompt the user to enter their email into the chatbot which would send a support request to Country Shore and also send the customer a discount to their email address.
What challenges arose during the project?
What was the technical approach to the project?
We leveraged AWS Lambda to create a lot of Node-based Microservices in the Open Source Serverless framework.
Each microservice had one purpose - check Facebook messages, parse a Message, Create a Message, fetch order from Shopify, add contact to Mailchimp, etc, etc.
We mirrored this locally for testing using Mocha and the Serverless framework's local plugin.
In all, we coordinated APIs between Shopify, Mailchimp and Facebook.
Additionally, we tweaked Country Shore's ads to send users to the messenger with a specific phrase which would trigger the bot to ask them to sign up for the Country Shore newsletter in return for a $10 gift card.
What was the project management approach to the project?
We took an Agile Scrum approach to the project with one-week iterations and an IPM each week to demonstrate our progress.
We started with one Research Sprint to learn about the AdWords and Facebook Ads APIs, and after that, we worked in development sprints until completion.
What did you learn from working on this project?
We learned a lot about creating bots.
And while ours was pretty simple (we looked for certain words - for example "Where's my", "I ordered"), the logic without a dedicated framework like AWS Lex can get pretty complicated pretty quickly.
How did this project benefit the client?
Country Shore was able to reduce manpower on the Facebook Page, but also increased revenue by 5% just from auto-issuing discounts with the chatbot.
Why was Gunner selected for this project?
Gunner Technology has had a long-standing relationship with Country Shore as we helped set up their entire technology infrastructure when the company launched and are constantly automating redundant tasks for them.
Who worked on this project?
What tools, techniques and methodologies were used on this project?
Agile software development refers to a group of software development methodologies based on iterative development, where requirements and solutions evolve through collaboration between self-organizing cross-functional teams
Monitor AWS resources and custom metrics generated by your applications and services
AWS CodeCommit is a fully-managed source control service that hosts secure Git-based repositories.
A Region is a geographical area, which consists of two or more Availability Zones, which are synonymous for a Data Center.
Ruby is a dynamic, interpreted, open source programming language with a focus on simplicity and productivity.
Rails is a web application development framework written in the Ruby programming language
Scrum is a framework for project management that emphasizes teamwork, accountability and iterative progress toward a well-defined goal.
Build web, mobile and IoT applications with serverless architectures using AWS Lambda, Azure Functions, Google CloudFunctions & more