Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
awesome-front-end-system-design
Curated front end system design resources for interviews and learning
https://github.com/greatfrontend/awesome-front-end-system-design
Last synced: about 16 hours ago
JSON representation
-
Applications
-
News Feed (e.g. Facebook)
- Making Instagram.com faster: Part 1
- Making Instagram.com faster: Part 1
- Making Instagram.com faster: Part 2
- GreatFrontEnd's News Feed System Design Solution
- [Front End System Design
- Rebuilding our tech stack for the new Facebook.com
- Making Facebook.com accessible to as many people as possible
- How we built Twitter Lite
- Building the new Twitter.com
- Dissecting Twitter's Redux Store
- Twitter Lite and High Performance React Progressive Web Apps at Scale
- Facebook open sources rich text editor framework Draft.js
- Evolving API Pagination at Slack
- How we built Twitter Lite
- Making Instagram.com faster: Part 1
- Making Instagram.com faster: Part 2
- Building the new Twitter.com
- Making Instagram.com faster: Part 1
- Making Instagram.com faster: Part 2
- Making Instagram.com faster: Part 1
- Making Instagram.com faster: Part 2
- Making Instagram.com faster: Part 3 — cache first
- Making Instagram.com faster: Part 1
- Making Instagram.com faster: Part 2
- Making Instagram.com faster: Part 3 — cache first
-
Photo Sharing (e.g. Instagram)
- Making Instagram.com faster: Part 2
- Making Instagram.com faster: Part 3 — cache first
- Making Instagram.com faster: Part 1
- Making instagram.com faster: Code size and execution optimizations (Part 4)
- Instagram.css
- Making Instagram.com faster: Part 1
- Making Instagram.com faster: Part 2
- Making Instagram.com faster: Part 3 — cache first
- Making instagram.com faster: Code size and execution optimizations (Part 4)
- Making Instagram.com faster: Part 1
- Making Instagram.com faster: Part 2
- Making Instagram.com faster: Part 3 — cache first
- Making instagram.com faster: Code size and execution optimizations (Part 4)
- Making Instagram.com faster: Part 1
- GreatFrontEnd's Photo Sharing System Design Solution
- Making Instagram.com faster: Part 2
- Making Instagram.com faster: Part 3 — cache first
- Making instagram.com faster: Code size and execution optimizations (Part 4)
- Launching Instagram Messaging on desktop
- Crafting an Accessible Instagram Feed
- Making Instagram.com faster: Part 1
- Making Instagram.com faster: Part 2
- Making Instagram.com faster: Part 3 — cache first
- Making instagram.com faster: Code size and execution optimizations (Part 4)
- Making Instagram.com faster: Part 1
- Making Instagram.com faster: Part 3 — cache first
- Making Instagram.com faster: Part 2
- Making instagram.com faster: Code size and execution optimizations (Part 4)
- Making Instagram.com faster: Part 1
- Making Instagram.com faster: Part 2
- Making Instagram.com faster: Part 3 — cache first
- Making instagram.com faster: Code size and execution optimizations (Part 4)
- Making Instagram.com faster: Part 1
- Making Instagram.com faster: Part 2
- Making Instagram.com faster: Part 3 — cache first
- Making instagram.com faster: Code size and execution optimizations (Part 4)
- Making Instagram.com faster: Part 2
- Making Instagram.com faster: Part 1
- Making Instagram.com faster: Part 3 — cache first
- Making instagram.com faster: Code size and execution optimizations (Part 4)
- Making Instagram.com faster: Part 2
- Making Instagram.com faster: Part 1
- Making Instagram.com faster: Part 3 — cache first
- Making instagram.com faster: Code size and execution optimizations (Part 4)
- Making Instagram.com faster: Part 1
- Making Instagram.com faster: Part 2
- Making Instagram.com faster: Part 3 — cache first
- Making instagram.com faster: Code size and execution optimizations (Part 4)
- Making Instagram.com faster: Part 1
- Making Instagram.com faster: Part 2
- Making Instagram.com faster: Part 3 — cache first
- Making instagram.com faster: Code size and execution optimizations (Part 4)
- Making Instagram.com faster: Part 1
- Making Instagram.com faster: Part 2
- Making Instagram.com faster: Part 3 — cache first
- Making instagram.com faster: Code size and execution optimizations (Part 4)
- Making Instagram.com faster: Part 1
- Making Instagram.com faster: Part 2
- Making Instagram.com faster: Part 3 — cache first
- Making instagram.com faster: Code size and execution optimizations (Part 4)
- Making Instagram.com faster: Part 1
- Making Instagram.com faster: Part 2
- Making Instagram.com faster: Part 3 — cache first
- Making instagram.com faster: Code size and execution optimizations (Part 4)
- Making Instagram.com faster: Part 3 — cache first
- Making Instagram.com faster: Part 1
- Making Instagram.com faster: Part 2
- Making instagram.com faster: Code size and execution optimizations (Part 4)
- Making Instagram.com faster: Part 1
- Making Instagram.com faster: Part 2
- Making Instagram.com faster: Part 3 — cache first
- Making instagram.com faster: Code size and execution optimizations (Part 4)
- Making Instagram.com faster: Part 2
- Making Instagram.com faster: Part 3 — cache first
- Making Instagram.com faster: Part 1
- Making instagram.com faster: Code size and execution optimizations (Part 4)
- Making Instagram.com faster: Part 1
- Making Instagram.com faster: Part 2
- Making Instagram.com faster: Part 3 — cache first
- Making Instagram.com faster: Part 1
- Making Instagram.com faster: Part 2
- Making Instagram.com faster: Part 3 — cache first
- Making instagram.com faster: Code size and execution optimizations (Part 4)
- Making Instagram.com faster: Part 2
- Making Instagram.com faster: Part 3 — cache first
- Making instagram.com faster: Code size and execution optimizations (Part 4)
- Making Instagram.com faster: Part 1
- Making instagram.com faster: Code size and execution optimizations (Part 4)
- Making Instagram.com faster: Part 1
- Making Instagram.com faster: Part 2
- Making Instagram.com faster: Part 3 — cache first
- Making instagram.com faster: Code size and execution optimizations (Part 4)
- Making Instagram.com faster: Part 1
- Making Instagram.com faster: Part 2
- Making Instagram.com faster: Part 3 — cache first
- Making instagram.com faster: Code size and execution optimizations (Part 4)
- Making Instagram.com faster: Part 1
- Making Instagram.com faster: Part 2
- Making Instagram.com faster: Part 3 — cache first
- Making instagram.com faster: Code size and execution optimizations (Part 4)
- Making Instagram.com faster: Part 1
- Making Instagram.com faster: Part 2
- Making Instagram.com faster: Part 3 — cache first
- Making instagram.com faster: Code size and execution optimizations (Part 4)
- Making Instagram.com faster: Part 1
- Making Instagram.com faster: Part 3 — cache first
- Making Instagram.com faster: Part 2
- Making instagram.com faster: Code size and execution optimizations (Part 4)
- Making Instagram.com faster: Part 1
- Making Instagram.com faster: Part 3 — cache first
- Making Instagram.com faster: Part 2
- Making instagram.com faster: Code size and execution optimizations (Part 4)
- Making Instagram.com faster: Part 1
- Making Instagram.com faster: Part 2
- Making Instagram.com faster: Part 3 — cache first
- Making instagram.com faster: Code size and execution optimizations (Part 4)
- Making Instagram.com faster: Part 1
- Making Instagram.com faster: Part 2
- Making Instagram.com faster: Part 3 — cache first
- Making instagram.com faster: Code size and execution optimizations (Part 4)
- Making Instagram.com faster: Part 1
- Making Instagram.com faster: Part 2
- Making Instagram.com faster: Part 3 — cache first
- Making instagram.com faster: Code size and execution optimizations (Part 4)
- Making Instagram.com faster: Part 2
- Making Instagram.com faster: Part 3 — cache first
- Making Instagram.com faster: Part 1
- Making instagram.com faster: Code size and execution optimizations (Part 4)
- Making Instagram.com faster: Part 1
- Making Instagram.com faster: Part 2
- Making Instagram.com faster: Part 3 — cache first
- Making instagram.com faster: Code size and execution optimizations (Part 4)
- Making Instagram.com faster: Part 2
- Making Instagram.com faster: Part 3 — cache first
- Making Instagram.com faster: Part 1
- Making instagram.com faster: Code size and execution optimizations (Part 4)
- Making Instagram.com faster: Part 1
- Making Instagram.com faster: Part 1
- Making Instagram.com faster: Part 2
- Making Instagram.com faster: Part 3 — cache first
- Making instagram.com faster: Code size and execution optimizations (Part 4)
- Making Instagram.com faster: Part 2
- Making Instagram.com faster: Part 3 — cache first
- Making instagram.com faster: Code size and execution optimizations (Part 4)
- Making Instagram.com faster: Part 1
- Making Instagram.com faster: Part 2
- Making Instagram.com faster: Part 3 — cache first
- Making instagram.com faster: Code size and execution optimizations (Part 4)
- Making Instagram.com faster: Part 1
- Making Instagram.com faster: Part 2
- Making Instagram.com faster: Part 3 — cache first
- Making instagram.com faster: Code size and execution optimizations (Part 4)
- Making Instagram.com faster: Part 2
- Making Instagram.com faster: Part 3 — cache first
- Making Instagram.com faster: Part 1
- Making instagram.com faster: Code size and execution optimizations (Part 4)
- Making Instagram.com faster: Part 2
- Making Instagram.com faster: Part 3 — cache first
- Making Instagram.com faster: Part 1
- Making instagram.com faster: Code size and execution optimizations (Part 4)
- Making Instagram.com faster: Part 1
- Making Instagram.com faster: Part 2
- Making Instagram.com faster: Part 3 — cache first
- Making instagram.com faster: Code size and execution optimizations (Part 4)
- Making Instagram.com faster: Part 1
- Making Instagram.com faster: Part 2
- Making Instagram.com faster: Part 3 — cache first
- Making instagram.com faster: Code size and execution optimizations (Part 4)
- Making Instagram.com faster: Part 1
- Making Instagram.com faster: Part 1
- Making Instagram.com faster: Part 2
- Making Instagram.com faster: Part 3 — cache first
- Making instagram.com faster: Code size and execution optimizations (Part 4)
- Making Instagram.com faster: Part 2
- Making Instagram.com faster: Part 3 — cache first
- Making instagram.com faster: Code size and execution optimizations (Part 4)
- Making Instagram.com faster: Part 1
- Making Instagram.com faster: Part 2
- Making Instagram.com faster: Part 3 — cache first
- Making instagram.com faster: Code size and execution optimizations (Part 4)
- Making Instagram.com faster: Part 1
- Making Instagram.com faster: Part 2
- Making Instagram.com faster: Part 3 — cache first
- Making instagram.com faster: Code size and execution optimizations (Part 4)
- Making Instagram.com faster: Part 1
- Making Instagram.com faster: Part 2
- Making Instagram.com faster: Part 3 — cache first
- Making instagram.com faster: Code size and execution optimizations (Part 4)
- Making Instagram.com faster: Part 1
- Making Instagram.com faster: Part 2
- Making Instagram.com faster: Part 3 — cache first
- Making instagram.com faster: Code size and execution optimizations (Part 4)
- Making Instagram.com faster: Part 1
- Making Instagram.com faster: Part 2
- Making Instagram.com faster: Part 3 — cache first
- Making instagram.com faster: Code size and execution optimizations (Part 4)
- Making Instagram.com faster: Part 1
- Making Instagram.com faster: Part 2
- Making Instagram.com faster: Part 3 — cache first
- Making instagram.com faster: Code size and execution optimizations (Part 4)
- Making Instagram.com faster: Part 1
- Making Instagram.com faster: Part 2
- Making Instagram.com faster: Part 3 — cache first
- Making instagram.com faster: Code size and execution optimizations (Part 4)
- Making Instagram.com faster: Part 1
- Making Instagram.com faster: Part 2
- Making Instagram.com faster: Part 3 — cache first
- Making instagram.com faster: Code size and execution optimizations (Part 4)
- Making Instagram.com faster: Part 1
- Making Instagram.com faster: Part 2
- Making Instagram.com faster: Part 3 — cache first
- Making instagram.com faster: Code size and execution optimizations (Part 4)
- Making Instagram.com faster: Part 1
- Making Instagram.com faster: Part 2
- Making Instagram.com faster: Part 3 — cache first
- Making instagram.com faster: Code size and execution optimizations (Part 4)
- Making Instagram.com faster: Part 2
- Making Instagram.com faster: Part 3 — cache first
- Making instagram.com faster: Code size and execution optimizations (Part 4)
- Making Instagram.com faster: Part 1
- Making Instagram.com faster: Part 2
- Making Instagram.com faster: Part 3 — cache first
- Making instagram.com faster: Code size and execution optimizations (Part 4)
- Making Instagram.com faster: Part 2
- Making Instagram.com faster: Part 1
- Making Instagram.com faster: Part 3 — cache first
- Making instagram.com faster: Code size and execution optimizations (Part 4)
- Making Instagram.com faster: Part 1
- Making Instagram.com faster: Part 2
- Making Instagram.com faster: Part 3 — cache first
- Making instagram.com faster: Code size and execution optimizations (Part 4)
- Making Instagram.com faster: Part 1
- Making Instagram.com faster: Part 1
- Making Instagram.com faster: Part 2
- Making Instagram.com faster: Part 3 — cache first
- Making instagram.com faster: Code size and execution optimizations (Part 4)
- Making Instagram.com faster: Part 1
- Making Instagram.com faster: Part 2
- Making Instagram.com faster: Part 3 — cache first
- Making instagram.com faster: Code size and execution optimizations (Part 4)
- Making Instagram.com faster: Part 1
- Making Instagram.com faster: Part 2
- Making Instagram.com faster: Part 3 — cache first
- Making instagram.com faster: Code size and execution optimizations (Part 4)
- Making Instagram.com faster: Part 1
- Making Instagram.com faster: Part 2
- Making Instagram.com faster: Part 3 — cache first
- Making instagram.com faster: Code size and execution optimizations (Part 4)
-
Video Streaming (e.g. YouTube, Netflix)
- Shaka Player - source JavaScript library for adaptive media that supports DASH and HLS.
- HTML5 Video at Netflix
- Update on HTML5 Video for Netflix
- Implementing Japanese Subtitles on Netflix
- Pseudo Localization @ Netflix
- Modernizing the Web Playback UI
- Digital video introduction
- Modernizing the Web Playback UI
- HTML5 Video at Netflix
- Update on HTML5 Video for Netflix
- Implementing Japanese Subtitles on Netflix
- Pseudo Localization @ Netflix
- HTML5 Video at Netflix
- Update on HTML5 Video for Netflix
- Implementing Japanese Subtitles on Netflix
- Pseudo Localization @ Netflix
- Modernizing the Web Playback UI
- GreatFrontEnd's Video Streaming System Design Solution
- Building a Better Web - Part 1: A faster YouTube on web
- How YouTube improved video performance with the Media Capabilities API
- Reverse-Engineering YouTube
- Reverse-Engineering YouTube: Revisited
- HTML5 Video at Netflix
- Update on HTML5 Video for Netflix
- Implementing Japanese Subtitles on Netflix
- Pseudo Localization @ Netflix
- Modernizing the Web Playback UI
- How video works
- Media | web.dev
- `<video>` and `<source>` tags | Articles | web.dev
- Fast playback with audio and video preload
- Mobile Web Video Playback | Articles | web.dev
- Media Source Extensions | Articles | web.dev
- Synchronize audio and video playback on the web | Articles | web.dev
- Dynamic Adaptive Streaming over HTTP
- HTTP Live Streaming
- Lazy loading video | Articles | web.dev
- Media accessibility | Articles | web.dev
- Video and audio | Accessibility | web.dev
- `<video>` elements must have a `<track>` for captions | Articles | web.dev
- Building a Media Player Series | Chrome for Developers
- Video.js
- Media Chrome
- dash.js - IF) for the playback of MPEG-DASH via JavaScript and compliant MSE/EME platforms.
- `<video>`: The Video Embed element
- Guide to streaming audio and video | MDN
- DASH Adaptive Streaming for HTML 5 Video | MDN
- Media Capabilities API | MDN
- HTML5 Video at Netflix
- Update on HTML5 Video for Netflix
- Implementing Japanese Subtitles on Netflix
- Pseudo Localization @ Netflix
- Modernizing the Web Playback UI
- HTML5 Video at Netflix
- Update on HTML5 Video for Netflix
- Implementing Japanese Subtitles on Netflix
- Modernizing the Web Playback UI
- Pseudo Localization @ Netflix
- HTML5 Video at Netflix
- Update on HTML5 Video for Netflix
- Implementing Japanese Subtitles on Netflix
- Modernizing the Web Playback UI
- HTML5 Video at Netflix
- Update on HTML5 Video for Netflix
- Implementing Japanese Subtitles on Netflix
- Pseudo Localization @ Netflix
- Modernizing the Web Playback UI
- HTML5 Video at Netflix
- Update on HTML5 Video for Netflix
- Implementing Japanese Subtitles on Netflix
- Modernizing the Web Playback UI
- HTML5 Video at Netflix
- Update on HTML5 Video for Netflix
- Implementing Japanese Subtitles on Netflix
- Pseudo Localization @ Netflix
- Modernizing the Web Playback UI
- HTML5 Video at Netflix
- Update on HTML5 Video for Netflix
- Implementing Japanese Subtitles on Netflix
- Pseudo Localization @ Netflix
- Modernizing the Web Playback UI
- HTML5 Video at Netflix
- Update on HTML5 Video for Netflix
- Implementing Japanese Subtitles on Netflix
- Pseudo Localization @ Netflix
- Modernizing the Web Playback UI
- HTML5 Video at Netflix
- Update on HTML5 Video for Netflix
- Implementing Japanese Subtitles on Netflix
- Pseudo Localization @ Netflix
- Modernizing the Web Playback UI
- HTML5 Video at Netflix
- Update on HTML5 Video for Netflix
- Implementing Japanese Subtitles on Netflix
- Pseudo Localization @ Netflix
- Modernizing the Web Playback UI
- Update on HTML5 Video for Netflix
- HTML5 Video at Netflix
- Implementing Japanese Subtitles on Netflix
- Pseudo Localization @ Netflix
- Modernizing the Web Playback UI
- Implementing Japanese Subtitles on Netflix
- Pseudo Localization @ Netflix
- Update on HTML5 Video for Netflix
- HTML5 Video at Netflix
- Modernizing the Web Playback UI
- HTML5 Video at Netflix
- Update on HTML5 Video for Netflix
- Implementing Japanese Subtitles on Netflix
- Pseudo Localization @ Netflix
- Modernizing the Web Playback UI
- Pseudo Localization @ Netflix
- HTML5 Video at Netflix
- Update on HTML5 Video for Netflix
- Implementing Japanese Subtitles on Netflix
- Modernizing the Web Playback UI
- HTML5 Video at Netflix
- Update on HTML5 Video for Netflix
- Implementing Japanese Subtitles on Netflix
- Pseudo Localization @ Netflix
- Modernizing the Web Playback UI
- HTML5 Video at Netflix
- Pseudo Localization @ Netflix
- Update on HTML5 Video for Netflix
- Implementing Japanese Subtitles on Netflix
- Modernizing the Web Playback UI
- How we made Mux Player’s loading feel great
- HTML5 Video at Netflix
- Update on HTML5 Video for Netflix
- Implementing Japanese Subtitles on Netflix
- Pseudo Localization @ Netflix
- Modernizing the Web Playback UI
- HTML5 Video at Netflix
- Update on HTML5 Video for Netflix
- Implementing Japanese Subtitles on Netflix
- Pseudo Localization @ Netflix
- Modernizing the Web Playback UI
- Implementing Japanese Subtitles on Netflix
- Pseudo Localization @ Netflix
- Modernizing the Web Playback UI
- HTML5 Video at Netflix
- Update on HTML5 Video for Netflix
- HTML5 Video at Netflix
- Update on HTML5 Video for Netflix
- Implementing Japanese Subtitles on Netflix
- Pseudo Localization @ Netflix
- Modernizing the Web Playback UI
- Update on HTML5 Video for Netflix
- HTML5 Video at Netflix
- Implementing Japanese Subtitles on Netflix
- Pseudo Localization @ Netflix
- Modernizing the Web Playback UI
- HTML5 Video at Netflix
- Update on HTML5 Video for Netflix
- Implementing Japanese Subtitles on Netflix
- Pseudo Localization @ Netflix
- Modernizing the Web Playback UI
- Update on HTML5 Video for Netflix
- HTML5 Video at Netflix
- Implementing Japanese Subtitles on Netflix
- Modernizing the Web Playback UI
- HTML5 Video at Netflix
- Update on HTML5 Video for Netflix
- Implementing Japanese Subtitles on Netflix
- Pseudo Localization @ Netflix
- Modernizing the Web Playback UI
- HTML5 Video at Netflix
- Update on HTML5 Video for Netflix
- Implementing Japanese Subtitles on Netflix
- Modernizing the Web Playback UI
- Update on HTML5 Video for Netflix
- HTML5 Video at Netflix
- Implementing Japanese Subtitles on Netflix
- Pseudo Localization @ Netflix
- Modernizing the Web Playback UI
- HTML5 Video at Netflix
- Update on HTML5 Video for Netflix
- Implementing Japanese Subtitles on Netflix
- Pseudo Localization @ Netflix
- Modernizing the Web Playback UI
- Pseudo Localization @ Netflix
- Modernizing the Web Playback UI
- Vidstack Player
- HTML5 Video at Netflix
- Update on HTML5 Video for Netflix
- Implementing Japanese Subtitles on Netflix
- HTML5 Video at Netflix
- Update on HTML5 Video for Netflix
- Implementing Japanese Subtitles on Netflix
- Pseudo Localization @ Netflix
- Modernizing the Web Playback UI
- Modernizing the Web Playback UI
- HTML5 Video at Netflix
- Update on HTML5 Video for Netflix
- Implementing Japanese Subtitles on Netflix
- Pseudo Localization @ Netflix
- HTML5 Video at Netflix
- Update on HTML5 Video for Netflix
- Implementing Japanese Subtitles on Netflix
- Modernizing the Web Playback UI
- HTML5 Video at Netflix
- Update on HTML5 Video for Netflix
- Implementing Japanese Subtitles on Netflix
- Modernizing the Web Playback UI
- HTML5 Video at Netflix
- Update on HTML5 Video for Netflix
- Implementing Japanese Subtitles on Netflix
- Modernizing the Web Playback UI
- HTML5 Video at Netflix
- Update on HTML5 Video for Netflix
- Implementing Japanese Subtitles on Netflix
- Pseudo Localization @ Netflix
- Modernizing the Web Playback UI
- HTML5 Video at Netflix
- Update on HTML5 Video for Netflix
- Implementing Japanese Subtitles on Netflix
- Pseudo Localization @ Netflix
- Modernizing the Web Playback UI
- HTML5 Video at Netflix
- Update on HTML5 Video for Netflix
- Implementing Japanese Subtitles on Netflix
- Modernizing the Web Playback UI
- Update on HTML5 Video for Netflix
- HTML5 Video at Netflix
- Implementing Japanese Subtitles on Netflix
- Modernizing the Web Playback UI
- Implementing Japanese Subtitles on Netflix
- Modernizing the Web Playback UI
- HTML5 Video at Netflix
- Update on HTML5 Video for Netflix
- Modernizing the Web Playback UI
- HTML5 Video at Netflix
- Update on HTML5 Video for Netflix
- Implementing Japanese Subtitles on Netflix
- HTML5 Video at Netflix
- Update on HTML5 Video for Netflix
- Implementing Japanese Subtitles on Netflix
- Pseudo Localization @ Netflix
- Modernizing the Web Playback UI
- Modernizing the Web Playback UI
- HTML5 Video at Netflix
- Update on HTML5 Video for Netflix
- Implementing Japanese Subtitles on Netflix
- Pseudo Localization @ Netflix
- HTML5 Video at Netflix
- Update on HTML5 Video for Netflix
- Implementing Japanese Subtitles on Netflix
- Modernizing the Web Playback UI
- Pseudo Localization @ Netflix
- HTML5 Video at Netflix
- Update on HTML5 Video for Netflix
- Implementing Japanese Subtitles on Netflix
- Modernizing the Web Playback UI
- HTML5 Video at Netflix
- Update on HTML5 Video for Netflix
- Implementing Japanese Subtitles on Netflix
- Pseudo Localization @ Netflix
- Modernizing the Web Playback UI
- Implementing Japanese Subtitles on Netflix
- Pseudo Localization @ Netflix
- HTML5 Video at Netflix
- Update on HTML5 Video for Netflix
- Modernizing the Web Playback UI
- HTML5 Video at Netflix
- Update on HTML5 Video for Netflix
- Implementing Japanese Subtitles on Netflix
- Pseudo Localization @ Netflix
- Modernizing the Web Playback UI
- HTML5 Video at Netflix
- Update on HTML5 Video for Netflix
- Implementing Japanese Subtitles on Netflix
- Modernizing the Web Playback UI
- Update on HTML5 Video for Netflix
- HTML5 Video at Netflix
- Implementing Japanese Subtitles on Netflix
- Pseudo Localization @ Netflix
- Modernizing the Web Playback UI
- HTML5 Video at Netflix
- Update on HTML5 Video for Netflix
- Implementing Japanese Subtitles on Netflix
- Pseudo Localization @ Netflix
- Modernizing the Web Playback UI
- Update on HTML5 Video for Netflix
- HTML5 Video at Netflix
- Implementing Japanese Subtitles on Netflix
- Pseudo Localization @ Netflix
- Modernizing the Web Playback UI
- HTML5 Video at Netflix
- Update on HTML5 Video for Netflix
- Implementing Japanese Subtitles on Netflix
- Modernizing the Web Playback UI
- HTML5 Video at Netflix
- Update on HTML5 Video for Netflix
- Implementing Japanese Subtitles on Netflix
- Pseudo Localization @ Netflix
- Modernizing the Web Playback UI
- Lazy loading video | Articles | web.dev
- HTML5 Video at Netflix
- Update on HTML5 Video for Netflix
- Implementing Japanese Subtitles on Netflix
- Modernizing the Web Playback UI
- Modernizing the Web Playback UI
- HTML5 Video at Netflix
- Update on HTML5 Video for Netflix
- Implementing Japanese Subtitles on Netflix
- Pseudo Localization @ Netflix
- Building a Media Player Series | Chrome for Developers
- HTML5 Video at Netflix
- Update on HTML5 Video for Netflix
- Implementing Japanese Subtitles on Netflix
- Pseudo Localization @ Netflix
- Modernizing the Web Playback UI
- Pseudo Localization @ Netflix
- Modernizing the Web Playback UI
- HTML5 Video at Netflix
- Update on HTML5 Video for Netflix
- Implementing Japanese Subtitles on Netflix
- Implementing Japanese Subtitles on Netflix
- Pseudo Localization @ Netflix
- HTML5 Video at Netflix
- Update on HTML5 Video for Netflix
- Modernizing the Web Playback UI
-
Collaborative Editor (e.g. Google Docs)
- Yjs
- ShareJS
- Etherpad
- Operational Transformations as an Algorithm for Automatic Conflict Resolution
- What's different about the new Google Docs: Working together, even apart
- What's different about the new Google Docs: Conflict resolution
- What's different about the new Google Docs: Making collaboration fast
- Issues and Experiences in Designing Real-time Collaborative Editing Systems
- I was wrong. CRDTs are the future
- Automerge
- Improved Accessibility in Google Docs and Sites
- A Pragmatic Approach to Live Collaboration
- You don't need CRDTs for collaborative experiences
- Visualization of OT with a central server
- An Interactive Intro to CRDTs
- ShareDB
- The Plaintext OT Type
- The Plaintext OT Type, with proper unicode positions
- CRDT.tech
- An introduction to Conflict-Free Replicated Data Types
- Concurrency Control in Groupware Systems
- High-Latency, Low-Bandwidth Windowing in the Jupiter Collaboration System
- OT FAQ
- Conflict-free Replicated Data Types
- CRDTs: Consistency without concurrency control
- Fluid Framework
-
Design Tool (e.g. Figma, Excalidraw)
- tldraw
- draw.io
- Mermaid
- xyflow - based UIs with React
- React Diagrams
- JointJS
- React Easy Diagram
- Penpot
- Keeping Figma fast
- Photoshop is now on the web!
- Excalidraw - drawn like diagrams
- How Figma's multiplayer technology works
- Rendering like Butter – a Confluence Whiteboards Story
- Triangles at work: GPU rendering shapes and connectors in Confluence whiteboards
- Craft.js
- Realtime editing of ordered sequences
- Making multiplayer more reliable
- Improving performance with incremental frame loading
- Behind the scenes: international keyboard shortcuts
- GraphQL, meet LiveGraph: a real-time data system at scale
- Under the hood of Figma’s infrastructure: Here’s what goes into powering a web-based design tool
- How to build a plugin system on the web and also sleep well at night
- Introducing: Figma to React
- Multiplayer Editing in Figma
- Building a professional design tool on the web
-
E-Commerce Site (e.g. Amazon)
- GreatFrontEnd's E-Commerce Site System Design Solution
- Speed By A Thousand Cuts | eBay Engineering Blog
- How Rakuten 24's investment in Core Web Vitals increased revenue per visitor by 53.37% and conversion rate by 33.13% | web.dev
- Luxury retailer Farfetch sees higher conversion rates for better Core Web Vitals
- How Renault improved its bounce and conversion rates by measuring and optimizing Largest Contentful Paint
- Lowe's website is among fastest performing e-commerce websites
-
Travel Booking (e.g. Airbnb)
- Autofilling | web.dev
- Address forms | Learn Forms! | web.dev
- GreatFrontEnd's Travel Booking System Design Solution
- Rearchitecting Airbnb's Frontend | The Airbnb Tech Blog
- Server Rendering, Code Splitting, and Lazy Loading with React Router v4 | The Airbnb Tech Blog
- Isomorphic JavaScript: The Future of Web Apps
- Breaking the Monolith — Modular redesign of Agoda.com | Agoda Engineering & Design
- Creating Airbnb's Page Performance Score | The Airbnb Tech Blog
- Measuring Web Performance at Airbnb | The Airbnb Tech Blog
- Yes I'm Lazy | TripAdvisor Engineering and Product Blog
- React Performance Fixes on Airbnb Listing Pages | The Airbnb Tech Blog
- MakeMyTrip.com's new PWA delivers 3X improvement in conversion rates
- Images on the Web: Part 1 — Responsive Images | Expedia Group Technology
- Images on the Web: Part 2 — Implementing responsive images | Expedia Group Technology
- Expedia's Vrbo prioritizes above-the-fold contents and loads code for it first
- 12 Tips to Improve Client Side Page Performance | Expedia Group Technology
- Using Webpack Module Federation to Create an App Shell | Expedia Group Technology
- Optimizing a Page: Resource Hints, Critical CSS, and Webpack | Expedia Group Technology
- Progressive Web Apps with Service Workers | Booking.com Engineering
- Web Applications: Analyzing Client-Side Performance | Expedia Group Technology
- Go Fast or Go Home: The Process of Optimizing for Client Performance
- Building Airbnb's Internationalization Platform | The Airbnb Tech Blog
- Adding support for Arabic and Hebrew languages on Airbnb | The Airbnb Tech Blog
- Expedia Accessibility Guidelines
- Dynamic rendering | web.dev
- Payment and address form best practices | web.dev
- Autofill on Browsers: A Deep Dive | eBay Engineering Blog
- Frank's Compulsive Guide to Postal Addresses
-
Chat App (e.g. Messenger)
- GreatFrontEnd's Chat App System Design Solution
- [Front-End System Design
- Building Facebook Messenger
- Reverse engineering the Facebook Messenger API
- Facebook Messenger Engineering with Mohsen Agsen
- F8 2019: Facebook: Lighter, Faster, Simpler Messenger
- Building Real Time Infrastructure at Facebook - Facebook - SRECon2017
- Building Mobile-First Infrastructure for Messenger
- MySQL for Message - @Scale 2014 - Data
- Project LightSpeed: Rewriting the Messenger codebase for a faster, smaller, and simpler messaging app
- Challenges of E2E Encryption in Facebook Messenger
- Recreating the Facebook Messenger Gradient Effect with CSS
- Launching Instagram Messaging on desktop
- Managing Focus Transitions in Slack
- Gantry: Slack's Fast-booting Frontend Framework
- Making Slack Faster By Being Lazy
- Making Slack Faster By Being Lazy: Part 2
- Getting to Slack faster with incremental boot
- Service Workers at Slack: Our Quest for Faster Boot Times and Offline Support
- Localizing Slack
- Messaging Sync — Scaling Mobile Messaging at Airbnb
- Facebook Messenger RTC – The Challenges and Opportunities of Scale
-
Pinterest
- GreatFrontEnd's Pinterest System Design Solution
- [Front End System Design
- Design A Pinterest Layout | FrontEnd System Design Interview Question | Component Design
- A Pinterest Progressive Web App Performance Case Study
- A one year PWA retrospective
- Improving GIF performance on Pinterest
- Gestalt Masonry component
- How Pinterest Masonry works
- Gestalt (Pinterest's design system)
-
Ridesharing App (e.g. Uber)
-
Music Streaming (e.g. Spotify, SoundCloud)
-
Collaborative Spreadsheet (e.g. Google Sheets)
-
Video Call (e.g. Zoom, Skype)
-
Rich Text Editing (e.g. Lexical, Slate.js, Tiptap)
- Why ContentEditable is Terrible (Or: How the Medium Editor Works)
- Why ContentEditable is Terrible (Or: How the Medium Editor Works)
- Why ContentEditable is Terrible (Or: How the Medium Editor Works)
- Why ContentEditable is Terrible (Or: How the Medium Editor Works)
- Why ContentEditable is Terrible (Or: How the Medium Editor Works)
- Why ContentEditable is Terrible (Or: How the Medium Editor Works)
- Why ContentEditable is Terrible (Or: How the Medium Editor Works)
- The data model behind Notion's flexibility
- Why ContentEditable is Terrible (Or: How the Medium Editor Works)
- Rethinking Rich Text: A Deep Dive Into the Design of Lexical - Acy Watson
- 001: Intro to Lexical iOS — Lexical iOS Tutorial Series
- Lexical
- Tiptap
- Slate.js
- Draft.js
- Why ContentEditable is Terrible (Or: How the Medium Editor Works)
- Why ContentEditable is Terrible (Or: How the Medium Editor Works)
- Why ContentEditable is Terrible (Or: How the Medium Editor Works)
- Why ContentEditable is Terrible (Or: How the Medium Editor Works)
- Why ContentEditable is Terrible (Or: How the Medium Editor Works)
- Why ContentEditable is Terrible (Or: How the Medium Editor Works)
- Why ContentEditable is Terrible (Or: How the Medium Editor Works)
- Why ContentEditable is Terrible (Or: How the Medium Editor Works)
- Why ContentEditable is Terrible (Or: How the Medium Editor Works)
- Why ContentEditable is Terrible (Or: How the Medium Editor Works)
- Why ContentEditable is Terrible (Or: How the Medium Editor Works)
-
Kanban Board (e.g. Trello)
- Part 2: Syncing changes
- Part 3: Sync failure handling
- Part 4: The two ID problem
- Part 5: Offline attachments
- Part 6: Sync is a two-way street
- Part 7: Displaying sync state
- Colorful and accessible theming in Trello with CSS custom properties
- A look at Trello: adopting GraphQL and Apollo in a legacy application
-
-
User Interface Components
-
Dropdown Menu
-
Autocomplete/Typeahead
-
Image Carousel
-
Modal
-
Poll Widget
-
Star Widget
-
Design Systems
-
-
General
-
{Product Name}
-
Design Systems
-
-
Techniques
Programming Languages
Sub Categories
Video Streaming (e.g. YouTube, Netflix)
322
Photo Sharing (e.g. Instagram)
248
Travel Booking (e.g. Airbnb)
28
Collaborative Editor (e.g. Google Docs)
26
Rich Text Editing (e.g. Lexical, Slate.js, Tiptap)
26
Design Tool (e.g. Figma, Excalidraw)
25
News Feed (e.g. Facebook)
25
Chat App (e.g. Messenger)
22
Dropdown Menu
11
Pinterest
9
Modal
9
Music Streaming (e.g. Spotify, SoundCloud)
8
Kanban Board (e.g. Trello)
8
Design Systems
7
Video Call (e.g. Zoom, Skype)
6
E-Commerce Site (e.g. Amazon)
6
Image Carousel
5
Collaborative Spreadsheet (e.g. Google Sheets)
5
Autocomplete/Typeahead
5
Local-first / Offline-sync
5
Ridesharing App (e.g. Uber)
2
Star Widget
1
Poll Widget
1
Keywords
javascript
5
typescript
4
flowchart
4
react
4
collaboration
4
diagram
4
diagrams
3
whiteboard
3
canvas
3
typescript-library
2
drawing
2
design
2
svg
2
visualization
2
collaborative-editing
2
video
2
dash
2
hls
2
h265
1
collaborative-writing
1
handson
1
learning
1
collaborative-research
1
tutorial
1
collaborative-framework
1
video-codec
1
collaborative
1
vp9
1
yjs
1
shared-editing
1
realtime
1
peer-to-peer
1
p2p
1
offline-first
1
decentralized
1
drm
1
encrypted-media
1
live
1
live-streaming
1
media-source-extension
1
mse
1
offline
1
offline-capable
1
offline-mode
1
playback
1
playback-controls
1
video-playback
1
video-player
1
video-player-library
1
video-streaming
1