Figma

How Linear made the most of a DDoS

On a good day, the Linear team helps companies build better software by streamlining issue tracking and project management. When they’re not doing that, they’re trying to get back to doing that as quickly as possible. At least that was the case on October 13, 2022, when the Linear site experienced a distributed denial-of-service (DDoS) attack that took down their homepage. Thanks to some quick footwork (and bold inspiration) from the team, they turned a problem into an opportunity, creating a homepage out of Figma files, and unintentionally throwing what will surely go down in history as one of the best Figma parties of all time. We talked to the team about how it happened, and what they learned.

Four colored shapes representing interviewees on a green background; From left to right: Jori Lallo (Co-founder), Paco Coursey (Design Engineer), Julian Lehr (Writer), Edgar Ambartsoumian (Designer)Four colored shapes representing interviewees on a green background; From left to right: Jori Lallo (Co-founder), Paco Coursey (Design Engineer), Julian Lehr (Writer), Edgar Ambartsoumian (Designer)

Paco Coursey (Design Engineer): A few days before launch, I tweeted that we'd really pushed our file to the limits. We had been exploring designs for a couple of months, and there were so many frames, so many big images. It had all our inspiration, all our iterations. It was huge. So I shared that image, tagging Edgar (a designer on the team), mostly to get him more Twitter followers. But also to give a peek at what goes behind the scenes as we were scaffolding all these new directions.

Jori Lallo (Co-founder): Usually, our redesigns happen over a few late nights, but this time the crew had been working on the design for longer. Everything still came together in the last 24 hours, as always. It was worth it though; it was received well and made a nice splash online.

The next day, though, we started to get reports that the site was down. So, a bunch of us jumped on an incident call. At first, we thought it was something with the redesign, perhaps a completely benign change that had caused the site to go down. As we investigated further, we realized it was a DDoS attack, which are pretty common these days.

DDoS (abbreviation)  A distributed denial-of-service (DDoS) attack is a malicious attempt to disrupt the normal traffic of a targeted server, service or network by overwhelming the target or its surrounding infrastructure with a flood of Internet traffic. Source: CloudflareDDoS (abbreviation)  A distributed denial-of-service (DDoS) attack is a malicious attempt to disrupt the normal traffic of a targeted server, service or network by overwhelming the target or its surrounding infrastructure with a flood of Internet traffic. Source: Cloudflare

Our first priority was getting people back into the app, which we were able to do by sending people directly to the login page when they visited any of our sub-pages. There was still all this talk on social about our new landing page, but when people clicked through to our site, they weren’t seeing it. They just landed directly on our login page, which was a bit anticlimactic.

Paco: Jori messaged us and was like, “What if we put up the design file from Figma?” I was like, “Okay, yeah we can do that.”

Jori: Edgar and Paco were a bit hesitant. But I said, “Just trust me.”

“No, we don't name our layers.”

Paco: A lot had changed in the final 24 hours before we shipped the site, and the Figma file wasn’t up to date. So, Edgar and I started updating the file to reflect the final final design, then moved it into a public Figma file. While we were working on it, I shared the link with Jori, who pushed the redirect live sooner than we expected and people started streaming into the page. So as people are showing up, I’m jumping in, copying over frames from our original Figma designs and using text fields to add titles that explain our decisions and give a bit of context.

Edgar Ambartsoumian (Designer): One of the first comments I added was about how, no, we don't name our layers because I knew people would notice that. They'd be like, “Oh, Linear doesn’t name their layers.” But the whole point was to show how we work.

Paco: It’s true, we don't name our layers. Some things matter, some things don't. We aim for the output, not for process.

Edgar: I’ve never seen a company show the design itself and let people see the styles and sizes they’re using. My biggest fear was that people would be able to access our component library or design system files. But that was a quick fix. We changed the access, and that was it. 

And I passed a thousand followers. Pretty nice for a guy that doesn't tweet.

Making lemonade out of a DDoS attack

Paco: Originally, sharing the Figma file was about making up for the DDoS and getting our users back into our redesigned homepage, but then the Figma file became its own experience. People tweeted about the “Linear Figma Party” and posted screenshots with hundreds of cursors. At one point, there were 300 people simultaneously checking out the file.

Timelapse from Linear's Figma Party

Edgar: Since the file was view-only, people couldn’t edit it, so they started using cursor chat to ask questions and chat with me. I began writing down their questions along with my answers. We realized that there was an opportunity to do a live Q&A in the file, to really give people the peek behind the scenes we initially intended. In hindsight, that was a good decision, because even as we speak, there are four people in the file who can still read through the archive. Everything's preserved.

The Q&A also gave us a good opportunity to add some context. People asked how we arrived at one version over another, so we dropped in variations that we explored but didn't end up using. Our CEO, Karri, jumped in and pointed out what stuff he liked or which directions we might explore in the future.

Paco: Quite a few questions were around the design process, particularly the team behind it. People were surprised to discover that our web team is just three of us: Julian, Edgar, and me. Julian works on the narrative and structure, Edgar does design, and I help bring everything together into code. Small teams do great work. That’s a core theme at Linear. We’re a small company with thirty employees, but the output is wild for the scale that we’re operating. 

I spent two and a half hours chatting with people. There were some people that stayed in that file for an hour and a half, two hours reading what we wrote, exploring the file, and trying to implement some of the designs themselves in separate files.

Doing away with the fluff

Jori: People were very understanding. Overall, the sentiment was that DDoS attacks suck but are a reality. And, of course, we responded correctly. In the future, we will be able to react much faster. Returning service for our users was and continues to be the most important thing for us. Linear is key to many of their workflows. But beyond that, we want to be transparent and open to building trust with our community. They’ll better understand what we’re going through and can be sympathetic instead of getting some marketing fluff.

Julian Lehr (Writer): What stood out to me was that the file and the Q&A were very raw. If we had a PR person on our team, 90% of these things would probably not be published because there would be someone telling us: “No, we can’t say that. We need to rephrase this.” What I like about this is that it’s the truth. It’s what happened. Ironically, I saw a couple of comments from people who thought we faked a DDoS attack as an excuse to share our Figma file. It turned out so well that they thought we planned the whole thing as a marketing stunt.

Pull-quote: Ironically, I saw a couple of comments from people who thought we faked a DDoS attack as an excuse to share our Figma file.” Julian LehrPull-quote: Ironically, I saw a couple of comments from people who thought we faked a DDoS attack as an excuse to share our Figma file.” Julian Lehr

Distributing the load, globally

Jori: Our team is mainly distributed across European and US time zones, so our US engineers mitigated the attack until midnight when Europe came online. Then the next shift picked it up and fortified it further. It wasn’t as critical at that point because we had gotten everyone who needed to back into the app.

Paco: We got lucky on the timing. It happened late Eastern time or end of the day Pacific time, so people were already logging off from work, and we didn’t disrupt too much of people’s workday. It was almost an after-work party. Once we set up our bad actor firewall nets, huge traffic spikes started normalizing automatically, which gave the rest of the Linear team time to check out the Figma file, too. By the end of the party, we had restored service to everything except the homepage, which we kept redirecting to the Figma file because it was more fun.

Lehr: I missed the whole thing. I'm based in Berlin, so the outage happened at around 11:00 pm my time. The good thing is that, in true Berlin fashion, the party was still going when I woke up at 7:00 am. There were 80 or 90 people still in the file. So I had a chance to catch up on everything.

Paco: I was surprised. I thought we’d see a huge spike of people and then go back down, but it persisted for days, too, not just hours. I’m still waking up to new notifications from the Figma file.

Inspiring the next iteration

Jori: We are very open about how we think and build products at Linear. We like to build together with our community and that’s something we’ve done since day one. We were putting out changelogs before Linear was even open to the public. We’ve tried to share for the builders, especially on the engineering front, but haven’t really found a way to do that for designers until now. 

Julian: We had a discussion a couple of days later about how interesting the whole thing was and how we could continue it. What would be the next step? Why was it so much more interesting than our actual website? When redesigning our homepage, we spent a lot of time thinking about how to build a website that hadn’t been done before, something that was new or novel in some way.

What I felt was interesting is that this wasn’t just using our website; it was browsing it with a hundred other people simultaneously. Why doesn’t the browser work like this? So for me, it’s been a source of inspiration. How can we build collaboration into the website? Maybe our next website shouldn’t be a website, but a Figma file. Why do you have to scroll and click? Why can’t I move in two or three dimensions to explore a website? What inspiration can we take from this?

Pull-quote: What I felt was interesting is that this wasn’t just using our website; it was browsing it with a hundred other people simultaneously. Julian LehrPull-quote: What I felt was interesting is that this wasn’t just using our website; it was browsing it with a hundred other people simultaneously. Julian Lehr

Jori: We want to have fun while we build software. That's why we got into this game in the first place. At Linear, we try to make a company where we can have fun as well. We shouldn’t take ourselves too seriously. Great creative work doesn’t usually happen under pressure or deadlines. These things don't happen unless people are passionate about what they do and they can think on their feet. I don’t know if we’d do it again, though. We’ll do something new. We can’t be too predictable.

Julian: This month, we announced “Polishing Season 2022,” giving our community a live look as we work through our backlog, tackling fixes to lingering bugs, performance issues, and so on. Inspired by making a Figma homepage, we wanted to collaborate with our community more directly, so we invited our users to submit requests and to watch in real-time as our team addresses them.

Plugin plug: If you use Linear, consider also checking out their Figma plugin!