Haaaave you met Watty?
We have never thought twice about building internal tools here at Semantics3. Thanks to our engineering roots (all three of our founders are engineers), we have always believed that an investment in tooling (and by extension the productivity of engineers) will pay dividends in the long run. Also, while dealing with distributed systems at the scale that we do, a developer toolset that is easily and uniformly accessible by everyone in the team, becomes inevitable. We are always looking for newer ways to extend this toolset so that we can do our day-to-day chores in a quicker, less error-prone and a more efficient (and possibly more fun?) manner. To that end, allow me to introduce you to our latest creation — Watty (@wyw)!
Watty is a Hubot customized to improve the productivity of our team.
Originally built by the folks at GitHub, the Hubot project has now taken a life of its own with hundreds of community-written scripts available that provide additional functionality. Through the Slack adapter, Watty has become an integral member of our team who is always (no DnD hours unlike us humans) just a DM away.
In this post, I describe some of Watty’s current capabilities. If you are interested in running your own Chat bot, check out the incredibly helpful Hubot docs.
automating build and deploy
Building and deployment can be greatly simplified (à la ChatOps). For example, this very blog is brought to the Internet by Watty:
Of course, with great power comes great responsibility, so restrictions can be built in to prevent mischief:
If you would like to know more about how a Hubot can be integrated into your team’s development workflow, I recommend taking a look at atmos/hubot-deploy which teaches a Hubot the GitHub Flow.
consolidating information
We are big fans of Stripe here and use it for all our payment-handling needs. They have a Slack app but we realized that we needed more control while reporting Stripe events.
By allowing Stripe webhooks to be sent to Watty, we are now able to present our Stripe activity with a little more class!
monitoring vendors
As our flagship product is an API, we understand the importance of maintaining uptime. We also know that outages do happen from time to time — so it pays to keep track of the third-party services that we depend on & raise alerts when things go wrong.
By periodically listening to various status pages around the Internet, we try to make sure that we are always on top of events that concern us.