Inside DuckDuckGo

Duck Tales: How we've made it easier to generate images privately in Duck.ai (Ep.33)

Inside DuckDuckGo

Show Notes

In this episode, Beah (Chief Product Officer) and Matej (Engineering) discuss the evolution of image generation in Duck.ai, UX improvements, and the challenge of balancing output quality and speed. Disclaimers: (1) The audio, video (above), and transcript (below) are unedited and may contain minor inaccuracies or transcription errors. (2) This website is operated by Substack. This is their privacy policy. If you have feedback on Duck Tales, or episode ideas, email us at [email protected] Beah: Hi, welcome to Duck Tales, where we go behind the scenes at DuckDuckGo and discuss the stories, technology, and people that help build privacy tools for everyone. In each episode, you’ll hear from employees about our vision, product updates, engineering, or approach to AI. Today I’m here with Matej, and we’re going to talk about image generation in Duck.ai. I will let Matej introduce himself, but quickly I’ll just say that if you haven’t met me yet, I’m Beah, I’m on the product team here at DuckDuckGo. And yeah, Matej, take it away. Tell us a little bit about yourself. Matej: All right, Matej. I’ve been at DuckDuckGo for a year and a half now, and I’m working on Duck.ai and I work primarily on image generation last year from September until Christmas. Beah: Awesome. Well, okay, so just to kind of get started, tell me a little bit about what that even means. What is image generation in Duck.ai? And if you’re able, I I think a demo would be great. Matej: Yep, definitely. Let me share my screen here. All right. So if you go to the Duck.ai, go to the Duck.ai and you will see basically this screen and you probably notice that there’s this option new image, which is when you click on it, then you type any prompt in here. Duck.ai will try to generate an image for you. So let’s show me an image of a cat on the windows. So hopefully at the end of this we’ll get an image. This is going to take a little while because image generation is quite a heavy process. Yeah, this is the simplest form of it. Beah: Okay. I see it. It’s coming together. Matej: We’re getting, yes, it’s coming together and here’s our little cat. can click on it, zoom on it, download the image and copy it if we need it. Or we can keep it writing on it and ask for adjustments in the image. Beah: That’s pretty good. Good. I mean it has like the right number of limbs. There’s nothing too crazy going on here. I’m pretty impressed. do you wanna demo like any adjustments or anything else you wanna point out while your screen’s being shared? Matej: Yes, that’s correct. Sure, we can try it. Add another cat to the image. Let’s see what it comes up with. Beah: Okay. another cat. yeah. Cool. And what what model is operating here? Matej: So, we’re currently using GPT Image 2 model. We’ve been through multiple iterations of this and it’s always been a trade-off between cost, the output quality and the performance, so how quick the model is. We went through GPT Image 1, 1.5, 1 Mini and 2. Currently the GPT Image 2 model is slower, however it... the output quality is much, much better than previously. You probably cannot see it in images like this. However, if you would prompt it to generate a text, then you would see a clear difference between different models, and GPT Image 2 follows instructions really well and generates the text really well. Beah: Hmm. Got it. So like a bad job if you say if you tell it to put some copy in an image is like it doesn’t get the letter. It like uses different copy, it like mangles the letters. Is that right? Yeah. I’ve definitely been there. But hey, look, this cat also has the right number of limbs. I don’t see anything problematic or fishy about this. I guess it’s kind of a s a softball query, because there’s plenty of cat images on Matej: Exactly, exactly. That’s the case. Yeah. Beah: In in Windows online, huh? Yeah. A demo query. Nice. Cool. okay, awesome. Well tell tell me a little bit, like stepping back again, tell me a little bit about why we even

More from Inside DuckDuckGo

Oct 7, 2026

In this episode, Jeffrey (Operations) and Anne (People Ops) discuss how performance reviews work in a distributed leadership model, and how the process has scaled as we’ve grown. If you have feedback on Duck Tales, or episode ideas, email us at [email protected]. Disclaimers: (1) The audio, video (above), and transcript (below) are only lightly edited and may contain minor inaccuracies or transcription errors. (2) This website is operated by Substack. This is their privacy policy. Jeffrey: Hello everyone, and welcome to Duck Tales, where we go behind the scenes at DuckDuckGo. We discuss the stories, technology, and the people that help build privacy tools for everyone. In each of these episodes you’ll hear from the employees about our vision, product updates, engineering, or things like approaches to AI. Anne: There’s a lot of Jeffrey: My name is Jeffrey and I’m on the internal efficiency team at DuckDuckGo. Anne: Yeah, Jeffrey: And today I’m joined with my colleague Anne. Anne, do you want to introduce yourself? Anne: Hi, I’m Anne. I’m on the People Ops team at DuckDuckGo. It’s been about five years now, which I can’t believe, but lots of exciting stuff over that time. Jeffrey: Great. Today we’re gonna be talking about our internal performance reviews and how we run them. And how would you describe our performance review process to someone who’s never heard of DuckDuckGo? Anne: Well, I think the important thing to start with is sort of describing DuckDuckGo’s distributed leadership model, because with distributed leadership, that’s going to feed into performance reviews. And so the short answer I would give with that is that there’s no one decider of performance. There’s multiple different ways, multiple different people that give input, as well as a really strict requirement that it be evidence-based. And we’ll get into this a bit later, I’m sure. But we’ve done a lot of work on the evidence-based piece and being an asynchronous organization really helps with that because mostly everything is written down. So that’s that’s the high level that I would give. Jeffrey: Who do we how do we decide what collaborators get involved with each person’s reviews? Anne: Yeah, this has been a really interesting question over the years. And I would I would just love to brag a bit about how we used to do it when it was, you know, we were a smaller organization and then talk about how we’ve evolved that because well, I think way long ago it was the organization was small enough to just kind of know. You knew who should be giving input for who. And then the organization grew to the point where we needed help figuring out, right? You can’t one person couldn’t hold it all in their head. And so you very generously helped us create an algorithm that put out a spreadsheet that basically it ingested information about people’s leadership relationships to one another, their work overlap with one another, and their experience giving feedback, among other things, calculated all of those relationships, also taking into account load. Because you know, maybe one person should review 50 people, but that’s just too many, right? So balancing those trade-offs and then making a suggestion, which was really cool. And then those suggestions obviously had to be reviewed by humans and still, you know, load adjusted and everything. And there were several rounds of human review. So that was great. And then that also came to the point where we outgrew that because even those suggestions were gonna start fraying at a point, and the human review was cumbersome. And so we’ve moved, I think quite naturally toward leaning on functional calibrators who are closer to the functional work and then pulling in the objective side of the house, which is sort of like where work is getting executed and having those be the default inputs for people. But yeah, that’s kind of how that’s changed over time. And it’s really, it’s been a really exciting problem, fun problem to be a p

Sep 30, 2026

In this episode, Beah (Chief Product Officer) and John (Support) discuss our customer support process, why we read all tickets (good or bad), and how we actually use them to improve all aspects of the user experience. If you have feedback on Duck Tales, or episode ideas, email us at [email protected]. Disclaimers: (1) The audio, video (above), and transcript (below) are only lightly edited and may contain minor inaccuracies or transcription errors. (2) This website is operated by Substack. This is their privacy policy. Beah: Hello, and welcome to Duck Tales, where we go behind the scenes at DuckDuckGo and discuss the stories, technology, and people that help build privacy tools for everyone. In each episode, you’ll hear from employees about our vision, product updates, engineering, or approach to AI. Today you’re gonna hear about how we do support at DuckDuckGo, and my guest is John. John, do you wanna introduce yourself briefly? John: Yeah, for sure. Yep, I’m John. I work within our marketing and communications team. And for the past few years, my main goal has been managing and improving how our support operates for the DuckDuckGo subscription and beyond. Beah: Sweet. So if you’ve used DuckDuckGo support, perhaps you’ve gotten a message from John or one of the other teammates who we’ll learn more about in this call or in this pod. So I’m Beah. If you haven’t met me, I’m on the product team at DuckDuckGo. All right, let’s jump in. I’m gonna ask John some questions and we’ll go from there. So tell me John, just to kind of set the scene, what sort of things do we provide customer support for? John: A lot. The bulk of the support that we offer is through the DuckDuckGo subscription. So for us who handle support, it means handling things like billing questions, assisting with activation across multiple devices, questions about the plans that we offer, and more technical troubleshooting related things. The subscription can be bought a few different ways, each with its own different path to activation. So a good bit of the support that we offer is helping our users navigate these paths to get more comfortable with our subscription and its features. So some of our great front-end team members built a support form where most of our tickets run through. It was built to be kind of as self-service as possible, but a category is picked and depending on what the selection is, a potential solution gets surfaced. This way, plenty of users can get an answer without really needing to submit anything or wait for us to respond to them. But basically, our help pages kind of sit behind this and there’s links to that support form on every one of our subscription help pages. It’s the first stop for most of these tickets. We’ve been piloting an AI agent on a few help pages and I’m sure we’ll get into that as well. Beah: So like if we don’t, if we can answer, if we can get people an article right then and there that answers their questions, that’s the best case scenario for everybody because they get an immediate answer, but if not, then we have a process to kind of hand it off to a human or an in-between, which is like AI assisted answers. John: Exactly. That’s right. Beah: And maybe I should say like before we had the subscription, which is the first paid product that DuckDuckGo offered, and the only one we offer, we didn’t really have a support team or support process. I mean, we had emails for different things, but like effectively we didn’t have to worry about customer support. And it was the introduction of the paid subscription that sort of like brought this problem to our doorstep and to you. Is that fair to say? Yeah, yeah. John: Yes. Absolutely. Yeah. Yeah. Perfect. Beah: Okay, cool. So tell me a little bit more about like how this all works like team-wise, who’s working on this, how have we structured that? John: Absolutely. We have a small but mighty team. So when that subscription first launched, there were a few of us that kind of

Sep 23, 2026

In this episode, Marc (Engineering) and Zach (Data Science) discuss how we use AI internally: our most common uses, how we use it privately, and why our principles matter more when using AI, not less. If you have feedback on Duck Tales, or episode ideas, email us at [email protected]. Disclaimers: (1) The audio, video (above), and transcript (below) are only lightly edited and may contain minor inaccuracies or transcription errors. (2) This website is operated by Substack. This is their privacy policy. Marc: Hi, and welcome to Duck Tales, where we go behind the scenes at DuckDuckGo and discuss the stories, technology, and people that help build privacy tools for everyone. In each episode, you’ll hear from employees about our vision, product updates, engineering, or approach to AI. My name is Marc and I’m on the engineering team. I have with me Zach. Zach, you want to introduce yourself? Zach: hi, yeah. I’m Zach Deane-Mayer on our data science team here at DuckDuckGo. I am still a Duckling, so I’ve been here for about ten months. and I work on building our internal AI systems. Marc: Great. yeah, so today we’re gonna talk even more about AI, which is Zach’s specialty. I think today we’re gonna talk specifically about how we use Duck or sorry, how we use AI internally at DuckDuckGo. so yeah, I guess to start out, as a company, you know, we’ve adopted AI pretty pretty heavily internally as a tool to help us move faster. can you talk a little bit, Zach, about the the approach that we’ve taken here? Given that I think this you were in on the ground floor with this, right? Zach: Yeah, yeah. So DuckDuckGo as a company takes I I think a somewhat unique approach to AI as we take a unique approach to everything we do. We very much have a culture of of things like first principles thinking and and you know our own spin on things. Marc: Right. Zach: And a very important part of what we do are our privacy and security. so before we rolled out many of these tools, we spent quite a bit of time internally getting comfortable with their failure modes and the blast radius potential for for those failures. One of the first places we started using AI a lot was with coding tools. So right off the bat with Cursor and then Claude Code. And you know, one, the models are very, very good at writing code. But then two, if you are effectively using tools like git and GitHub, an agent that’s limited to writing code can only do so much damage if your code base is backed up in GitHub and you don’t let, for example, people force push to main or whatever like that. Like if your GitHub is properly configured. And so we had a lot of questions like that early on. And then, you know, once once we were confident, we really were able to kind of let open the floodgates and let people really start start using both Cursor, Claude Code and now to a lesser degree Codex to to write code and automate as much of engineering as they can. Marc: Yeah, yeah, that’s great. you mentioned privacy, right? Like that is obviously it’s a core tenet of our products. It’s also a core tenet of how we operate here. and yeah, to your point, we do tend to do things a little bit differently. so I’m curious how the privacy kind of shaped our internal workflows with respect to AI, given that, you know, w we even though we don’t collect user data, we do still have things that we obviously don’t want to to share more broadly. Zach: Yeah. Yeah, absolutely. so our privacy engineers very much think of like a an information hierarchy of stuff that is you know very I don’t know what the word is I want to use for the scale, but there’s a there’s a high to low scale. and so there’s certain information that we don’t even save to disk in our production servers. There’s certain information that is stored in memory and is never retained anywhere in our systems. Marc: Right. Zach: and that is fundamentally the safest form of data. If you don’t if you don’t store a piece of information, it’s it’s very

Sep 9, 2026

In this episode, Konrad (Engineering) and Shilpa (Engineering) discuss Personal Information Removal: what is a data broker, how we remove your records without ever sending your data to our servers, and the ‘whack-a-mole’ of constantly changing data broker sites. If you have feedback on Duck Tales, or episode ideas, email us at [email protected]. Learn more about the DuckDuckGo Subscription here. Disclaimers: (1) The audio, video (above), and transcript (below) are only lightly edited and may contain minor inaccuracies or transcription errors. (2) This website is operated by Substack. This is their privacy policy. Konrad: Hello everyone and welcome to Duck Tales. We will look under the hood of DuckDuckGo, talk about stories, technology, and people who are building the privacy tools that you all use. And in each of the episodes, you’ll hear from different employees about our vision, updates to our products, how we do engineering, or how we approach AI. So today I’m your host. My name is Konrad Zwinell. And I’m working at DuckDuckGo for seven years now. I work on the front end team at the very beginning. Then I run privacy engineering team. And now I’m back on the front end team working with Shilpa, who is my guest today. And Shilpa is running a personal information removal tool team. And she will tell us more about it today. Shilpa, why don’t you introduce yourself? Shilpa: Yeah, hi. I’m Shilpa. I have been in DuckDuckGo for, I think, a year and a half now. I joined in on the Apple team working on iOS and macOS. And for the last few months, I’ve been driving the team that does works on the personal information and mobile product. Konrad: Nice. OK, so first question that people may have after hearing this intro is, what exactly is personal information removal? Could you tell us, high level Shilpa, what’s the product and what it does? What’s the idea behind it? Shilpa: Yeah, so in the US, this is predominantly a US-based product. In the US, there’s entities called data brokers that basically harvest your personal information from various different sources, your online activity, social media, what have you. And they collect that information, and they basically buy and sell it as a commodity for advertisers and different entities. And our product basically goes and looks at all of these data brokers, looks for your personal information. If it’s there, then it submits a request to remove it. And if the data broker is complying, they will go ahead and remove it and we will be able to verify the removals for you as well. Konrad: Nice. So basically reducing your footprint on the web, reducing availability to your personal information, such as address, phone number in some cases, relatives, if I remember correctly. Shilpa: Yeah. Konrad: So they collect quite a bit of information about you and make it really easy for advertisers, but also other people to look it up. For FV, Shilpa: Yeah. Konrad: yeah, so that’s a bit scary. How does it work from the user perspective? Let’s say you want to use PIR. You want to try it out. How is the experience looking? Could you share with folks how it looks UI-wise and what you have to do to try it out? Shilpa: Yeah, so today, actually in some platforms, you can even go try it out for free, part of the experience on macOS or Windows, where you can go ahead and put in your personal information, some basic stuff, like your name and date of birth and city and you will be able to go see, we will go ahead and do a search on the various different data brokers that we support. And it should be able to show you all of the different brokers that have your information, the information that they do have. And the first time, if you see this actually, it’s a little bit, it’s actually quite a bit scary to see how much of your information is out there. And literally anyone can do a search and pull up a lot of your information about you, your family and stuff. So yeah, once we do the search and then we’ll go ahead

Sep 2, 2026

In this episode, Gabriel (Founder) and Beah (Chief Product Officer) discuss our focus on delight, discovery, and dependability (the 3Ds), what they are, and how they shape our day-to-day work. If you have feedback on Duck Tales, or episode ideas, email us at [email protected]. Show notes: Listen to our episode on Hack Days here. Disclaimers: (1) The audio, video (above), and transcript (below) are unedited and may contain minor inaccuracies or transcription errors. (2) This website is operated by Substack. This is their privacy policy. Beah: Hello and welcome to Duck Tales, where we go behind the scenes at DuckDuckGo and discuss the stories, technology, and people that help build privacy tools for everyone. In this episode, we are going to be talking about what we internally call the 3Ds: discoverability, dependability, and delight. And if we If you haven’t met me, I’m Beah. I’m on the product team and I’m here today with Gabriel, founder and CEO of DuckDuckGo. Anything anything you want to add to your introduction, Gabriel? Gabriel: No, I do not. If you’ve watched this at all, you’ve already seen me a bunch. So and they’ve seen you as well, so Beah: Yes. Cool. Okay. So yeah, let’s just jump in. 3Ds. What what’s the deal? What I mean, I said what each D stood for, but like contextualize this whole thing. Gabriel: Yeah, so part of the way we run DuckDuckGo as a company, just like internally, like how we operate, is we have a what we call our top priority, which is like the main thing that we think we need to focus on as a company. And that’s changed every few years. But like right now we’re in the middle of and we’ve been doing it for I think around 18 months, something like that, this 3Ds focus on discovery, dependability, and delight as you pointed out. And those are product things. So it’s really a focus on making our product better in those kind of three areas. And just to walk through them briefly, discovery is we actually have a lot of stuff in our product that people do not know about. So there’s the basic thing that a lot of people still don’t even know DuckDuckGo exists and we have a product and we’re a privacy company. But when you get a little beyond that, you know, we’re a search engine, we’re a browser, we have a subscription now. In our browser, you can sync your passwords and bookmarks. There’s all sorts of features, and like the holistic product is a lot bigger than even most of our users realize. And so it’s kind of discovery of those features. Dependability is a little more straightforward. That’s like, okay, you’re a user, the product should be very dependable. But I mean that means like reliable. You can switch to it easily. All the workflows work well. There’s no rough edges in it. Obviously, that’s a tall order when you run a search engine and a browser and a VPN and all these other things we do. But we’ve been nail we’ve been working down the list of all the little issues that people you know complain about, rightly so, that might have been issues with their bugs in our product and we’re trying to fix them. And then the third one is delight, which is, you know. I think most intuitive, I guess, but even harder to actually articulate how we get there. Beah: Yeah. Gabriel: But it’s like you have a delightful product experience. It’s those products and experiences that you are unexpected, really bring you joy, like you really want to share with your friends and family. Like we want to bring that delight into using DuckDuckGo. Beah: Yeah. Gabriel: So the focus has been on all three of those, because we think we need to do all three to make a great product. And so we have projects and people working on, you know, basically all three at all at all times at the moment under our top priority. Beah: Yeah, just to add to the discovery point, I mean we get feature requests and feedback. Feature requests for features we have. Like people just straight up asking for features that exist. Yeah. Private browsing. Y

See all episodes →