No Waste. No Limits: Scaling Product, Engineering and Impact at Too Good To Go
Checking session availability…
Hang tight while we load the latest updates.
Too Good To Go is best known for fighting food waste, but its growth story is also a lesson in how product and engineering teams evolve when impact, scale and operational discipline have to move together. From finding product-market fit in a friction-heavy marketplace to expanding across 20 markets, 120M+ registered users and 200K+ saving stores, the company has had to repeatedly adapt its systems, teams and product strategy as its impact grew.
In this talk, Morten Keldebæk shares Too Good To Go’s product and technology journey, from early marketplace validation through rapid country expansion, high-volume transactions and security demands, to the shift from one-size-fits-all scaling towards more tailored and diversified solutions. He will unpack what it took to scale the platform, where early team and product structures had to evolve, and how the company continues to build new solutions across campaigns, supermarket workflows, parcels and food-waste prevention.
No Waste. No Limits: Scaling Product, Engineering and Impact at Too Good To Go
Morten Keldebæk at UXDX EMEA. Video: https://youtu.be/pXa09825abU
Readable transcript: edited from the recording's captions for readability (fillers and false starts removed, punctuation and section headings added). Wording is the speaker's own. Timestamps are positions in the video. Names marked [?] could not be verified against the audio.
Introduction and the food waste problem
[00:00:00] I said good morning. Good morning. Nice to hear that, right? All right, my name is Morten and I'm the CTO of Too Good To Go. I'm originally an engineer, graduated from the Technical University of Denmark. Before I joined Too Good To Go, I spent approximately 10 years developing mobile phones as part of Nokia, then 10 years working on a run tracker called Endomondo, and then the last 8 years I've been at Too Good To Go.
[00:00:37] Today I'm going to tell you about how it is to work in product and tech development inside Too Good To Go, how it started and how our view on it has evolved over time. But first I'm going to tell you a little bit about who we are, what we do and why we exist. Then back to the main story of the day: our journey in tech and product, coming out of exactly nothing and growing to where we are today. And then finally I'm going to touch a little bit upon what the future will bring for us.
[00:01:16] To get started, how many of you knew that 40% of all the food that is produced in this world ends up as waste? 40%, right? It's a lot. It accounts for 10% of all the human-caused greenhouse gases that we emit. To put it into perspective, that is four times as much as the entire aviation industry. Not something that we normally think about.
[00:01:54] At Too Good To Go, we are on a mission. Our founders decided to do something, so our mission is to inspire and empower everyone to fight food waste. And we should all do it together; we can't do it alone.
What Too Good To Go is
[00:02:10] You may know Too Good To Go. Let me ask, how many of you know Too Good To Go? Can I see some hands through the lights here? It's some, right? It's actually most of you, and I'm happy to hear that, but I'm still going to tell you who we are, because I have the slides.
[00:02:34] We are the world's largest business-to-consumer marketplace for surplus food. To date, we have sold, or saved as we say, 600 million bags of surplus food from a lot of stores. We are live in 20 markets. We are live with 200,000 partners who are actively saving meals on our platform every day, and they are doing that with more than 120 million registered users across all our markets. We started out helping buffet restaurants and bakeries, but nowadays we help all sorts of food businesses, or food retailers to be more precise, in all our markets.
[00:03:23] Our solution is super simple. It's a marketplace. Our sellers, who are all the stores, use our web portal. They set stuff for sale every day. Our consumers go to the app store, download our app, find a meal that they like, reserve it, and they go to the store and pick it up. It's super simple and super easy.
[00:03:46] As I said before, we have sold 600 million bags by now, but getting to that has taken us through a lot of learnings and a lot of trouble. What you can see here on the slide is our growth curve. You can see that we started out in Denmark in 2015, and I have added a little flag every time we added a new country. You can see we are still adding countries; this year we added Japan as the latest. We plan to conquer the world, nothing less.
Four phases of development
[00:04:31] But today I am going to talk about tech and product. When I look back, I think we have been through four phases of development. I promise you that when it happened over the years, it didn't feel like phases. We didn't talk about phases, but we did take some deliberate choices every time we made a change, so I think it's relevant to talk about these phases even in the age of AI.
[00:05:01] The first phase that we went through was finding a proper product-market fit that could work for everyone. The second phase, when we thought we found it, was about scaling for growth: getting ready for many countries, getting ready for many types of food businesses, et cetera. Then at some point we felt ready to go into really optimizing the user experience, both for our partners and for our consumers. And then the final phase, hopefully not the final, but where we are right now, is that we are trying to diversify a little bit, tailor-making some solutions for certain groups of partners or certain groups of consumers. I'm going to walk you through all of these phases, so let's dive in.
Phase one: in search of product-market fit
[00:05:54] First, the very early days of Too Good To Go, in search of product-market fit. The observation that started Too Good To Go was that our original founders, a group of Danish friends, were having dinner together at a buffet restaurant, and they were there late. They were there at the time of closing, and they observed the staff at the restaurant basically just throwing all the food out. They felt a little bit provoked by that, and it started some thoughts.
[00:06:34] At the same time, in 2015, at least in Denmark but probably around the world, there was a lot of talk about change, about doing something for the environment, doing something for the climate. But people didn't know what to do. How can you in your everyday life do something that helps a little bit? They also talked about the need for cheaper food, which is probably an eternal truth; it's going to last forever.
[00:07:07] So the guys, they were all guys actually, were staring into an underutilized asset, which was the food, and an underserved need to do something about the environment and get cheap food. If you have those two things, you have the perfect ingredients for a marketplace. So they started a marketplace, and they did that really fast. But they quickly learned that this was not easy.
[00:07:39] The Too Good To Go concept has a lot of friction. Think about it. The stores don't know exactly what waste they have at the end of business, so we are basically asking the consumers to put down money and buy a surprise bag with food that they don't know what is. On top of that, we asked them to get off the couch and go to the store and pick up the food themselves. No delivery here. And we even asked them to do that at a specific time of day, which is typically the end of business for the partner stores, often in the evening or in the middle of dinner time. So not very convenient.
[00:08:23] We had to figure out how we, with the use of our brand and with the use of our app and user experience, could offset all of these disadvantages. How do we counter the surprise element? We learned and figured out that we could counter the surprise element with a low price. We ended up calling it 3X. Basically, if you buy food on Too Good To Go, it's one third of the original retail price, and that counters it. Then people will reserve the bags anyway.
[00:08:59] Then we had a lot of thinking about how we counter the fact that we ask people to go to the store in the evening. What we do with the brand and with the digital app experience is try to convey this message of doing something good for the environment and doing something good for your local store around the corner, helping them save food. We learned that that actually works. The consumers are surprisingly buying from us.
[00:09:30] Then you can also think about the inconvenience on the store side, the friction there. Suddenly we are sending a new type of consumer to the stores, and we are asking the store staff to pack bags right when they are closing up. I promise you that most of these people just want to wrap up and go home and watch TV or whatever they do at night. But instead we ask them to pack bags. Even though it's nice and easy to pack bags and hand them out, it is just not as easy as throwing out the food. So they also see friction, and we counter that with marketing help, with a feeling of doing good, and with a little bit of money. It took us time to figure that out and get it right in the digital product.
[00:10:21] Finally, sometime in 2018, I know the slide says 19, but it was in 2018, we felt that we were onto something. We had a model that worked for us, for the partners and for the consumers. Cocky as we were, we claimed internally: now we have product-market fit. We are ready to prepare for scaling to many more countries and many more food business types.
Phase two: scaling for growth
[00:10:55] This was still the early days. I want you to remember, we were a small team at this stage. This was about the time when I got hired myself as a CTO. I was employee number 10 in tech and product at the time. Employee number 10. We were a super small team. We knew we had to grow, but we also knew that we didn't have money to grow very fast, so we had to be really diligent about which problems we wanted to solve. We ended up with three scaling problems that we decided to focus on.
[00:11:37] We were looking into operating in multiple countries, not all of them in the EU anymore. This means languages, of course, but that's pretty easy these days. It also means food legislation, money legislation and data legislation, and we had to learn to deal with all of that. Our technical systems, our backend, were really not constructed for high load. It was an evolution of a proof of concept. So already at this time we had problems. If we were mentioned on national TV in one of our countries, we would typically crash, and we had long nights trying to get back up again. No fun in that, and we knew we had to fix it.
[00:12:26] Then I also just want to mention security. Boring. But we had some traction, and we were starting to talk to some partners that were big companies, like supermarket chains and other large chains. They asked us questions that we really could not answer. They wanted us to be able to prove that we were working in a secure way. So we had to go through all sorts of certification, SOC 2 attestation, working with pen testers, setting up a bounty program, just in order to be allowed to play with these big companies. That's a big thing if you're a small team.
[00:13:11] We also knew that at the same time we of course had to improve our product: tweak the user interface, make it more usable for both consumers and partners. And we knew that we had to spend a lot of time growing the org, hiring people. So something had to change.
[00:13:32] We realized that we had to get organized. Before that, I don't think you can talk about an organization. But we decided to organize, and we looked at the team and we thought, hey, we have all learned about squads and pods and tribes and product teams, but we are simply not enough people to do that. We wanted to do it, but we were not enough people. So we set up in a more old-fashioned way, where we were doing projects one at a time.
[00:14:01] We started out with these big projects that I mentioned before, like rewriting the backend, and I think we failed immediately, even before we got started. We tried to explain to the rest of the company that we would do this big project, there would be zero new features for half a year, and we would just work behind the scenes on improving the scalability. And we failed.
[00:14:27] Quite quickly, we made the most important learning that we have probably ever made at Too Good To Go: that we had to go small. Every project that we did had to be small, releasable for real. In two weeks, or in a month at the max, we had to release measurable, visible improvements.
[00:14:49] Let me give you an example of what we did. We ended up rewriting the complete backend, but we found a way so that we could move one API at a time from the old web app to the new web app, using the same underlying database. It took us some years to get it all done, but we got it done, and that's an accomplishment for a small company. We also rewrote the feed in the app, but took the same approach: super small steps, constantly improving, and being able to measure that we were doing something good, and releasing. So it worked out. I will say that to date, this is still the most important learning that we had at Too Good To Go. I recommend: always go small.
Phase three: product teams and user experience
[00:15:42] That was our project phase and scalability phase. At the end of 2021, we had grown the team while we were doing all these things. We had ended up being 50, 60 people, in that magnitude. The business was doing fine, unit economics looking fine, so we had bought permission to grow the team more. We had also completed the big scalability exercise. We knew what to do when we were opening in a new country. Our systems were stable, running across multiple Amazon regions. We were ready to take on the world. And security was on the way. We didn't have the certifications yet, but we were well underway at this time to receive a SOC 2 attestation, pen tester reports, what have you.
[00:16:33] At the same time, in our management team, we started talking about user experience for real. We always knew, we are not stupid, we are not from the old days, that user experience is important, but we never had the money or the team size to work structurally with it in a systematic way. But we agreed that it's the time. And at the same time, by coincidence, our developers were starting to show some level of frustration working on projects. They felt they were being kicked from one project to another project to a third project, and they lacked the feeling of continuation.
[00:17:18] All of these things together led us to decide that we need a change. This time we felt we were big enough to do as many other companies did and set up a product team organization. Decision made. At Too Good To Go, we are people of action. We do stuff, and we do stuff sometimes without thinking too much about it. We bought the Inspired book, that most of you probably know, for all the employees. We arranged group readings, and we agreed with the whole team that this was the right move. And then we just set the teams.
[00:18:03] This slide here is a screenshot of the original spreadsheet where we set the original teams. It was super naive. We just set the teams and we said go. And I promise you that if we had never seen chaos before, now we saw chaos. This was crazy. This is probably the boldest and stupidest move I have ever made in my career.
[00:18:29] Two months into this change project, we had to call an external agency, a company who had helped other companies bigger than us set up this structure. They came out and helped us set the right team structure, the right meetings, the right KPIs, the right everything. I have to say that I was nervous at that time, but less than half a year after we made the change, we felt productive across all the teams. So it came with a happy ending.
[00:19:02] Now we had these teams, and they were focusing on experiences. We had a team focusing on onboarding. We had a team focusing on checkout. And it worked for us. I guess you have a similar experience. All those experiences got better. We changed the outcome in the sense that we changed all the conversion rates, and it had impact on the business. We saved more meals. So all is great.
[00:19:32] There were also a few negative learnings that I want to tell you about. When these teams were set, and they were so busy working on their own roadmaps, working on the experiences that we asked them to work on, then something came in from the side. There was a bug that wasn't really related to onboarding, it wasn't really related to checkout. It was related to something where we didn't have a team. We had a lot of trouble making that work. A lot of stuff was falling between the cracks, and it required us to reset the teams, kill some teams, start other teams, move people around, work with the KPIs, work with the OKRs, et cetera. I guess you probably have seen something similar. But in the end it worked out, and we moved on.
Phase four: diversification and working across the company
[00:20:31] We grew and grew and grew. Sometime in 2024, approximately two and a half years after this happened, we had grown to more than 150 people. If you do the math, we had tripled the size of our team in two and a half years. We had a hundred new people on board who had never experienced Too Good To Go in the early days. It still worked for us, and we were still organized in product teams, and we still are today. It seems that structure is working for us, and it's a productive setup. We have embedded developers and UX designers and all the different functions in the teams, and they're working ahead.
[00:21:14] The next change I'm going to talk about is not so much about that. It's about the outcomes that we asked the teams to produce, the OKRs that we set for them, because they changed a bit in nature. I'm going to give you a few examples, and then I'm going to tell you what our learning was.
[00:21:34] We always knew that small business owners like bakeries, pizzerias, et cetera, saving food on Too Good To Go had to go through a lot of friction. We also knew that the main purpose in life, if you are a small bakery owner, is not to save food from the bin. The main purpose in life is to run a fantastic bakery and sell food at full price. So we set up a team, and we even named it Partner Value Prop, to give a little back: to develop something that made it worth their while to save food on Too Good To Go.
[00:22:16] One of the latest examples that the team did is that we have these campaigns now. We allow the business owners to hand out vouchers and discount codes for their normal-price food to their Too Good To Go customers, making it a little bit worth their while. And it works. It's a popular feature.
[00:22:37] Another example is that we decided to help supermarkets even more. We have now built a professional app for use inside the supermarkets on small handheld terminals that helps them track expiry dates on products. It helps them with yellow-stickering and discounting. It also helps them give food to local charities. And of course, just saying, it also helps them a little bit to put more food on sale on the Too Good To Go platform. We are also a business, after all.
[00:23:14] So what were the learnings here? The learning was that each time we set out to do one of these diversification projects, it was almost like we had to find a new product-market fit. And because we had to find a new product-market fit, we couldn't do it on our own. It wasn't good enough to have a product manager and some developers and UX designers in the loop. We had to work much more integrated with the rest of our company than we were used to. We had to involve business people, operations people, marketing people, support people, and even go to our real partners and involve them in a structured way to figure out how we could help. That was a big change in the last phase: having to work much more integrated with the rest of the company and with our partners. That was the final of the four phases.
What to take away
[00:24:24] So what do I really want you to leave this presentation with? First of all, I hope that you enjoyed learning about how Too Good To Go came to life, who we are and what we do. I hope you could feel all the pain, all the fun, all the joy that we have been through on that journey.
[00:24:48] I also want to say that there is not one type of organization that fits everything. Changing sometimes has a purpose. You have to figure out: how much money do you have? What does the rest of your organization accept? And how can you fit in and help the business as much as possible with your organization design? Keep your eyes on the business.
[00:25:17] And then finally, I want to say that if any of you should ever feel crazy enough to take a good idea and bring it from nothing to something, then bring a lot of patience, a lot of good mood and the ability to laugh at yourselves, because you are going to need it.
Q&A
[00:25:40] Host: Thank you very much, Morten. That was a very strong case, and I truly appreciate the honesty as well in sharing some of the challenges, and also explaining how you switched to cross-functional product teams and how that worked out. We have some questions from the audience, and I will kick it off with the first one, which is: how did you manage company culture when growing that fast?
[00:26:14] Morten: That's a really good question, and I'm not going to lie to you, this is difficult. We knew it would become a problem pretty early on, so we worked deliberately across the company, in the management team, defining easily digestible values. We even created Slack icons for each of the values. And we have always spent a lot of time on making sure that people treat each other well. Because in the broader organization, where you have salespeople, customer support people, developers, designers, everyone brings a different perspective, and it's easy to get into classes. So we have spent a lot of energy reminding people that we are all on the same team. We are all on the same mission, which is to save food. But it has been hard, and it required real work.
[00:27:17] Host: I guess always remembering the core mission helps whenever things get complicated. The next question was: were there markets or countries that just don't work because of the culture?
[00:27:31] Morten: We haven't cracked it in every country yet. There are for sure different cultures around food across the world. We also know that there are some basic things that have to be in place. If food is too cheap, this doesn't work. The cost of operating Too Good To Go becomes too high on top of very low food prices. Another thing that we learned, mainly in the early years, is that payment cards, online payments, have to work. So it's hard to go to less developed countries where that doesn't really exist.
[00:28:12] Then we have some markets that we haven't fully understood yet. It seems that in some cultures, maybe southern Italy, not northern, it works in northern Italy, but in southern Italy we really can't get it off the ground. It seems that they care so much about food that they really resent the surprise element. They want their tomatoes from that specific producer, or otherwise they don't want it at all. So yes, we have plenty of things that we are still learning and that we haven't figured out yet.
[00:28:49] Host: Were these surprises when you entered the market, for example what you just shared regarding Italy, or was this something already known?
[00:28:57] Morten: No, it was a total surprise to us. And honestly, I'm not sure that we have fully understood it yet. This is just our current theory about what the trouble is. But yes, it was a surprise. We come from Denmark, and it's easy to think that everyone is like yourself. But they're not.
[00:29:16] Host: That's true. We're all different. Can you give a few examples of how the external agency made the product team split work better?
[00:29:24] Morten: I think what they did was help us set up the structure around it. They helped us with wording. What should you actually say to a team? What are the OKRs you should set? What is the right way of doing it? What is the right way of measuring success? So it was more the framing. Splitting the actual work between the teams was on us to do the right thing there. But they helped us set the framing, because if you work in it every day, as I do now, it seems obvious what you have to do: that you have to set OKRs that are achievable, measurable, et cetera, that you have to have a structure where your teammates can work together well. How do you share the work between designers and developers and the product manager, et cetera? But if you start from scratch, it's not obvious. When I think back, what we learned from them was kind of trivial, but it wasn't trivial at the time.
[00:30:37] Host: Thank you very much. Can you give a real-life example of your OKRs? And then I'll ask the last question.
[00:30:45] Morten: I can see that. I'm looking at another question; that's why I'm laughing.
[00:30:50] Host: I'll give that one for last.
[00:30:52] Morten: Our OKRs would always be tied to measurable KPIs. If you are in the team focusing on onboarding, it would be a conversion ratio from people entering the app until first sign-up and then their first purchase. The teams would be asked to figure that out, and they have access to all sorts of capabilities. They have a lot of data access nowadays. They have UXR access. They have UX designers embedded in the teams. But we would always try to tie it to business outcomes. We would never ask people to do a feature. We would ask them to generate a specific outcome, and they will come up with the feature.
[00:31:41] Host: Thank you very much. One last question before you go. Apparently people that have seen you before are curious to know what happened to your beard.
[00:31:50] Morten: Yeah, I saw the picture up here. That is my winter uniform. It really doesn't go well with soft ice, so I have to take it off every summer and then probably grow it back in the wintertime again.
[00:32:07] Host: Lovely. Amazing. Thank you so much. Give a round of applause for Morten.
[00:32:11] Morten: Thank you very much.
