HackerTube
HomeLongsLikedHistoryWatch laterCategoriesPlaylistsSettings

React Helsinki February 2020

Fraktio2 HN recommenders · recommended in 2 months, 2021-2025
YouTube
42K views · 6 years ago · talk · dated

React Helsinki meetup recording featuring a talk on lessons with Apollo GraphQL and Linear co-founder Tuomas Artman on real-time sync for web apps. The sync talk explains Linear's local-first architecture.

Cited as the explanation of how Linear's fast, locally synced UI works.

Web developmentSoftware architecture & designDistributed systems#linear#syncengine#local-first#graphql#webapps

5 comments from Hacker News

@seereadhack2025 · in “How Figma’s multiplayer technology works (2019)”

Linear's write ups / talks on real-time sync are also very good, if a bit old now. 1. ▶ this video 2. link Also see this overview of related tech here: 3. link And c.f. automerge from ink & switch: 4. link

RecommendsView on HN
@enra2023 · in “Some notes on local-first development”

We created Linear[1] as local-first product. Back in to 2019 there wasn't much anything available so we created our sync engine. Today we have several thousands companies, from early stage to public companies as paying customers (companies such as Vercel, Replit, Substack, Square..) Our co-founder did talk about sync engine back in 2020 and recently did updated talk about scaling it [3]. The scaling has definitely taken lot of work and optimizing as datasets for company wide workspace with potentially thousands of users ands object they created can become quite large. 1: link 2: ▶ this video 3: link

CitesView on HN
@jorde2022 · in “Linear.app”

(Cofounder here) The app is fullstack typescript react application with custom realtime sync engine for instant updates and offline readiness. Our cofounder did a talk about our sync few years back: ▶ this video The app works both in the browser and we also distribute it with Electron wrapper for macOS and Windows, but it's essentially the same experience.

CitesView on HN
@lewisl90292022 · in “The Future of the Web Is on the Edge”

Replicache ( link ) and clientdb ( link ) are the only productized versions of this architecture I'm aware of (please do let me know if anyone is aware of others!). But the architecture itself has been used successfully in a bunch of apps, most notable of which is probably Linear ( link , I remember watching an early video of their founder explaining the architecture in more detail but I can't seem to find it anymore (edit: found it! ▶ this video )). Basically the way authorization works is you define specific mutations that are supported (no arbitrary writes to client state, so write semantics are constrained for ease of authorization and conflict handling), with a client-side and server-side implementation for each mutation. The client side gets applied optimistically and then sync'ed and ran on the server eventually, which applies authorization rules and detects and handles conflicts, which can result in client state getting rolled back if authorization rules are violated or if unresolvable conflicts are present. Replicache has a good writeup here: link

RecommendsView on HN
@ngrilly2021 · in “React's UI State Model vs. Vanilla JavaScript”

I mostly agree, but having used Linear.app which has a crazy good and fast UI based on a local database synced with their cloud database, I'm not sure anymore: ▶ this video . I think it's important to define early in a project if the app is "cloud-based" or "local-based". If it's cloud-based, then only the server mutates state and sends views to the clients, as you wrote. Everything is simple. If it's local-based, then all data are available locally and mutated locally. The cloud is only used as mirror/backup and can support for some advanced features like full-text search. That's also a very clear architecture. That's how Linear works. Things become hairy and unnecessarily complex when no clear choice is made between those two options, then it's not clear where the state is.

CitesView on HN
Scaling the Linear Sync Engine1:06:08

Scaling the Linear Sync Engine

Linear
37K views • 3 years ago
Your web app but good: Aaron Boodman (Local-First Conf)19:36

Your web app but good: Aaron Boodman (Local-First Conf)

Local-First Conf
8K views • 2 years ago
Hacker Way: Rethinking Web App Development at Facebook44:36

Hacker Way: Rethinking Web App Development at Facebook

Meta Developers
900K views • 12 years ago
Cheng Lou - On the Spectrum of Abstraction at react-europe 201635:32

Cheng Lou - On the Spectrum of Abstraction at react-europe 2016

ReactEurope
63K views • 10 years ago
The past, present, and future of local-first - Martin Kleppmann (Local-First Conf)29:46

The past, present, and future of local-first - Martin Kleppmann (Local-First Conf)

Local-First Conf
17K views • 2 years ago
React.js Conf 2016 - Ben Alpert - What Lies Ahead27:45

React.js Conf 2016 - Ben Alpert - What Lies Ahead

Meta Developers
50K views • 10 years ago
Dan Abramov - Live React: Hot Reloading with Time Travel at react-europe 201530:41

Dan Abramov - Live React: Hot Reloading with Time Travel at react-europe 2015

ReactEurope
472K views • 11 years ago
Nicholas Zakas: Scalable JavaScript Application Architecture52:23

Nicholas Zakas: Scalable JavaScript Application Architecture

YUI Library
68K views • 15 years ago
Differential Synchronization54:44

Differential Synchronization

Google TechTalks
52K views • 17 years ago
[JSConfUS 2013] Tom Occhino and Jordan Walke: JS Apps at Facebook18:55

[JSConfUS 2013] Tom Occhino and Jordan Walke: JS Apps at Facebook

JSConf
45K views • 13 years ago
Keynote - JSON Graph: Reactive REST at Netflix54:58

Keynote - JSON Graph: Reactive REST at Netflix

Association for Computing Machinery (ACM)
41K views • 11 years ago
AWS re:Invent 2014 | (SPOT302) Under the Covers of AWS: Its Core Distributed Systems46:15

AWS re:Invent 2014 | (SPOT302) Under the Covers of AWS: Its Core Distributed Systems

Amazon Web Services
10K views • 11 years ago
Keynote: What is a Component (and Why)? - Luke Wagner, Distinguished Engineer, Fastly29:51

Keynote: What is a Component (and Why)? - Luke Wagner, Distinguished Engineer, Fastly

The Linux Foundation
7K views • 3 years ago
React.js Conf 2015 - Immutable Data and React31:11

React.js Conf 2015 - Immutable Data and React

Meta Developers
159K views • 11 years ago
React.js Conf 2015 - The complementarity of React and Web Components25:47

React.js Conf 2015 - The complementarity of React and Web Components

Meta Developers
22K views • 11 years ago
Dan Abramov: Beyond React 16 | JSConf Iceland33:25

Dan Abramov: Beyond React 16 | JSConf Iceland

JSConf
139K views • 8 years ago
"Unison: a new distributed programming language" by Paul Chiusano41:06

"Unison: a new distributed programming language" by Paul Chiusano

Strange Loop Conference
45K views • 7 years ago
Progressive Performance (Chrome Dev Summit 2016)35:42

Progressive Performance (Chrome Dev Summit 2016)

Chrome for Developers
34K views • 10 years ago
CRDTs and the Quest for Distributed Consistency43:39

CRDTs and the Quest for Distributed Consistency

InfoQ
68K views • 8 years ago
Matrix 2.0 — How we're making Matrix go voom!48:45

Matrix 2.0 — How we're making Matrix go voom!

Matrixdotorg
16K views • 3 years ago