Snowboards, GraphQL and Coaching: In dialogue with our customer Blue Tomato
Tell us about Blue Tomato. What should people who've never heard of you know about you?
Blue Tomato is a snowboard, free ski, skate and surf retailer from Schladming in Styria. Blue Tomato grew out of a snowboard school and then primarily became a retailer. We actually also grew more in the digital and online sector until about 2012. Since 2012 our parent company Zumiez has been a strong partner on our side. Since then, we have been growing strongly both brick-and-mortar and online. We now have over 50 stores in Europe and a strong international online store. As a company, we are not only interested in selling products, but also in supporting the community, organising events, sponsoring talented athletes, and sharing our knowledge and experience.
Where is the intersection with SaaS development?
For our online presence, we relied on Hybris quite early on. Over the last few years, it has become clear that a solid web store is only the baseline. You have to work on other areas as well. And the actual process is also becoming more and more complex.
On the one hand, we have grown strongly in recent years and have opened many new stores. We now have to support processes based on the fact that we no longer have just one warehouse, but many locations in different countries and therefore many different routes.
On the other hand, because we want to offer an online experience that goes beyond a run-of-the-mill online store. This can only work if you develop internally and if you use tools, systems and landscapes that support this rapid development.
“We didn't want to create a complete CMS environment with servers and everything in addition to our online store. We are going our own way.”
That's the direction we went in from 2015, 2016. We built a team and developed systems and interfaces. But we needed to figure out if this thing we were building was up to industry standard. This is where we approached you guys.
How are you set up technically?
On the frontend side, we relied on React internally early on. By now, we're converting the entire store to React. We have a solid enterprise system that handles our online orders (Hybris in the commerce area). For the internal system, we use the open source CMS Processwire. We are also actively developing there and have made a virtue out of necessity.
We didn't want to create a complete CMS environment with servers and everything in addition to our online store. We are going our own way. In the beginning, we pre-rendered pages statically and then looped them through. Now we rely on GraphQL and use it more or less as our front-end interface.
Andreas Augustin - Head of Digital Customer Experience at Blue Tomato
And then we combined all our content - from the CMS, the product search engine, the webshop - using GraphQL and also integrated Elasticsearch. Everything is now quickly accessible there. As a content search engine, but also for ordinary content. So if I want to display anything, I no longer go to the CMS, but fetch everything from pre-rendered and pre-developed documents in Elasticsearch. We are now bringing this solution to the entire webshop.
How do you guys work internally? Tell us a bit about the processes. Not including all the coffee breaks, of course.
The coffee breaks are very flexible (laughs) and the rest is as well, actually. With development partners, we work partly in a Scrum process, but internally, we rely on a flexible Kanban solution because we don't have pure development teams. This gives us the opportunity to keep a lot of things lean and to say: "Here we want to define the process more intensively. There, we want to be more flexible and see how that works."
What exactly did our collaboration look like?
The collaboration with Carrot & Company was born out of necessity. A senior developer of ours left and we had to make sure that the new developers were not left dangling. That's why we wanted Christian Haintz - so your CTO - to be the interim team lead and then we used this opportunity to review all of our internally developed landscapes and processes together. The collaboration was a very good preparation for us to be able to do everything ourselves now.
We did a technical evaluation or concept together with you. What was that exactly?
On the one hand, we had to think about how to build the frontend and the backend for the frontend. But mostly it was about the question: Are we on the right track with our system - GraphQL, the React development, and the more traditional JSP? Can we migrate the whole thing on the fly and bring everything over to one technology? Can all the processes and, more importantly, the system withstand it?
We first started with our blog Blueworld because we could experiment with technology and infrastructure here. We wanted to find out if that was the right way to go, and then merge that with the commerce area as well.
And we also managed something with additional test instances at that time. Separation into staging and so on was also still an issue. We made sure that the areas we were building would hold up to what we intended them to be.
You mentioned it earlier, Christian took on the role as interim team lead. What was that like for you guys, working with someone from outside in that role?
Positive, I have to say. I had some doubts at first, but we did a good job of defining what his responsibilities were and what he couldn't easily take on as an external person. We focused primarily on training and skill development for the employees. At the same time, the focus was on technical supervision. He was here for one day and interacted with the people and discussed the problems and challenges. I just recently talked to everybody in that department and it was very, very positive for them all.
“The support of our employees was certainly the most helpful. The possibility to develop ideas with Christian, to optimise them and to use the mentoring that came from him.”
Looking back, was there anything we could have done better?
No. For us, it was important that we challenged our processes and technology and that we continued to educate people and that worked well. Everyone who participated developed very well and Christian certainly contributed to that as well. This is a stable team and they are able to handle any challenges on their own.
Where do you think we've been able to help the most? With what kind of problem would you come to us?
The support of our employees was certainly the most helpful. The possibility to develop ideas with Christian, to optimise them and to use the mentoring that came from him. This is probably where we could take the next step of maturing together.
We are multiple teams now. We do have more structured processes that we need to do. So there are new challenges. For example, validating the whole software development process, or maybe co-developing it. So even apart from pure software development, which you also offer, or your SaaS solutions, I see that as an essential factor for us.
Would you work with us again in the future?
Yes, absolutely. As I said, the cooperation was very positive, and it also led to a point where the team did a great job even without support. We have now also developed a team leader out of it. Everything looks great. And if there's something either development-wise or software management-wise, I don't see any reason why we shouldn't be able to work together.
Do you also want to work with us?