Grafana Labs Hackathon 2021: The story behind Grafana Stories™
I joined Grafana Labs last year as a software engineer in the Enterprise Plugins team and then moved to the Cloud Data Sources team as an engineering manager this year.
When our first company-wide hackathon was announced in June, I decided to participate for a few reasons. After moving to the manager track, I thought it was a great opportunity to do some coding between meetings. Secondly, while ideas are always encouraged at Grafana Labs, and there are always interesting and challenging projects, it was a nice chance to sit down and focus on something that can be more out of the box and creative. And finally, I wanted to set an example for my team. When it comes to personal development or finding personal projects, I regularly encourage the team to take a break from Business As Usual (BAU) work. I feel like it can be a bit hypocritical if I didn’t also participate in this hackathon myself while suggesting the team do so.
The elevator pitch
A few ideas came to mind for the hackathon; however, one stood out particularly, which ticked the following boxes:
- Keep Grafana on the cutting edge
- Stay one step ahead of competitors
- Reach the next generation of users
- Well-loved feature on biggest and best platforms (including Instagram, Facebook, Snapchat, Slack, WhatsApp, Visual Studio Code, UberEats)
[Drum roll please…] Introducing Grafana Stories™, where you can share recordings of your favorite dashboards, panels, and interactions to all your Grafana friends in your organization. Among the things that could be shared: updates and features for new versions of Grafana, handover notes for on-call support, tutorial videos, screen recordings for bug reports, or excellent metrics you want others to see.
Full disclosure: The only time I’ve used stories was years ago with Snapchat. I don’t use social media that much. I’m always more of a lurker, using it as a way to see what others are up to rather than share and post what’s going on with my own life. The inspiration came from seeing the common pattern nowadays with popular platforms, all coming out with their own implementation of stories even if the relevance of it doesn’t seem that obvious (UberEats is a perfect example). I thought it would also be fun to see how to implement this with Grafana.
If you’re interested in the technical details of the project, you can find the full forked repo here. And here’s a demo:
Working as a team of one
I ended up working on this project on my own, under the team name Vinki Minjaj. (Why? Because I love Vine (RIP 🪦) and Nicki Minaj.)
Since becoming an Engineering Manager, my calendar tends to be full of meetings, so I didn’t think it would be fair to work in a team if I’m not able to be flexible with my time and guarantee I’ll actually be able to contribute to the project. I also didn’t want to cancel any of these meetings because they were either with external stakeholders (cloud providers) or meetings that I’ve decided to take over from my team so they could focus on their own hackathon projects.
Time management and setting expectations were the biggest challenges: being able to block off time so I was able to focus and get my head down to punch out some code. Also, I learned to not be too ambitious with scope and to start small so I’m able to deliver something (similar to real-life projects, I guess!).
In the end, I was kind of surprised I was able to deliver something that I could demo with the time I managed to find in between meetings. I think a lot of it was due to core Grafana and the APIs being super easy to work with. The way core Grafana is designed nicely decouples everything, so it was fairly straightforward to add on this feature.
After I presented my project, it was great getting messages on Slack from other Grafanistas saying how much they enjoyed my pitch (which was very much in the style of Dragons’ Den/Shark Tank). But the best part of the hackathon was being able to see how creative everyone is at Grafana Labs and watch all of their presentations. It was clear that everyone had fun and was super immersed in their projects.
Grafana Labs is hiring! We’re a fully remote team spread across the globe, in 40+ countries on 6 continents. Check out our job openings here.