← ALL PROJECTS

Sketch: Engineering the Web

2020 - 2024

Bringing the infinite canvas to the browser with Web Workers and Microfrontends.

Roles: Core Team, Frontend Engineering, Design System Top Tech: React, Microfrontends, Web Workers, Canvas Rendering

At Sketch, the goal was ambitious: take a native macOS powerhouse and make it feel just as premium, responsive, and powerful in a web browser. I was part of the Core Team that turned this vision into reality, focusing on the technology that powered the main Web App.

I was extremely proud to work there. We used cutting-edge technology to solve hard problems, and the features we built were used by hundreds of thousands of designers every day.

The Crown Jewel: Canvas View

One of my favorite features to work on was the Canvas View. This wasn’t just an image viewer; it was an infinite canvas that rendered Sketch documents directly in the browser.

Canvas View in the Browser

I worked across multiple layers of this feature. While the rendering engine did the heavy lifting of displaying the artboards, I built the critical UI systems that wrapped around it:

What started as a simple static viewer evolved into a rich, interactive experience. We enabled Inspect on the canvas, allowing developers to click any element and get code snippets, and even added Prototyping interactions right in the browser UI 1.

Breaking the Monolith: Transitioning to Microfrontends

As the web app grew, so did our bundle size. Loading the massive main app often resulted in a heavy JavaScript payload that slowed down initial render times. While manageable for desktop users on fiber, we wanted to ensure quality and speed for everyone.

To solve this, we broke the monolith.

We architected a transition to Microfrontends, splitting the application into distinct “mini-apps.” This required defining a strict hierarchy of 6 distinctive layers to organize our packages.

Scaling the Design System: “Prism” & The v100 Facelift

In 2019, we needed to modernize our UI. I collaborated on implementing our new Design System, codenamed Prism. The speed of execution was impressive—in just two months, we successfully ported 80% of our components.

Prism Design System

This laid the groundwork for the major Web App Facelift we shipped with Version 100. We redesigned the Canvas view, Notifications, Files, and Documents to feel more cohesive with the Mac app. The goal was to let the content shine, removing the clutter of endless sidebars and tabs 2.

Version 100 Web App Refresh

We also implemented Dark Mode across the entire web app. I led the effort to ensure our dark theme wasn’t just an inversion, but a carefully crafted aesthetic that matched the native macOS experience perfectly. Now, working at night has never been more stylish! 3

Dark Mode in the Web App

Bridging the Gap: Color Tokens

Finally, I worked on Color Tokens, a feature that bridged the gap between Design and Engineering.

Color Tokens and Components

We allowed users to export their Design System color palette directly to JSON and CSS. This meant teams could integrate Sketch directly into their CI/CD pipelines. A change in Sketch could automatically push updates to iOS, Android, and Web apps, ensuring the design language stayed consistent and always up to date 4.


References

Footnotes

  1. Introducing Canvas View in the Web App

  2. Sketch 100: A Fresher, Focused Web App

  3. Dark Mode Updates

  4. Introducing Color Tokens