At the end of March 2022 we held our first in-person hack day since before the global pandemic.
It was a fantastic chance to get the team together, drink a lot of coffee, and get our creative juices flowing.
As always, it’s incredible to see what can be achieved in a single day with a small and close-knit, focused team.
Here’s a quick look at what we created on the day, before getting some pizza to wrap up.
Engage Email Reports
As our customer base grows for GoSquared Engage, we’ve been seeing more and more demand for better reporting and insights around how automated messages and campaigns are performing over time. We’d been itching to solve some of these problems for ages, so we set this as one of our key goals for the day — make it easier for customers to understand what’s working in the platform.
James on the design:
I focused on creating some quick designs for how Engage Reports could look, based on my understanding of the data we may be able to fetch on the day, and what customers want to see on a regular basis.
I worked on a simple design, influenced by our Analytics Reports, and collaborated with the engineering team to ensure I understood what data we could pull out in time for demos later.
A key goal was to surface data that we already have in the platform, but don’t currently surface to customers, to help customers improve their campaigns with a better understanding of current performance.
JT on the data fetching:
My main focus for the hack day was to answer the question: Based on our ideas for Engage email reports, what data can we fetch from our sending metrics? We collect a variety of metrics on all messages sent through our automation and messaging system, including when messages are sent, delivered, bounced or clicked. My goal was to see how we could process that data into a format that’s useful for presenting in a report.
Broadcasts, Messages and Sequences — within a certain time range, you want to know how many sends, deliveries, opens, bounces, clicks and unsubscribes each gets. In addition to that, you want to be able to see this all on a per-message basis so you can see exactly how your individual sequences and broadcasts are performing. And then you want to see how that’s evolving over time (what if you just made a change to a sequence and suddenly your open rate dropped by 80%?) so it should be able to fetch and compare historical data from the previous week too.
More that just headline metrics though, with the data we collect, it should be possible to join everything together across Broadcasts, Messages and Sequences to see how it all fits together for your users. Has one user received 15 different emails from you in the space of just a week? If so, where did they come from and how could you tweak your audience selection criteria to avoid bombarding any individual user?
Russell on the HTML build-out:
For our Engage Reports, I worked on bringing James’ designs to life in an HTML email, populated with the data JT was able to fetch, through the simplicity and magic of HMTL and JavaScript.
Just as you’d use a boilerplate to quickly spin up the fundamentals for an app for a hackday, I used our Free HTML Email Builder to quickly structure out a responsive HTML email based on James’ design.
Having not worked with HTML emails or EJS templates in quite a while, I jumped head first into those icy waters, Wim Hoff style.
I broke out the HTML into reusable components we could include in our iteration loops for the multiple automations of each type (Broadcasts, Messages and Sequences) our users have set up. Then it was just a matter of populating the templates with JSON data JT had fetched, and voila – Engage email reports were alive.
Improved internal tooling for understanding our largest customers
Chris on exploration:
I reflected / investigated the following tasks to help us run our customer success operations more effectively:
- How do I automate feature-activation reports on a customer which does not fit our standard account/user model?
- How can I automate usage reports on individual projects of one account?
- How can I address manual processes in shared enterprise customer documents, which currently present a high risk of human error?
- How can I look to simplify an existing enterprise customer pricing agreement, both for existing and future clients?
- How can I address grey areas in an existing enterprise contract?
- How can I mitigate issues which have affected the customers of a customer?
While many of Chris’s challenges were specific to us internally at GoSquared, it highlights how valuable it can be to have focus time and minimal distractions for a day in any role — what can be achieved is outstanding.
Better Notification Emails
Matt on the implementation:
I am new to working on email templates so the first part of my day was getting my head around our schedulr code for queueing and executing email message jobs and email testing environment.
I then looked to play with the designs of our original email templates changing our Weekly report emails from grey to white backgrounds.
My aim with the hackday was to help people know the performance of their environments. I decided to add the daily and weekly performance to our Smart Group trigger notifications, so customers have a clue on the overall growth or decline of various Smart Groups. This is particularly useful when you are measuring new leads signing up through GoSquared Forms.
Contraints breed creativity
It’s easy to assume that a big project can’t be achieved in a day.
Often, that’s correct — when you have ambitious goals for bringing new things into the world, the chances are you can’t accomplish everything in a day. But we’re always amazed at how much progress can be made, and how far you can prove an idea if you give it aggressive focus and constraints.
Even if you’re not a team with developers in house, we highly recommend giving yourself a day every now and again to get together and focus on achieving something. You may be amazed at the results and creativity it breeds.
Done your own hack day recently? We’d love to hear about it — let us know via Twitter!