How a loyalty app motivates 1 million people to live more healthy
It might be the great chemistry among the Creative Dock team developing the Muj Albert app that contributed to its success. How to achieve over a million downloads and the perfect balance of work and play?
Every tenth person in the Czech Republic has downloaded the Muj Albert (My Albert) app, created for Ahold Delhaize. That’s more than 1M downloads in the 6 months since its launch. Seeing in real time how your work and constant improvements reach hundreds of thousands of people is every creator’s joy. We asked the team members for insights into their IT magic and more.
Pavel Suchanek (Project Lead): We’re friends, that’s it
You have founded several startups, including Restu.cz. How do your previous projects differ from Muj Albert?
The difference was that Restu had developers in small towns in Northern Bohemia. Here, I have the opportunity to work with developers on daily basis, and it does mean something. It really shows in the relationships.
Your team is among the best in Creative Dock at the moment. How did you manage that?
Don’t tell this to Marek Krejza, the Group CTO. (laughs) But I think it’s because we like spending time together outside of office hours, which makes working on the team enjoyable and motivating. We might go for a beer or hike together. We’re friends, that’s it.
Is this your doing, or does it have to do with the client?
It’s definitely not just me. I’m probably contributing to it, but people were happy here before I came. Historically, a lot of things have been done right. You also need a bit of luck to choose people who’ll get along well. Plus, it’s crucial to convince the client that you really care, that you want the app to work and will do your very best to fix any bugs right away. And that’s how we earned the client’s trust, which makes our work much easier.
Jan Bertl (Project Manager): We innovate on our own and we have the tools to do it
What did the project look like in the beginning?
In the initial stages, we discussed with the client what exactly needs to be built. We were taking into account customers’ real needs, not just the functionalities of similar apps already made by the competitors. This was done by our innovation team maybe a year before I even joined the project. Creative Dock has its own methodology: figure out the proposition, design it, test it. Our primary concern was to answer the real needs of real people. But then there are always the needs of the client… Because the client often has different interests than the end user. (laughs) Since the very beginning, Creative Dock’s role was to make sure that the end users were always accounted for.
And do you still prioritize customer needs today?
We still believe our role is that of an innovation consultant. Together with the product specialists on the client side, we put together ideas on how to move things forward. So, we’re not just a “code factory”, but often a driver of where the product is headed. What the new features are going to be, what it’s going to look like, how the integrations with other apps within the Albert ecosystem are going to work.
So it’s not just your ordinary app?
It’s really interesting. We aren’t talking about just a standalone app. You need to link it to key Albert systems and various data sources. For example, we’re now working on integrating Albert Scan, which is a standalone app for now. But we’re going to integrate it into ours and thus make it available to a huge number of users. The synergy is amazing. It will help Albert offer that functionality to hundreds of thousands of active users.
If I join your team and have some ideas, will you hear me out?
Yes, we are really open-minded. We have regular reviews and meetings where we workshop future functionalities. These are our internal activities, but we then present the results to the client and together, we try to figure out how to push things forward.
Adam Hanka (Data Scientist): The current trend is merging information
How much does personalization pay off today? After all, big data is extremely demanding in terms of know-how and maybe even technology.
Technologically, it’s not that complicated. What’s more difficult is to understand the use case — what exactly you want to personalize for your client. And personalization varies greatly depending on what products the client is selling.
Are you building it as a non-personalized app first?
We begin with developing the product in a basic form. Initially, it’s the same for all users, and then we gradually add the personalization. You develop the app first and start collecting data on how your users behave. And then, based on who uses the app and how they use it, you’re able to develop the personalization secondarily.
But online personalized ads are annoying.
Only if done wrong. The dumbest thing that can happen with personalized ads on the web is that you buy something and then keep seeing ads for it for another six months. That’s completely useless. You want to predict what customers are going to want to buy. Not just show them ads because they visited a website.
What’s the hottest thing in customization right now?
The trend is to link products to some other information that creates extra customer value. If I know that a customer is buying tomatoes and basil, I can try offering them spaghetti and parmesan cheese. And on top of that give them a recipe for a fantastic pasta they can make at home. The current trend is merging information.
Annika Skalicka (Marketing Director): I don’t think Albert has any competition on the digital market at this point
What’s it like working with a client who has never had the digital at its core?
There are two pitfalls. As such, Albert is a big company, a corporation with specific processes. And it needs time to make decisions.
That’s the reason why Albert hired Creative Dock — to speed things up, right?
It sure is. (laughs)
Did the client originally just want to replace paper cards with the app? Or was it a more complex transformation right from the start?
With the launch of the Muj Albert app, the client wanted to completely transform their business and take it to the next level. They are simultaneously working on going packaging-free, a circular approach, and digitizing everything in a way that will be enjoyable for customers. Of course, in doing so, they are also losing some of the analogue users who don’t own smartphones. Albert never even had your old-school physical loyalty cards. With the app’s kick-off, they went straight to the digital card.
How digital can a company get when it’s built on brick-and-mortar stores?
Being a supermarket chain, they need to get rid of all the unnecessary paper and printing. All grocery stores use leaflets, it’s all paper everywhere. Albert only does digital leaflets now and even its magazine should become digital only in the future. The whole leaflet is already embedded in the app, product by product. The whole thing actually works like one big leaflet, just more intelligently marketed. So to get rid of all the nonsense like receipts, plastic cards, or flyers, they threw it all into one app. Same as now awaits Albert Scan, which is another tool that makes shopping easier.
Do you feel that Albert has changed over the years?
I used to think of Albert as a rather unattractive and unfashionable store, just not for me. But from the moment they began putting more thought into what kind of food is in their stores while staying affordable, I feel like they’ve really shifted. Not to mention that they’re going the extra mile now in going package-free.
And it seems to me that the app is becoming the center of their business. Of course, they’ll always retain some brand depth with TV, social media, in-store campaigns, and the like, but Albert is just pretty far along, it has been pushing things forward and will continue to do so. And I don’t think the company has any competition on the digital market among similar apps right now.
Petr Soulek (DevOps): I try something new every day
How much influence do you have on the choice of technologies you use to run the app?
There has been some outline from the beginning, we were always supposed to build the app in Azure. However, the choice of Kubernetes, their orchestrator, and the whole infrastructure stack was up to me. But actually it’s hard to say — and that’s what I like about our work, too — because sometimes other folks come in and they want to try out a new tool, so we do that. Sometimes I’m the one who wants to try something new. I’m not even going to try and count the man-days we’ve spent on dead ends. (laughs)
With such a rapid increase in downloads, what does this mean for the app and/or for you?
After the first 100K, I realized what I’m actually working on and that it’s one of those “peaks” for a DevOps person or a System Engineer or whatever you want to call me. Until then, it was just “that Albert app” for me. Now that just a few milliseconds of downtime can impact hundreds of thousands of users, well, that’s pretty cool right?
How was the migration from Creative Dock to Albert?
Smooth. (laughs)
Is it common for projects like this to migrate to the client?
I think it’s relatively common here at Creative Dock, probably less so elsewhere. Originally, we were the only ones supposed to host the project. However, based on the client’s request, it was eventually going to be hosted in Azure. So we kind of knew that at some point there was going to be a migration and that the client would take over using their Microsoft cloud.
And the transition was smooth, then?
It’s all in the preparation. The migration itself was this fun office all-nighter, drinking beer and eating heaps of food. Adam, our frontend developer, even played us a live set, and he wasn’t even needed there! But, mind you, the preparation took almost a year and we hit a lot of obstacles, quite naturally. Things that would normally take us 10 minutes often took five people and two mandays in the new cloud. Plus: approvals, design, and some pretty pictures. (laughs) So the prep for the migration itself actually meant building it all over again, in a slightly different way, in their cloud. And then there was some kind of black magic taking place. Some stuff that worked for us just did not work for them. (laughs) So the whole thing basically took us 9 months.
David Novak (Frontend & Backend Developer): Ten milliseconds can make a huge difference
From a developer’s perspective, what trends are you seeing in Albert?
In terms of backend — when the project started, we decided to build it in Kotlin. At that time (minus two years), things like that were commonly programmed in Java. So doing it in Kotlin was a bit of a risk technologically. It would have been much easier to write it in Java, with the caveat that the language was more complicated. Now, in retrospect, I’d say we did the right thing by choosing Kotlin.
Can you describe what you use in more detail?
The classics. Postgres, Redis, Kafka, and so on. We have all the services in Spring Boot, we work with the database using Hibernate. It would be great to have everything 100% reactive, but at the time we began writing the project, Hibernate wasn’t reactive yet. It would be absolutely ideal to have everything in coroutines, and I think we’ll get there one day. We’re slowly improving it. It’s actually cool that there’s a lot of room for improvement in the app. Say you speed up an important request by just 10 milliseconds — that alone is going to make a huge difference.
And as for the frontend?
This is of course React Native in TypeScript. That was pretty much a broken-in technology even back in those days. So we have Redux for state management, Saga for side effects, and we code the design system ourselves. We don’t have any design library like MaterialUI or Ant Design.
Are there any specific technologies here at Creative Dock?
Projects that use similar technologies to ours are common here. Backend is mostly written in Kotlin — there’s one in Node and I think for some simpler apps that’s a better choice — and the frontend is written in React Native. But I think we have a project in Flutter as well.
If I joined your team but didn’t know a certain technology, how would you deal with that?
We have people who know the technologies, who will sit down with you and show you how they work. So if a person only knows, say, Kotlin (or Java, JavaScript, Python, …) but wants to learn, they can successfully take part in any of our projects. Even a skilled junior has a chance with us.
What’s the most fascinating part of your job?
The fact that you can work on improving an app that’s already used by a million people. It has a lot of potential. Like I said, even small upgrades can have a huge impact.
And what’s the relationship between the client and you, the tech specialists?
Albert’s certainly not the kind of client that has to have their way at all costs. Even if they’re businesspeople. (laughs) All you need is to come up with good arguments and be able to communicate them well. That’s mainly the CTO’s challenge. And I think from a business point of view, Honza (Product Lead) and Pavel (Project Manager) are real pros. They’re people you can lean on. If the CTO comes up with, say, a technical proposal, they’re the people who know what it’s about, and explain everything to the client.