19–20 May 2020, online. The first fully digital Microsoft Build ran as a continuous, free 48-hour stream that started on 19 May at 8 a.m. Pacific and simply kept going — because once you take away the building in Seattle, there's no time zone left to favour. There was no badge, no queue, no convention-centre carpet. There was a livestream, a few hundred thousand of us in our home offices, and a global pandemic outside the window.
We've written before about the strange feeling of watching Build from Ibbenbüren rather than from the room. In 2026 we did it again, by choice, because a tighter two-day event no longer justified the transatlantic trip. But the first time we watched Build from our own desks wasn't a choice at all. It was 2020, and nobody had a choice about anything.

A conference with no building
For most of Build's history the venue was half the point. You flew in, you stood in the coffee queue with people who cared about the same obscure things you did, and you walked out three days later with a notebook full of hallway conversations that turned into roadmap items weeks later. Build 2020 had none of that, for the most obvious and serious reason: COVID-19 had shut the world's conference halls.
Microsoft's own framing, in the run-up, was admirably honest about what was lost and what might still be gained. As Scott Hanselman put it when registration opened, "It's not the Build we thought it would be, but it's gonna be special." The format that replaced the in-person event was a 48-hour virtual experience — "two days of continuous learning in your time zone," in Microsoft's words — free to anyone who registered. Stripping out travel, hotels and badge fees did one thing very clearly: it blew the doors off attendance. A conference that used to host a few thousand developers in Seattle suddenly reached a global audience many times larger.
That trade-off — intimacy traded for reach — is one we'd think about for years afterward, and one that came back around in full force in 2026. The first all-digital Build proved that the content travels just fine over a wire. What doesn't travel is the room. Both things turned out to be true at once, and they were true from the very first virtual Build.
Satya Nadella opened the keynote into a webcam rather than a stadium, and leaned into the moment rather than around it:
"While this year feels different, coming together as a community is more important than ever."
He thanked the developer community for the work it had done as the crisis hit:
"Our industry has been called upon to help address the world's most acute needs through this crisis, and I'm proud of how all of you have raised the game and been there when the world needed you the most."
For a company fourteen months old, watching from a home office in a year that bore no resemblance to the one we'd planned, that landed. We weren't addressing the world's most acute needs. We were trying to keep a young software company alive and useful through a year that had quietly rewritten itself. But the line about coming together as a community when it's hard is one we've quoted back to ourselves on more than a few hard days since.
The line that became the show's tagline
The developer keynote, hosted by Scott Hanselman, ran under a banner that outlived the conference:
"Every developer is welcome."
It's the kind of phrase that's easy to read as a slogan and easy to underestimate. But in the context of 2020 — a free Build, open to anyone with an internet connection, at a moment when a lot of developers had just lost the office, the commute, the in-person community, and in many cases a chunk of their certainty about the future — "every developer is welcome" wasn't marketing. It was the entire reason the event still worked without a venue. We've kept it as a quiet north star: the point of the tools is to let more people build, not fewer.

Blazor WebAssembly shipped — and that was the announcement that mattered most to us
Strip away the keynote production and, for ThreeBIT specifically, Build 2020 had one headline that mattered more than all the others combined: Blazor WebAssembly hit general availability.
Client-side .NET. Running in the browser. In production. Not a preview, not a "directional bet," not a research project — a supported, GA framework with Microsoft's full commercial weight behind it.
We had founded the company a little over a year earlier, in early 2019, having made a deliberate decision to build on the Microsoft stack — C#, .NET, Azure — top to bottom. At the time that was still partly an article of faith. The pieces existed, but a lot of them were previews and promises. Blazor WebAssembly going GA fourteen months into our existence was the moment one of the biggest promises turned into something we could ship to customers without an asterisk.
The practical consequence is hard to overstate for a small, bilingual team. Blazor let us write the front end and the back end in the same language, with the same types and the same people. No context-switch into a separate JavaScript framework with its own build chain, its own idioms and its own bugs. For building bilingual marketing sites, admin consoles and internal line-of-business tools — exactly the kind of work we do — that single-language story removed a whole category of friction. The components that would later go into Xircuit and Outastory were written by people who knew the framework underneath them had GA status, not preview status. That confidence is worth more than any single feature.
The Windows developer story finally got serious about unification
If Blazor was our headline, the Windows announcements were the ones that made the broader .NET and Windows world sit up. Microsoft used Build 2020 to confront a problem it had created itself: the long, awkward split between classic Win32 and the newer UWP world.
- Project Reunion was unveiled as the umbrella effort to break down the barriers between Win32 and UWP — a single, open-source set of APIs that work across Windows versions and device types, decoupled from the OS release cadence. It later became the Windows App SDK.
- WinUI 3 Preview 1 arrived as one of the first pieces of Project Reunion — Microsoft's words: "WinUI makes it easy to build modern, seamless UIs for all Windows apps across both Win32 and UWP."
- WebView2 — embedding the Chromium-based Edge rendering engine into native apps — moved forward as part of the same story, which is how a lot of "native" apps quietly became web apps in a frame.
We're a web-first shop, so Project Reunion was never going to land directly in our day-to-day. But the direction mattered: Microsoft was visibly trying to stop fragmenting its own platform and start treating "one developer surface" as the goal. That instinct — fewer artificial divides, more shared surface area — is the same instinct that made the "one .NET" story compelling, and it's why we kept betting on the platform.
The terminal grew up, and Linux moved into Windows
Two announcements in this cluster were, frankly, just a pleasure to watch as working developers:
- Windows Terminal reached 1.0. After debuting as a preview at Build 2019, the modern, GPU-accelerated, tabbed terminal hit a real, supported release. For anyone who'd spent a decade in the old console host, this was a small daily quality-of-life upgrade that you feel every single day.
- WSL 2 picked up GPU compute and Linux GUI app support. The Windows Subsystem for Linux already shipped a real Linux kernel in the Windows 10 May 2020 Update; Build 2020 previewed GPU-accelerated workflows (for ML/AI) and the ability to run graphical Linux apps without bolting on a third-party X server. Microsoft also showed off
wsl.exe --installto make setup a one-liner. - Windows Package Manager —
winget— went to public preview, open-source, letting you search and install tooling from the command line or a script. The 1.0 release wouldn't land until the following year, but the preview was enough to start scripting clean dev-machine setups.
None of this was glamorous. All of it was the kind of thing that quietly removes ten minutes of annoyance from a dozen developers' days, every day, for years. That's a real form of leverage, and it's the part of Build that's easy to overlook in favour of the moonshots.

.NET 5, Azure, and the cloud plumbing underneath
The framework and cloud announcements were the connective tissue that made everything else credible for a shop that lives on Azure:
- .NET 5 Preview 4 shipped, with matching ASP.NET Core and EF Core previews — the first real wave of the "one .NET" unification that would land in full that November, folding .NET Framework and .NET Core into a single line. For us this was the long-promised consolidation finally taking shape: one runtime, one set of libraries, one mental model.
- Azure Static Web Apps was introduced — managed hosting for static and Blazor front ends with GitHub Actions CI/CD wired in from the start. For a team that wanted to ship Blazor and JAMstack front ends without hand-rolling a deployment pipeline, this slotted straight into how we already worked.
- Azure Cosmos DB serverless arrived, with per-operation pricing aimed at the intermittent, smaller workloads that a young company actually runs — you pay for what you use rather than provisioning for a peak you don't have yet.
- Fluid Framework was announced as going open-source — Microsoft's experiment in real-time, "living" collaborative data structures that transcend any single document or app, with early previews showing up in Outlook on the web and Office.com.
- Microsoft Lists, Project Cortex (a knowledge network over Microsoft 365 and the Graph), and a wave of Power Platform improvements rounded out the productivity side.
Underneath the keynote phrasing, the through-line was Nadella's recurring framing that Microsoft was "building out Azure as the world's computer." That's a grand way to say "we want everything to run here," and for a company that had just bet its whole stack on Azure, it was the right kind of ambition to hear out loud.
Why it mattered for us
Build 2020 sits at a strange, formative intersection for ThreeBIT.
On one hand, it was the conference where the platform we'd staked the company on stopped being a bet and started being a product line. Blazor WebAssembly at GA, .NET 5 taking shape, Azure Static Web Apps, serverless Cosmos DB — these weren't abstract roadmap slides. They were the exact tools we'd go on to build Xircuit and Outastory with. Watching them ship, barely a year into the company's life, was a quiet but real signal that we'd picked the right side of the bet.
On the other hand, it was the first time we experienced Build the way we'd eventually choose to experience it again: from our own desks, over a stream, missing the room. In 2020 that was forced on everyone by a pandemic nobody asked for. In 2026 we made the same call deliberately, weighing a two-day event against a long flight from northern Germany. The symmetry isn't lost on us. The first all-digital Build taught the whole industry that the content travels fine over a wire and the hallway doesn't — and six years later that lesson was still doing the maths for us.
What we took from 2020, beyond the feature list, was confidence. Confidence that the stack would keep shipping. Confidence that a small, bilingual, .NET-and-Azure shop in Ibbenbüren had backed a platform that was going to be there for the long haul. "Every developer is welcome" was an open door, and we walked through it. We've never regretted it.
The streak of watching from home started here, in the worst year, for the worst reason. It turned out to be a year our stack grew up.
Sources & further reading
- The Official Microsoft Blog — Microsoft Build 2020: Registration now open: https://blogs.microsoft.com/blog/2020/04/20/microsoft-build-2020-registration-now-open/
- The Official Microsoft Blog — Microsoft Build 2020: Empowering developers to deliver impact today and tomorrow: https://blogs.microsoft.com/blog/2020/05/19/microsoft-build-2020-empowering-developers-to-deliver-impact-today-and-tomorrow/
- Windows Developer Blog — ICYMI – Top Announcements from Microsoft Build 2020: https://blogs.windows.com/windowsdeveloper/2020/06/18/icymi-top-announcements-from-microsoft-build-2020/
- Windows Developer Blog — Developing for all 1 billion Windows 10 devices and beyond (Project Reunion / WinUI 3): https://blogs.windows.com/windowsdeveloper/2020/05/19/developing-for-all-1-billion-windows-10-devices-and-beyond/
- XDA — Microsoft releases Terminal 1.0 and Windows Package Manager, announces Linux GUI app support and GPU acceleration for WSL 2: https://www.xda-developers.com/microsoft-releases-windows-terminal-1-0-package-manager-announces-linux-gui-app-support-gpu-acceleration-subsystem-linux-wsl-2/
- Azure Cosmos DB Blog — Azure Cosmos DB wrap-up: May 2020 BUILD Announcements: https://devblogs.microsoft.com/cosmosdb/build-2020-announcements/
- Microsoft 365 Blog — New Features for Teams and Fluid Framework: https://www.microsoft.com/en-us/microsoft-365/blog/2020/05/19/microsoft-teams-fluid-framework-new-microsoft-365/
- ComputerWeekly — Microsoft Build 2020: Nadella praises developers for their work during pandemic: https://www.computerweekly.com/news/252483410/Microsoft-Build-2020-Nadella-praises-developers-for-their-work-during-pandemic
- Microsoft Stories — Satya Nadella: Microsoft Build 2020 (speech transcript): https://news.microsoft.com/speeches/satya-nadella-microsoft-build-2020/
Attendance for the all-digital Build was widely reported as far larger than any prior in-person edition; exact registration figures vary by source and are reported here in round terms. The "Every developer is welcome" framing is the show's developer-keynote tagline, hosted by Scott Hanselman.
Image credits
All photos are used under their respective Creative Commons licences; we are grateful to the photographers.