World Congress 2022 Jun 15, 2022

Making of paint.js.org—a Web Component-based Productivity PWA

Christian Liebel

Ditch heavy frameworks and build desktop-class PWAs with native parity. Learn how to leverage standard Web Components and Project Fugu to create a 320kb Windows 95 Paint clone.

Pause
Mute Enter Fullscreen
#1 about 3 min

Recreating classic MS Paint for modern browser platforms

Replacing native legacy software with web-based alternatives proves viable through comprehensive cross-platform browser execution.

#2 about 4 min

Installing web applications and managing native file handles

Installing web applications bridges the gap between browser execution and native desktop features like local file tracking.

#3 about 5 min

Handling native clipboards and offline touch device scenarios

Implementing cross-app clipboard interactions and offline modes ensures full functionality across various touch and desktop devices.

#4 about 8 min

Building framework-less architectures with native custom web components

Leveraging the lit library creates lightweight, interoperable custom HTML elements without relying on heavy frontend frameworks.

#5 about 3 min

Rendering graphics and unifying inputs with abstract pointer events

Drawing pixels on an HTML canvas utilizing abstract pointer interfaces streamlines the handling of touch, mouse, and pen inputs.

#6 about 7 min

Enabling offline capabilities and application installation via service workers

Fulfilling Progressive Web App requirements through web app manifests and dedicated service workers ensures reliable application caching.

#7 about 8 min

Bridging native capability gaps using the Project Fugu APIs

Enhancing web platforms with cross-vendor API initiatives enables online properties to handle advanced system integration tasks.

#8 about 2 min

Transferring rich media objects with the async clipboard API

Reading and writing binary image content safely to the system clipboard minimizes disruption to main interface threads.

#9 about 3 min

Integrating native file systems and registering OS file handlers

Configuring web applications as default operating system handlers allows saving and overwriting local device files seamlessly.

#10 about 2 min

Managing dynamic dark modes using cascading CSS custom properties

Intercepting system preference media queries and modifying CSS variables dynamically updates application UI color schemes across shadow boundaries.

#11 about 2 min

Recognizing the expanding potential of modern web-based applications

Successfully shipping desktop-class software systems within the browser validates the stability and integration scale of modern web APIs.

#12 about 3 min

Addressing developer questions on framework capabilities and architectural alternatives

Mapping traditional dependency injection architectures over to native custom components addresses common frontend state and lifecycle limitations.

Matching moments

6:24 min

Demonstrating persistent native web capabilities with a paint clone

Christian Liebel Christian Liebel · JS Congress

1:27 min

Introduction to progressive web apps

Laura Morinigo · World Congress 2022

2:15 min

Transitioning native desktop graphics implementations to the web

Chris Heilmann +3 · LIVE

2:00 min

Bridging web and native apps with Project Fugu

Rowdy Rabouw Rowdy Rabouw · World Congress 2025

6:13 min

Core capabilities of progressive web applications

Lucien Immink · LIVE

1:17 min

Bridging the gap between native and web apps

Ire Aderinokun · JS Congress

Upcoming sessions on this topic

Open session

World Congress 2026 North America

September 23, 2026 · 14:20–14:50

Stage 2

Build Interactive Copilot Experiences with Canvas Extensions

James Clancey

Principal Product Manager, GitHub

James Clancey
Open session

World Congress 2026 North America

September 24, 2026 · 11:00–11:30

Stage 6

Accelerating development and managing agents with the GitHub Copilot app

Christopher Harrison

Senior Developer Advocate, GitHub

Christopher Harrison
Open session

World Congress 2026 North America

September 23, 2026 · 13:00–13:30

Stage 2

Parallelize Your Development with GitHub Copilot

Pamela Fox

Principal Cloud Advocate, Microsoft

Pamela Fox
Open session

World Congress 2026 North America

September 24, 2026 · 12:50–13:20

Stage 7

Architecting AI in Angular: WebMCP, A2UI, and the Agent Experience

Ankita Sood

Sr. Principal Engineer @ Secureworks | Angular GDE

Ankita Sood
Open session

World Congress 2026 North America

September 25, 2026 · 15:30–16:00

Stage 6

Small LLM in your Browser: Huge Opportunities for Web Applications

Daniel Ostrovsky

UI/UX Architect at Payoneer | AI Architect | Full Cycle Development Expert | Public Speaker | Open Source Contributor |

Daniel Ostrovsky
Open session

World Congress 2026 North America

September 25, 2026 · 11:00–11:30

Stage 2

Build Fast, Deploy Faster: Cross Platform AI development in 2026

Charlie Cheever

CEO & Co-Founder of Expo

Charlie Cheever