English / AdRoll |
| Lazy loading Backbone collections with Promises | | | (November 12, 2013) |
| Rollup: Shared UI components at AdRoll | | | (November 05, 2015) |
| Rollup: How we use React.js and npm to share UI code at AdRoll | | | (November 12, 2015) |
| Rollup: What we have learned from sharing UI code at AdRoll | | | (November 19, 2015) |
| gulp-react-docs: From propTypes to Markdown in 3 seconds | | | (December 21, 2015) |
| How to Create a Style Guide: Start with a UI Framework | | | (July 29, 2016) |
| How to Run a Front-End Infrastructure Team | | | (August 29, 2017) |
English / Aha! |
| How I Convinced Our CTO to Switch From CoffeeScript to ES6 | | | (September 7, 2017) |
English / Airbnb |
| Turbocharged JavaScript Refactoring with Codemods | | | (April 27, 2016) |
| Rearchitecting Airbnb’s Frontend | | | (May 15, 2017) |
| Migrating from Mocha to Jest | | | (June 15, 2017) |
| React Performance Fixes on Airbnb Listing Pages | | | (December 5, 2017) |
| Server Rendering, Code Splitting, and Lazy Loading with React Router v4 | | | (January 10, 2018) |
| React Native at Airbnb | | | (June 19, 2018): , , , |
| Operationalizing Node.js for Server Side Rendering | | | (July 18, 2018) |
| How Airbnb is Moving 10x Faster at Scale with GraphQL and Apollo | | | (December 5, 2018) |
| Building (And Re-Building) the Airbnb Design System | | | (October 30, 2019) |
| ts-migrate: A Tool for Migrating to TypeScript at Scale | | | (August 18, 2020) |
| Building a Faster Web Experience with the postTask Scheduler | | | (May 20, 2021) |
| A Deep Dive into Airbnb’s Server-Driven UI System | | | (June 29, 2021) |
| Measuring Web Performance at Airbnb | | | (December 7, 2021) |
| Faster JavaScript Builds with Metro | | | (May 24, 2022) |
| Airbnb’s Trip to Linaria | | | (June 16, 2022) |
| Improving Performance with HTTP Streaming | | | (May 17, 2023) |
| Rethinking Text Resizing on Web | | | (May 16, 2024) |
| How Airbnb Smoothly Upgrades React | | | (July 23, 2024) |
| Adopting Bazel for Web at Scale | | | (Nov 12, 2024) |
English / ALDO |
| The Impact of Web Performance | | | (February 6, 2020) |
English / Algolia |
| Improving Web Performance to Mirror Engine Speed | | | (July 26, 2017) |
| Using NetInfo API to Improve Algolia’s JavaScript Client | | | (July 30, 2019) |
English / Allegro |
| Managing Frontend in the Microservices Architecture | | | (March 12, 2016) |
| Why Allegro Ads chose TypeScript | | | (April 9, 2019) |
| Page visibility and performance metrics | | | (September 2, 2019) |
| Performance of JavaScript optional chaining | | | (November 8, 2019) |
| Using ESLint to improve your app’s performance | | | (August 11, 2020) |
| Measuring Web Performance | | | (June 8, 2021) |
| Making API calls a seamless user experience | | | (July 21, 2021) |
| CSS Architecture and Performance in Micro Frontends | | | (July 29, 2021) |
| How to turn on TypeScript strict mode in specific files | | | (September 6, 2021) |
| Evolution of web performance culture | | | (September 23, 2021) |
| How we refactored the search form UI component | | | (October 26, 2021) |
English / Amazon |
| How we halved the publish size of modular AWS SDK for JavaScript clients | | | (October 14, 2021) |
| How Prime Video updates its app for more than 8,000 device types: the switch to WebAssembly increases stability, speed | | | (January 27, 2022) |
English / Artsy |
| Rendering on the Server and Client in Node.js | | | (November 30, 2013) |
| The Tech Behind Live Auction Integration | | | (August 9, 2016) |
| React Native at Artsy | | | (August 15, 2016) |
| Making Artsy Editorial Accessible | | | (August 29, 2017) |
| Helping the Web Towards OSS by Default | | | (September 6, 2016) |
| JSON Web Tokens: Artsy's Journey | | | (October 26, 2016) |
| Exploration: Front-end JavaScript at Artsy in 2017 | | | (February 5, 2017) |
| Modernizing Force | | | (September 5, 2017) |
| React Native, 2 years later | | | (March 17, 2018) |
| Keeping Artsy's dependencies up to date | | | (November 26, 2018) |
| Switch from Capybara Webkit to Chrome | | | (November 27, 2018) |
| GraphQL Stitching 101 | | | (December 11, 2018) |
| GraphQL: Union vs. Interface | | | (January 14, 2019) |
| From TSLint to ESLint, or How I Learned to Lint GraphQL Code | | | (January 29, 2019) |
English / Atlassian |
| Trellisheets: How we spin up CSS for Trello sites with ease | | | (March 1, 2016) |
| A look at Trello: adopting GraphQL and Apollo in a legacy application | | | (August 28, 2019) |
| Using an event-driven architecture to improve Jira Software responsiveness | | | (November 05, 2019) |
| Scaling React server-side rendering in Jira Cloud | | | (February 04, 2020) |
| Improving performance through better architecture | | | (June 23, 2020) |
| Performance in Jira front-end: the story of a single line of code | | | (November 16, 2020) |
| Performance in Jira front-end: using modern bundles to improve load time | | | (December 5, 2020) |
| Performance in Jira front-end: solving bundle duplicates with Webpack and yarn | | | (December 22, 2020) |
English / Australian Broadcasting Corporation |
| Composing Components | | | (September 28, 2018) |
| From data to DOM: Building a text rendering pipeline for React | | | (October 23, 2019) |
| Migrating the platform that powers ABC sites to TypeScript | | | (September 30, 2021) |
English / Badoo |
| How to teach a web app to speak 100 languages: the specifics of localisation | | | (March 8, 2017) |
| The painless way to collect statistics from a web-site | | | (May 18, 2017) |
| Translating interfaces into almost fifty languages: Sketch | | | (October 17, 2017) |
| part 1 | | | Hot localisations update: , (November 2017) |
| part 1 | | | From zero to Cosmos: , , (February 2018) |
| Translating Dust templates to JSX | | | (May 16, 2018) |
| How to manage your Design Tokens with Style Dictionary | | | (September 27, 2018) |
| why is it not the same as it is for designers | | | Optical alignment for frontend developers: and (November 22, 2018) |
| from the idea to the assets Sketch files | | | Generating multi-brand multi-platform icons with Sketch and a Node.js script: and (December 2018) |
| Covering A/B tests with UI tests: how to avoid getting tangled up in your own code | | | (February 22 2019) |
| Design Tokens beyond colors, typography, and spacing | | | (November 12, 2019) |
English / BBC |
| Redefining the BBC News core experience | | | (July 22, 2016) |
| HTTP/2 is easy, just turn it on… | | | (November 7, 2017) |
| How BBC Interactive Content Works Across AMP, Apps, And The Web | | | (March 15, 2018) |
English / Betty Crocker |
| Wake Lock API case study: 300% increase in purchase intent indicators on BettyCrocker.com | | | (May 19, 2020) |
English / Bitmovin |
| How Bitmovin Used React/Redux to Develop Its New Dashboard | | | (September 7, 2017) |
| To Play, or Not to Play – New AutoPlay Policies for Safari 11 and Chrome 64 | | | (September 28, 2017) |
| To Play, or Not to Play #2 – Firefox blocks audible autoplay by default! | | | (February 20, 2019) |
English / blogfoster |
| Jumpstart to React+Redux Development | | | |
| Centralized ESLint Configuration | | | |
| Redux For Better in-App Analytics | | | |
| Managing Complexity in Redux: Higher-Order Reducers and Async State | | | |
| How We Simplified our Tooling Setup for Node.js Projects | | | |
| How to Use the Power of Jest’s Snapshot Testing Without Using Jest | | | |
English / Bloomberg |
| How Bloomberg Used React Native to Develop its new Consumer App | | | (December 15, 2016) |
| wsk: A Straightforward and Maintainable Build System from the Bloomberg Graphics Team | | | (December 12, 2017) |
| 10 Insights from Adopting TypeScript at Scale | | | (November 9, 2020) |
English / BuzzFeed |
| Micro Frontends at BuzzFeed | | | (September 17, 2019) |
| Accessible BuzzFeed | | | (August 27, 2020) |
| CLS at BuzzFeed — Part 1: Raising The Floor | | | (November 6, 2021) |
| CLS at BuzzFeed — Part 2: Getting Help From Real Users | | | (November 6, 2021) |
| CLS at BuzzFeed — Part 3: Dealing with the unpredictable | | | (November 6, 2021) |
English / Campaign Monitor |
| Fixing bugs with Outlook specific CSS | | | (November 9, 2016) |
| Better video previews for email | | | (December 20, 2016) |
| How to test accessibility of emails | | | (June 5, 2018) |
English / Carbon Five |
| Cross-Domain Browser Window Messaging with HTML5 and Javascript | | | (August 17, 2012) |
| Composing Synchronous and Asynchronous Functions in JavaScript | | | (January 29, 2015) |
| An AJAX Auto-Save Implementation | | | (January 24, 2018) |
English / Carousell |
| How we made Carousell’s mobile web experience 3x faster | | | (October 31, 2018) |
| part 1 | | | Building a Dynamic UI System at Carousell (Feb/Mar 2019): , and |
| An Experiment with JSON Schema | | | (April 18, 2019) |
English / cars.com |
| How Cars.com Developer Mac Heller-Ogden Convinced His Bosses to Adopt Node.js | | | (July 17, 2017) |
English / Checkbot |
| Scalable & lightweight web screenshots with SVG | | | (November 30, 2018) |
English / Clearleft |
| How to use variable fonts in the real world | | | (January 26, 2018) |
| A framework for web performance | | | (September 20, 2018) |
English / Cloudflare |
| How we built Origin CA: Web Crypto | | | (May 10, 2016) |
| Open Sourcing CloudFlare’s UI Framework | | | (June 8, 2016) |
| Going Global - a Localization Case Study at Cloudflare | | | (August 23, 2017) |
| How we made our page-load optimisations even faster | | | (February 2, 2018) |
| Real URLs for AMP Cached Content Using Cloudflare Workers | | | (November 13, 2018) |
| Fast Google Fonts with Cloudflare Workers | | | (November 22, 2018) |
| Migrating to React land: Gatsby | | | (March 26, 2020) |
| Moving from reCAPTCHA to hCaptcha | | | (April 8, 2020) |
| Dark Mode for the Cloudflare Dashboard | | | (September 29, 2021) |
English / Cloud Four |
| All Mixed Up: Isomorphic Sorting Gone Wrong | | | (October 17, 2019) |
English / CodeSandbox |
| Lessons learned refactoring Codesandbox.io from Redux to Cerebral | | | (February 7, 2018) |
English / Condé Nast |
| The Why and How of Google AMP at Condé Nast | | | (August 29, 2017) |
English / Conductor |
| Painless Migration From Backbone to React/Redux | | | (February 16, 2018) |
English / Datadog |
| Redux-Doghouse – Creating Reusable React-Redux Components Through Scoping | | | (November 14, 2016) |
| How Datadog uses Datadog to gain visibility into the Datadog user experience | | | (February 22, 2022) |
| DRUIDS, the Design System that Powers Datadog | | | (September 29, 2022) |
| Making Fetch Happen - Building a General-purpose Query & Render Scheduler | | | (April 17, 2023) |
| How We Migrated Our Acceptance Tests to Use Synthetic Monitoring | | | (June 30, 2023) |
English / DAZN |
| Testing MobX State Tree | | | (December 7, 2018) |
| Handling complexity in lambda functions | | | (February 8, 2019) |
| Micro-frontends, the future of Frontend architectures | | | (April 2, 2019) |
| Adopting a Micro-frontends architecture | | | (April 8, 2019) |
| Orchestrating micro-frontends | | | (April 12, 2019) |
| Jest: Our journey into performant unit tests | | | (April 15, 2019) |
| Identifying micro-frontends in our applications | | | (May 21, 2019) |
English / De Voorhoede |
| Why our website is faster than yours | | | (July 16, 2016) |
English / DEV |
| App shell UX with service workers and streams | | | (June 23, 2020) |
English / Discord |
| Using React Native: One Year Later | | | (June 7, 2016) |
| Lessons from migrating a large codebase to React 16 | | | (October 5, 2017) |
| Why Discord is Sticking with React Native | | | (July 26, 2018) |
| How Discord Maintains Performance While Adding Features | | | (August 2, 2018) |
| How Discord Handles Two and Half Million Concurrent Voice Users using WebRTC | | | (September 10, 2018) |
| Investigating Discord’s React Memory Leak | | | (August 8, 2019) |
| How Discord achieves native iOS performance with React Native | | | (November 7, 2019) |
| How Discord Implemented App-Wide Keyboard Navigation | | | (December 17, 2020) |
English / <div>RIOTS |
| A story of how we migrated to pnpm | | | (January 18, 2022) |
English / DoorDash |
| Things to Keep in Mind When Integrating a Map Feature to a Web App | | | (Septermber 11, 2020) |
| Building the Caviar Web Experience Using Reusable React Components on the DoorDash Platform | | | (September 29, 2020) |
| Implementing Theming in DoorDash’s Design Language System | | | (December 17, 2020) |
| Serving Multiple Websites and Business Logic From a Single Platform | | | (February 9, 2021) |
| Managing React State on DoorDash’s Item Modal Using the Class Pattern | | | (April 21, 2021) |
| Building a Marketing Engineering Platform using Next.js, Cloudflare, and Contentful | | | (February 22, 2022) |
| Improving Web Page Performance at DoorDash Through Server-Side Rendering with Next.JS | | | (March 29, 2022) |
| Building a Common Web Library for Fast Implementations of Risk Frictions | | | (March 31, 2022) |
| DoorDash’s Lessons on Improving Performance on High-Traffic Web Pages | | | (August 30, 2022) |
English / Dropbox |
| Translating Dropbox | | | (April 18, 2011) |
| Some love for JavaScript applications | | | (August 31, 2012) |
| Dropbox dives into CoffeeScript | | | (September 13, 2012) |
| On Reporting and Filtering | | | Content Security Policy at Dropbox (September 2015): , , , |
| Enabling HTTP/2 for Dropbox web services: experiences and observations | | | (May 11, 2016) |
| Annotations on Document Previews | | | (November 30, 2016) |
| Preventing cross-site attacks using same-site cookies | | | (March 16, 2017) |
| Deploying Brotli for static content | | | (April 6, 2017) |
| Dropbox Paper: Emojis and Exformation | | | (November 15, 2017) |
| Improving Document Preview Performance | | | (December 1, 2017) |
| Migrating from Underscore to Lodash | | | (September 5, 2018) |
| Redux with Code-Splitting and Type Checking | | | (July 16, 2019) |
| Design Tooling at Scale | | | (October 12, 2019) |
| The Great CoffeeScript to Typescript Migration of 2017 | | | (May 13, 2020) |
| JQuery to React: How we rewrote the HelloSign Editor | | | (September 30, 2020) |
English / eBay |
| Data URI Sprites | | | (July 12, 2011) |
| The New eBay Motors Homepage is 2X Faster | | | (October 14, 2011) |
| Five JavaScript Tips for a Sleek User Experience | | | (April 16, 2012) |
| Page Loading and Rendering Optimizations | | | (June 22, 2012) |
| Bandwidth-based Experience | | | (October 10, 2012) |
| Early Detection of Frontend Single Points of Failure | | | (January 22, 2013) |
| Front-end Renaissance at eBay | | | (January 13, 2014) |
| Yet Another Responsive vs. Adaptive Story | | | (March 5, 2014) |
| Don't Build Pages, Build Modules | | | (October 2, 2014) |
| Async Fragments: Rediscovering Progressive HTML Rendering with Marko | | | (December 8, 2014) |
| The Power of Perceived Performance | | | (January 5, 2015) |
| Mobile First - A Retrospective | | | (May 13, 2015) |
| How Our CSS Framework Helps Enforce Accessibility | | | (November 4, 2015) |
| Packaging for Performance | | | (January 4, 2016) |
| The Path to JavaScript Next | | | (March 15, 2016) |
| Browse eBay with Style and Speed | | | (June 30, 2016) |
| Experience the Lightning Bolt | | | (September 21, 2016) |
| Effective Front-End Code Review | | | (March 2, 2017) |
| Building a UI Component in 2017 and Beyond | | | (May 3, 2017) |
| eBay’s Font Loading Strategy | | | (September 21, 2017) |
| The Future of Marko | | | (October 26, 2017) |
| Beyond HTTPS | | | (December 13, 2017) |
| Integration Testing with React and Enzyme | | | (June 26, 2018) |
| WebAssembly at eBay: A Real-World Use Case | | | (May 22, 2019) |
| Autofill on Browsers: A Deep Dive | | | (December 3, 2019) |
| Speed By A Thousand Cuts | | | (January 23, 2020) |
| Front End Debugging — Tips on Resolving Issues Quickly so You Can Move on to Better Things | | | (April 7, 2020) |
| Auto Effect Pattern with Redux and React Hooks | | | (April 15, 2020) |
English / EdgeDB |
| An approach to optimizing TypeScript type checking performance | | | (August 8, 2024) |
English / Electronic Arts |
| Building UI at Enterprise Scale with Web Components | | | (August 22, 2017) |
English / Ele.me |
| Upgrading Ele.me to Progressive Web App | | | (May 6, 2017) |
English / Etsy |
| Localizing Logically for a Global Marketplace | | | (October 21, 2011) |
| Multilingual User Generated Content and SEO | | | (December 2, 2011) |
| Measuring Front-end Performance With Real Users | | | (November 29, 2012) |
| Responsive emails that really work | | | (March 13, 2014) |
| Transitioning to SCSS at Scale | | | (February 2, 2015) |
| Rebuilding the Foundation of Etsy’s Seller Tools | | | (February 5, 2015) |
| How Etsy Formats Currency | | | (April 19, 2016) |
| SEO Title Tag Optimization at Etsy: Experimental Design and Causal Inference | | | (October 25, 2016) |
| Optimizing Meta Descriptions, H1s and Title Tags: Lessons from Multivariate SEO Testing at Etsy | | | (January 25, 2017) |
| Reducing Image File Size at Etsy | | | (May 30, 2017) |
| How Etsy Localizes Addresses | | | (September 26, 2018) |
| Developing in a Monorepo While Still Using Webpack | | | (April 6, 2020) |
| The journey to fast production asset builds with Webpack | | | (February 3, 2020) |
| Etsy’s Journey to TypeScript | | | (November 8, 2021) |
English / Evil Martians |
| Is React Native podium-ready? | | | (May 14, 2018) |
English / Expedia Group |
| Scoping A/B Test Code in React | | | (September 4, 2018) |
| Profiling React Server-Side Rendering to Free the Node.js Event Loop | | | (February 18, 2019) |
| Creating Your Own Apollo Cache for Perf and Profit | | | (February 7, 2019) |
| Optimizing a Page: Resource Hints, Critical CSS, and Webpack | | | (March 20, 2019) |
| Contextual and Consistent Analytic Events in React | | | (April 22, 2019) |
| Minimizing DOM Nodes for Performance | | | (September 24, 2019) |
| Web Performance vs. User Engagement | | | (October 31, 2019) |
| Migrating to WKWebView | | | (December 11, 2019) |
| A (Small) Case for Function-Based React Components | | | (December 10, 2019) |
| Measuring Interaction Performance with FPS Data | | | (December 16, 2019) |
| File Upload with GraphQL, Apollo Server, Hapi 18+, and React | | | (January 16, 2020) |
| Web Applications: Analyzing Client-Side Performance | | | (January 7, 2020) |
| Schema Driven UIs | | | (January 23, 2020) |
| Responsive Accessibility Guidelines at Expedia.com | | | (February 27, 2020) |
| 12 Tips to Improve Client Side Page Performance | | | (April 28, 2020) |
| Using Webpack Module Federation to Create an App Shell | | | (June 10, 2020) |
| CSS-in-JS: An Investigation | | | (July 7, 2020) |
| Multi-Variate Web Optimisation Using Linear Contextual Bandits | | | (September 1, 2020) |
| How Expedia.com Uses Accessibility Automation | | | (October 1, 2020) |
| Sizing Android WebView iframes with JavaScript | | | (April 27, 2021) |
English / ezCater |
| The case against React snapshot testing | | | (June 27, 2019) |
| Saying goodbye to emotion | | | (June 1, 2021) |
English / Facebook |
| Building the F8 App with React Native | | | |
| BigPipe: Pipelining web pages for high performance | | | (June 4, 2010) |
| Facebook has 30,000 react components. How do you manage large project directories with many components? | | | (December 31, 2013) |
| The technology behind preview photos | | | (August 6, 2015) |
| Improving CSS quality at Facebook and beyond | | | (June 13, 2016) |
| This browser tweak saved 60% of requests to Facebook | | | (January 26, 2017) |
| Building High-Quality JavaScript Tools | | | (June 2, 2017) |
| React 16: A look inside an API-compatible rewrite of our frontend UI library | | | (September 26, 2017) |
| Design Systems & Tools at Facebook | | | (November 15, 2017) |
| Behind the Scenes: Improving the React Repository Infrastructure | | | (December 15, 2017) |
| Faster input events with Facebook’s first browser API contribution | | | (April 22, 2019) |
| Building the New facebook.com with React, GraphQL and Relay | | | (April 30, 2019) |
| Rebuilding our tech stack for the new Facebook.com | | | (May 8, 2020) |
| Making Facebook.com accessible to as many people as possible | | | (July 30, 2020) |
English / FARFETCH |
| The need for speed — 1: measuring today’s web performance | | | (February 19, 2019) |
| The need for speed — 2: call for metrics | | | (February 19, 2019) |
| How to build a performance culture at scale | | | (September 11, 2019) |
| One less second for the page, one giant leap for the business | | | (July 2, 2020) |
| The art of failure II: graceful degradation | | | (September 20, 2021) |
| GraphQL sessions: powering farfetch.com | | | (May 6, 2022) |
English / fastq.bio |
| How We Used WebAssembly To Speed Up Our Web App By 20X | | | (April 5, 2019) |
English / Figma |
| Building a professional design tool on the web | | | (December 7, 2015) |
| Debugging Data Corruption with Emscripten | | | (November 7, 2016) |
| WebAssembly cut Figma’s load time by 3x | | | (June 8, 2017) |
| Introducing BrowserView for Electron | | | (June 29, 2017) |
| Introducing: Figma to React | | | (April 26, 2018) |
| Figma, faster 🏎 | | | (August 13, 2018) |
| How to build a plugin system on the web and also sleep well at night | | | (August 22, 2019) |
| React at 60fps: improving scrolling comments in Figma | | | (August 19, 2020) |
| Inside Figma: a case study on strict null checks | | | (December 17, 2020) |
| Illuminating dark mode | | | (July 21, 2022) |
| The evolution of Figma’s mobile engine: Compiling away our custom programming language | | | (May 1, 2024) |
English / Financial Times |
| Building The New Financial Times Web App | | | (May 23, 2013) |
| Free-market software development | | | (August 21, 2015) |
| SVG icons are easy but the fallbacks aren't | | | (December 1, 2015) |
| A faster FT.com | | | (April 4, 2016) |
| YES, your site too can (and should) be accessible | | | (May 23, 2017) |
| Improving the cache performance of The Polyfill Service | | | (June 9, 2017) |
| Can't You Just Make It More like Bootstrap? | | | (July 22, 2017) |
| Speeding up without slowing down | | | (November 7, 2017) |
| What happens when you visit ft.com? | | | (November 24, 2017) |
| Tips for in-house teams in a free market software culture | | | (January 30, 2018) |
| An outbreak of Accessibility anti-patterns | | | (May 18, 2018) |
| This one line of Javascript made FT.com 10 times slower | | | (July 16, 2018) |
| Improving the cache performance of The Polyfill Service even more | | | (January 21, 2019) |
| Designing a sustainable front-end toolset for FT.com | | | (April 27, 2020) |
| Animating list reordering with React Hooks | | | (August 26, 2020) |
| Taming Webpackʼs content hashes | | | (June 3, 2020) |
English / Flickr |
| Lessons Learned from the Flickr Touch Lightbox | | | (July 20, 2011) |
| Creating an interface for geofences | | | (September 6, 2011) |
| Raising the bar on web uploads | | | (April 25, 2012) |
| Building an HTML5 Photo Editor | | | (April 18, 2012) |
| Building The Flickr Web Uploadr: The Grid | | | (May 11, 2012) |
| Parsing Exif client-side using JavaScript | | | (June 1, 2012) |
| Adventures in Jank Busting: Parallax, performance, and the new Flickr Home Page | | | (June 4, 2013) |
| Building Flickr’s new Hybrid Signed-Out Homepage | | | (April 23, 2014) |
| Perceptual Image Compression at Flickr | | | (September 25, 2015) |
| Introducing yakbak: Record and playback HTTP interactions in NodeJS | | | (April 25, 2016) |
English / Flipboard |
| Layout in Flipboard for Web and Windows | | | (March 24, 2014) |
| 60 FPS on the mobile web | | | (February 10, 2015) |
English / Flipkart |
| Building Flipkart Lite: A Progressive Web App | | | (November 11, 2015) |
English / Flocktory |
| Third party libraries | | | (May 22, 2017) |
English / Futurice |
| How Elm made our work better | | | (November 1, 2016) |
English / Garbarino |
| Building a PWA in Argentina | | | (July 24, 2017) |
English / GitHub |
| GitHub's CSS | | | (July 23, 2014) |
| How GitHub is using Web Components in production | | | (September 30, 2014) |
| Browser Monitoring for GitHub.com | | | (May 19, 2015) |
| GitHub's CSP journey | | | (April 12, 2016) |
| GitHub's post-CSP journey | | | (January 19, 2017) |
| Shipping system fonts to GitHub.com | | | (February 7, 2018) |
| Design Systems at GitHub | | | (July 6, 2018) |
| Removing jQuery from GitHub.com frontend | | | (September 6, 2018) |
| From 48k lines of code to 10—the story of GitHub’s JavaScript SDK | | | (April 9, 2020) |
| How we built the GitHub globe | | | (December 21, 2020) |
| How GitHub Actions renders large-scale logs | | | (March 25, 2021) |
English / GitLab |
| Why We Chose Vue.js | | | (December 1, 2016) |
| Our big Frontend plan revealed | | | (February 6, 2017): long term plan to make GitLab as fast and performant as possible with Vue and webpack |
| How we do Vue: one year later | | | (November 9, 2017) |
| How GitLab switched to Headless Chrome for testing | | | (December 19, 2017) |
| Our journey in switching to native Unicode emoji | | | (May 30, 2018) |
| How we iterated and improved our frontend team culture | | | (June 26, 2018) |
| Why we chose ECharts for data visualizations | | | (September 30, 2019) |
| How GitLab Pages made our Sketch design handoffs easier and faster | | | (November 7, 2019) |
| How we created a dark UI for GitLab's Web IDE | | | (May 20, 2020) |
English / Goibibo |
| How Goibibo's PWA improved conversions by 60% | | | (September 29, 2020) |
English / Google |
| Designing very large (JavaScript) applications | | | (April 15, 2018) |
| Building the Google Photos Web UI | | | (July 10, 2018) |
| TypeScript at Google | | | (September 1, 2018) |
| The Chrome Dev Summit site: case study | | | (March 12,2019) |
| The new AdWords UI uses Dart — we asked why | | | (March 31, 2016) |
| A Recipe for Designing Animations — Without Sacrificing Performance | | | (June 4, 2019) |
| Bringing service workers to Google Search | | | (June 20, 2019) |
| How we built the Chrome DevTools WebAuthn tab | | | (October 22, 2020) |
| Migrating Puppeteer to TypeScript | | | (January 21, 2021) |
| DevTools architecture refresh: migrating DevTools to TypeScript | | | (April 8, 2021) |
| Implementing CSP and Trusted Types debugging in Chrome DevTools | | | (November 1, 2021) |
| Why Google Sheets ported its calculation worker from JavaScript to WasmGC | | | (June 26, 2024) |
English / GOV.UK |
| Accessibility for developers: building a frontend that everyone can use | | | (October 6, 2016) |
| Patterns for accessible webchats | | | (December 9, 2016) |
| How to create content that works well with screen readers | | | (February 8, 2017) |
| How we’ve made GOV.UK Elements even more accessible | | | (February 28, 2018) |
| What we learned from getting our autocomplete tested for accessibility | | | (May 15, 2018) |
| Accessibility lessons: dealing with a large amount of form inputs | | | (April 8, 2019) |
| Why the GOV.UK Design System team changed the input type for numbers | | | (February 24, 2020) |
| Why videos on GOV.UK use the YouTube video player | | | (March 16, 2020) |
| How we reduced CSS size and improved performance across GOV.UK | | | (December 15, 2023) |
English / grammarly |
| Building Browser Extensions At Scale | | | (October 6, 2017) |
| Introducing Embrace: A Framework for Building Declarative UIs | | | (September 3, 2021) |
| Real-Time Collaborative Text Editing | | | Under the Hood of the Grammarly Editor: and (April 22, 2022) |
| Making Grammarly Feel Native On Every Website | | | (March 7, 2022) |
| part 1 | | | How Grammarly Tackles Hidden Complexity in Front-End Applications: and (March 7, 2022) |
| Signals With @grammarly/focal | | | (August 21, 2023) |
English / Gusto |
| Scaling Front-end Architecture | | | (June 10, 2016) |
| Evolving JavaScript Part 1: Goodbye Backbone | | | (July 12, 2016) |
| Evolving JavaScript Part 2: Hello React | | | (July 12, 2016) |
| Evolving JavaScript Part 3: Building a React Application | | | (July 12, 2016) |
| Taking off with Apollo | | | (September 12, 2018) |
| How I fell out of love with HOCs | | | (December 9, 2018) |
English / HealthCare.gov |
| Building a design system for HealthCare.gov | | | (August 29, 2017) |
English / Heap |
| Goodbye CoffeeScript, Hello TypeScript | | | (October 7, 2015) |
| Migrating To React + MobX While Shipping New Features | | | (August 16, 2017) |
| How We Write Front-end Code | | | (February 20, 2018) |
| Redesigning Heap Without a Feature Branch | | | (April 10, 2019) |
| How we failed, then succeeded, at migrating to TypeScript | | | (October 10, 2019) |
| How we leveraged ASTs and Babel to capture everything on React Native apps | | | (June 23, 2020) |
English / in der Apotheke |
| Farewell, Google Maps | | | (July 18, 2018) |
English / Infinite Red |
| Switching from Ava to Jest for TypeScript | | | (November 6, 2017) |
| Using TypeScript to upgrade Ignite without losing my mind | | | (March 20, 2019) |
| Yarn 1 vs Yarn 2 vs NPM | | | (February 6, 2020) |
| Why Infinite Red uses MobX-State-Tree instead of Redux | | | (June 16, 2020) |
English / Insider Inc. |
| How to style different sites with one CSS collection | | | (December 17, 2018) |
| Why we got rid of all our front-end and back-end engineers | | | (February 13, 2019) |
| Delightful ways to write reusable CSS using subclasses | | | (March 1 , 2019) |
English / Instagram |
| React Native at Instagram | | | (February 7, 2017) |
| part 1 | | | Making Instagram.com faster: (August 1, 2019), (September 6, 2019), (October 11, 2019), (November 1, 2019) |
English / Internet Archive |
| Pixels vs. Ems: Users DO Change Font Size | | | (June 13, 2018) |
English / Intuit |
| Making Accessibility an Integral Part of the Creative Workflow | | | (April 15, 2018) |
| TurboTax Live’s Approach to a Gender-Neutral Design System | | | (February 21, 2019) |
| Delivering Consistent Animations with a Design System Library | | | (April 25, 2019) |
| GraphQL: Intuit’s Path to ONE API System | | | (March 13, 2019) |
English / InVision |
| Sharing ESLint Across Teams | | | (April 5, 2016) |
| Optimizing Webpack for Faster React Builds | | | (April 12, 2016) |
| Persist Redux State by Using Sagas | | | (April 26, 2016) |
| Testing Our Shared ESLint Configs | | | (May 12, 2016) |
| How ESLint Saved Our Soul | | | (August 12, 2016) |
| React Performance Tune-Up | | | (September 23, 2016) |
| Building the inspect measurement engine | | | (July 17, 2019) |
English / Khan Academy |
| Babel in Khan Academy's i18n Toolchain | | | (June 22, 2015) |
| Fun with slope fields, css and react | | | (August 5, 2015) |
| Copy-pasting more than just text | | | (August 31, 2015) |
| i18nize-templates: Internationalization After the Fact | | | (September 28, 2015) |
| Schrödinger's deploys no more: how we update translations | | | (October 12, 2015) |
| Forgo JS packaging? Not so fast | | | (November 23, 2015) |
| Inline CSS at Khan Academy: Aphrodite | | | (March 29, 2016) |
| Migrating to a Mobile Monorepo for React Native | | | (May 29, 2017) |
| Creating Query Components with Apollo | | | (June 12, 2017) |
| tota11y - an accessibility visualization toolkit | | | (April 15, 2018) |
English / Kickstarter |
| Namespacing Actions for Redux | | | (November 20, 2017) |
English / Klarna |
| Migrating from Rails’ asset pipeline to Node’s webpack | | | (January 2, 2016) |
| How removing caching improved mobile performance by 25% | | | (January 10, 2017) |
| Improving Communication and Confidence with Visual Snapshot Testing | | | (March 14, 2017) |
| 6 Lessons learned from optimizing the performance of a Node.js service | | | (January 9, 2020) |
English / Line |
| LINE MANGA: Smooth page transition with Page Stack | | | (January 18, 2018) |
| Easy code-splitting with grow-loader | | | (January 24, 2018) |
English / LinkedIn |
| Bringing a Modern Javascript Build Pipeline to LinkedIn | | | (January 20, 2016) |
| Sleek and Fast: Speeding Up your Fat Web Client | | | (October 19, 2017) |
| The Glimmer Binary Experience | | | (December 7, 2017) |
| Ember Timer Leaks: The Bad Apples in Your Test Infrastructure | | | (January 3, 2018) |
| Lighter than Lightweight: How We Built the Same App Twice with Preact and Glimmer.js | | | (March 12, 2018) |
| LinkedIn’s approach to automated accessibility (A11y) testing | | | (May 21, 2020) |
English / Lucidchart |
| IE10: How does it really stack up? | | | (November 14, 2012) |
| Atomic CSS as a tool set | | | (January 31, 2014) |
| The Definitive Guide to Copying and Pasting in JavaScript | | | (December 2, 2014) |
| Big content in a little canvas | | | (May 19, 2015) |
| Improving Angular 2 Load Times and a 29KB Hello World App | | | (September 26, 2016) |
| Angular 2 and Observables: Data Sharing in a Multi-View Application | | | (November 8, 2016) |
| Using Angular 2 Components In a Non-Angular App | | | (April 10, 2017) |
| Converting 600k lines to TypeScript in 72 hours | | | (November 16, 2017) |
| How to handle folder uploads in Angular 2+ | | | (January 3, 2018) |
| JavaScriptCore – The Holy Grail of Cross Platform | | | (February 14, 2018) |
| How to Actually Improve Type Safety with the TypeScript Strict Flags | | | (June 20, 2018) |
| ZoneTracker: Tracking JavaScript Performance with Zone.js | | | (November 9, 2018) |
| JavaScriptCore—10 Months Later | | | (January 3, 2019) |
English / Lyft |
| TypeScript at Lyft | | | (September 27, 2017) |
| Re-approaching Color | | | (September 21, 2018) |
| Changing Lanes: How Lyft is Migrating 100+ Frontend Microservices to Next.js | | | (November 30, 2020) |
| Frontend at Lyft: An Overview | | | (March 9, 2021) |
English / Mail.ru |
| Improving Core Web Vitals on the Mail.ru home page resulted in an average 10% increase in conversion rates | | | (November 15, 2021) |
English / Mailchimp |
| Designing automated tests for React | | | (August 10, 2019) |
English / MDN |
| Refactoring MDN macros with async, await, and Object.freeze() | | | (February 7, 2019) |
English / Medium |
| Why ContentEditable is Terrible | | | (May 14, 2014) |
| Wait, Don’t Touch That! Mutual Exclusion Locks & JavaScript | | | (January 17, 2015) |
| The curious case of the disappearing Polish S | | | (February 2, 2015) |
| Five Goofy Things Medium Did That Break Accessibility | | | (June 29, 2015) |
| The Unluckiest Paragraphs: A Tale of CSS and Why Parts of Medium Sometimes Disappear | | | (December 5, 2015) |
| Simple Style Sheets, Or How to Improve Your Sleep by Dropping the Cascade | | | (September 28, 2016) |
| 2 Fast 2 Furious: migrating Medium’s codebase without slowing down | | | (March 22, 2018) |
| The case of the eternal blur: a bug hunt horror novella | | | (May 2, 2018) |
| GraphQL Server Design @ Medium | | | (November 2, 2018) |
English / MemSQL |
| Porting 30K lines of code from Flow to TypeScript | | | (January 13, 2019) |
English / Mercado Libre |
| How Mercado Libre optimized for Web Vitals (TBT/FID) | | | (September 21, 2020) |
English / Microsoft Bing |
| Fast Front-End Performance for Microsoft Bing | | | (August 25, 2022) |
English / Microsoft To-Do |
| How We React at Microsoft To-Do | | | (January 5, 2018) |
English / Mixmax |
| Scaling Mixmax: Front-end performance | | | (May 5, 2015) |
| How we built ‘instant’ autocomplete for Mixmax | | | (November 5, 2015) |
| Yarn-ifying Mixmax: why and how we moved from npm to Yarn | | | (April 24, 2017) |
| Using CORS policies to implement CSRF protection | | | (June 13, 2017) |
| React without Redux: how we moved from Backbone to React without rewriting | | | (July 26, 2017) |
| Handling 3rd-party JavaScript with Rollup: how and when to leave JS out of the bundle | | | (December 3, 2017) |
| Precisely observing structural page changes | | | (December 7, 2017) |
| Choosing (and using) Javascript static typing: how Mixmax Engineering adopted Flow | | | (May 15, 2018) |
| To Yarn and Back (to npm) Again | | | (May 29, 2018) |
English / Mixpanel |
| Straightening our Backbone: A lesson in event-driven UI development | | | (April 8, 2015) |
| Making Web Components Work, or: How We Learned to Stop Worrying and Love the DOM | | | (June 12, 2018) |
English / Monzo |
| Building a Bank with Next.js: How We Use Next.js at Monzo | | | (December 2, 2020) |
English / Mozilla |
| The Art of UI Skeletons | | | (April 23, 2019) |
| To Eleventy and Beyond | | | (October 1, 2020) |
English / Mud |
| A Year of Utility Classes | | | (January 28, 2019) |
English / Myntra |
| Myntra’s Web UI Journey — AMP and PWA | | | (January 31, 2018) |
English / Netflix |
| HTML5 Video Playback UI | | | (October 21, 2013) |
| Improving the performance of our JavaScript inheritance model | | | (May 16, 2014) |
| Node.js in Flames | | | (November 19, 2014) |
| JSON Graph: Reactive REST at Netflix | | | (April 1, 2015) |
| Localization Technologies at Netflix | | | (June 4, 2015) |
| Making Netflix.com Faster | | | (August 5, 2015) |
| Crafting a high-performance TV user interface using React | | | (January 12, 2017) |
| Netflix's approach to ES6 feature detection | | | (January 20, 2017) |
| Pass the Remote: User Input on TV Devices | | | (May 17, 2017) |
| Shop Talk podcast #264: React with Netflix | | | (May 22, 2017) |
| Performance Signup in React & Transactional Apps with Redux | | | (October 25, 2017) |
| Implementing Japanese Subtitles on Netflix | | | (December 11, 2017) |
| Integrating imperative APIs into a React application | | | (December 20, 2017) |
| Pseudo Localization @ Netflix | | | (August 6, 2018) |
| Delivering Meaning with Previews on Web | | | (November 12, 2018) |
| Enhancing the Netflix UI Experience with HDR | | | (September 24, 2018) |
| Our learnings from adopting GraphQL | | | (December 10, 2018) |
| Modernizing the Web Playback UI | | | (December 12, 2018) |
| Architecting UI for Netflix Studio Technology | | | (November 14, 2019) |
English / New Relic |
| Real-World JavaScript Performance Tips | | | (November 14, 2014) |
| How We Architected the New Relic Mobile Web UI in React | | | (January 3, 2018) |
English / Notion |
| Migrating Notion's marketing site to Next.js | | | (August 12, 2021) |
English / npm |
| Re-inventing npmjs.com | | | (April 3, 2018) |
| JavaScript Usage by Industry | | | (June 27, 2018) |
English / OK GROW! |
| Migrating from Iron Router to FlowRouter (with Blaze) | | | (September 17, 2015) |
| Where does Redux fit in Meteor? | | | (July 15, 2016) |
| Real-world Unit Testing with Meteor and Jest | | | (October 17, 2017) |
| Optimizing a GraphQL app using Apollo Engine | | | (February 12, 2019) |
English / OYO |
| OYO on a User Experience Quest with AMP ⚡ | | | (January 11, 2018) |
| Brotli vs Gzip Compression. How we improved our latency by 37% | | | (June 29, 2018) |
| AMP for Email - Interactive and Dynamic Email Experiences at OYO | | | (March 26, 2019) |
| Shipping ES6 in browsers without Polyfill | | | (April 17, 2019) |
| Signed-Exchange: Solving the AMP URLs Display Problem | | | (May 7, 2019) |
| Building Chrome Extension with ReactJs: Beginner’s Guide | | | (May 13, 2019) |
| A complete implementation guide to Trusted Web Activity(TWA)- OYO Lite | | | (November 7, 2019) |
| Migrating to webpack 5 to improve build time and reduce chunk sizes | | | (June 30, 2021) |
English / Oyster |
| Oyster Shots on the Front End | | | (July 29, 2011) |
| Using React and jQuery Together | | | (March 22, 2016) |
English / Palantir |
| Scaling product design with Blueprint | | | (January 6, 2017) |
| TSLint in 2019 | | | (February 19, 2019) |
English / PayPal |
| Sane, scalable Angular apps are tricky, but not impossible. Lessons learned from PayPal Checkout | | | (September 26, 2015) |
| Auto-shrink-wrapping in PayPal Checkout, and how it’s saved us more than once | | | (February 10, 2016) |
| Dependency injection in Angular isn’t worth it. More lessons learned from scaling PayPal Checkout | | | (April 3, 2016) |
| Less is more: reducing thousands of PayPal buttons into a single iframe, using zoid | | | (March 17, 2017) |
| Safari’s new third party tracking rules, and enabling cross-domain data storage | | | (August 30, 2017 ) |
| Reinventing cross-origin requests, without CORS | | | (September 6, 2017) |
| Introducing PayPal’s open-source cross-domain javascript suite | | | (October 16, 2017) |
| GraphQL: A success story for PayPal Checkout | | | (October 17, 2018) |
| Why every new web app at PayPal starts with TypeScript | | | (January 21, 2019) |
| Scaling GraphQL at PayPal | | | (October 30, 2019) |
| Sharing UI Components at an Enterprise Level | | | (June 2, 2020) |
| How Micro Frontend Has Changed Our Team Dynamic | | | (August 10, 2020) |
| GraphQL at PayPal: An Adoption Story | | | (September 1, 2021) |
English / Pinafore |
| Introducing Pinafore for Mastodon | | | (April 9, 2018) |
| Scrolling the main document is better for performance, accessibility, and usability | | | (November 18, 2018) |
| Building a modern carousel with CSS scroll snap, smooth scrolling, and pinch-zoom | | | (February 10, 2019) |
| One year of Pinafore | | | (June 2, 2019) |
| The joy and challenge of developing for KaiOS | | | (September 22, 2019) |
| What I’ve learned about accessibility in SPAs | | | (November 5, 2019) |
English / Pinterest |
| Gone In 60 Frames Per Second: A Pinterest Paint Performance Case Study | | | (June 10, 2013) |
| Demystifying SEO with experiments | | | (January 27, 2015) |
| How we made JavaScript testing 15x faster | | | (February 3, 2015) |
| Making Pinterest HTTPS | | | (March 13, 2015) |
| How we switched our template rendering engine to React | | | (November 18, 2016) |
| Introducing Bonsai: an open source Webpack analyzer | | | (June 2, 2017) |
| Migrating Pinterest profiles to React | | | (September 23, 2016) ( ) (November 22, 2017) |
| A Pinterest Progressive Web App Performance Case Study | | | (November 30, 2017) |
| Supporting React Native at Pinterest | | | (May 10, 2018) |
| A one year PWA retrospective | | | (July 20, 2018) |
English / Pivotal Tracker |
| Using Elm in Production at Pivotal Tracker | | | (January 31, 2017) |
| Improving Accessibility in Pivotal Tracker | | | (February 1, 2018) |
English / Plaid |
| Securing WebViews with Chrome Custom Tabs | | | (April 9, 2020) |
English / Plotly |
| Modularizing monolithic javascript projects in plotly.js | | | (January 28, 2016) |
English / Product Hunt |
| React @ Product Hunt | | | (May 30, 2017) |
| GraphQL @ Product Hunt | | | (November 2, 2017) |
English / Proton |
| Deploying CSS Logical Properties On Web Apps | | | (December 23, 2022) |
English / Quizlet |
| Smooth Game Animations in React | | | (February 18, 2016) |
| Launching A Successful Redesign For 20 Million Students | | | (June 13, 2017) |
| Cypress: The future of end-to-end testing for web applications | | | (February 8, 2018) |
| Now or Never: Migrating 300k LOC from Flow to TypeScript at Quizlet | | | (June 18, 2019) |
English / Quora |
| Faster Paint Times | | | (August 18, 2016) |
| Choosing Quora’s GraphQL client | | | (July 22, 2020) |
English / REA Group |
| ReactJS – Real World Examples of Higher-Order Components | | | (May 6, 2016) |
| Singletons Suck (aka Flux to Redux) | | | (August 17, 2016) |
| ReactJS Performance Debugging (aka The Magic of Reselect Selectors) | | | (September 9, 2016) |
| My Journey in a UI Project (aka front-end is the new back-end) | | | (June 23, 2017) |
English / Reaktor |
| Refactoring 30000 lines of JS with types | | | (January 24, 2017) |
English / Reddit |
| How We Built r/Place | | | (April 13, 2017) |
| Why We Chose Typescript | | | (June 30, 2017) |
English / Redmart |
| Angular The Hard Way #1 Organise and manage domain data | | | (April 22, 2015) |
| RedMart's experience with PWA | | | (October 25, 2018) |
| How we use Storybook for documentation and code reviews | | | (November 14, 2018) |
English / repl.it |
| Infinite Loops | | | (January 23, 2017) |
| Modular, fast, small: how we built a server-rendered IDE | | | (February 14, 2018) |
English / Revolut |
| How we learned to stop worrying and love GraphQL | | | (August 8, 2019) |
| The fundamentals of web development at Revolut | | | (January 4, 2021) |
English / Roompact |
| Elm In Production: 25,000 Lines Later | | | (July 30, 2017) |
English / Safety Culture |
| Why we moved our graphQL server from Node.js to Golang | | | (June 27, 2018) |
English / Scratch |
| Porting Scratch from Flash to JavaScript: Performance, Interoperability and Extensions | | | (February 28, 2019) |
English / Sentry |
| Building Sentry: Source maps and their problems | | | (July 16, 2019) |
| Slow and Steady: Converting Sentry’s Entire Frontend to TypeScript | | | (April 12, 2021) |
| How we trimmed the Sentry JavaScript SDK file size by 20% | | | (February 28, 2022) |
| JavaScript SDK “Package Size is Massive” - So we reduced it by 29% | | | (July 19, 2022) |
| Understanding the Performance Impact of Generated JavaScript | | | (July 22, 2022) |
| How We Made JavaScript Stack Traces Awesome | | | (November 30, 2022) |
| Sentry’s Frontend Tests: Migrating from Enzyme to React Testing Library | | | (February 23, 2023) |
| How we reduced CI time by 35% with Nx Caching | | | (March 31, 2023) |
| Measuring Session Replay Overhead | | | (July 5, 2023) |
| How We Reduced Replay SDK Bundle Size by 35% | | | (November 14, 2023) |
English / Shopify |
| How 17 lines of code improved shopify.com loading by 50% | | | (May 24, 2017) |
| Building Shopify mobile with native and web technology | | | (September 29, 2017) |
| Designing a GraphQL API | | | (June 18, 2018) |
| Want to Improve UI Performance? Start by Understanding Your User | | | (October 20, 2019) |
| How We Built Hydrogen: A React Framework for Building Custom Storefronts | | | (June 22, 2022) |
English / Skillshare |
| How We Ditched Redux for MobX | | | (July 2, 2018) |
English / Slack |
| Reducing Slack’s memory footprint | | | (March 3, 2017) |
| TypeScript at Slack | | | (April 11, 2017) |
| Rebuilding Slack’s Emoji Picker in React | | | (May 23, 2017) |
| Getting to Slack faster with incremental boot | | | (July 5, 2016) |
| Localizing Slack | | | (September 12, 2017) |
| Rebuilding slack.com | | | (October 11, 2017) |
| Keep webpack Fast: A Field Guide for Better Build Performance | | | (January 17, 2018) |
| When a rewrite isn’t: rebuilding Slack on the desktop | | | (July 22, 2019) |
| Service Workers at Slack: Our Quest for Faster Boot Times and Offline Support | | | (August 29, 2019) |
| The Gradual Design System: How We Built Slack Kit | | | (September 12, 2019) |
| Building Dark Mode on Desktop | | | (September 24, 2019) |
| Gantry: Slack’s Fast-booting Frontend Framework | | | (October 23, 2019) |
| A Day in the Life of a Frontend Product Engineer at Slack | | | (February 5, 2020) |
| How Slack changed the way it designs accessible frontend components | | | (May 2020) |
| The Unsuspecting Beauty & Complexity of Web Forms | | | (September 15, 2020) |
| part 1 | | | Creating a React Analytics Logging Library: (November 7, 2020) and (December 16, 2020) |
| Managing Focus Transitions in Slack | | | (July 13, 2021) |
English / Snipcart |
| The Story of our Progressive Migration from Backbone to Vue.js | | | (July 20, 2017) |
English / SoundCloud |
| Front-end JavaScript bug tracking | | | (November 21, 2011) |
| Building The Next SoundCloud | | | (June 14, 2012) |
| Smooth image loading by upscaling | | | (February 20, 2014) |
| React Native at SoundCloud | | | (August 3, 2016) |
| Garbage Collection in Redux Applications | | | (January 24, 2019) |
| Playback on Web at SoundCloud | | | (May 3, 2019) |
English / Spectrum |
| Tech Choices I Regret at Spectrum | | | (January 16, 2019) |
English / Spotify |
| Spotify Wrapped 2018 — Technical Case Study | | | (December 18, 2018) |
| Building Spotify’s New Web Player | | | (March 25, 2019) |
| (Right to Left (The Mirror World | | | (April 15, 2019) |
| web-scripts – creating NPM libraries in a snap at Spotify | | | (July 3, 2019) |
| Reimagining Design Systems at Spotify | | | (December 16, 2019) |
English / Stack Overflow |
| HTTPS on Stack Overflow: The End of a Long Road | | | (May 22, 2017) |
| Building dark mode on Stack Overflow | | | (March 31, 2020) |
English / stripe |
| Connect: behind the front-end experience | | | (June 19, 2017) |
| A new approach to mocking GraphQL data: how we power React component tests and examples at Stripe | | | (December 11, 2018) |
| Designing accessible color systems | | | (October 15, 2019) |
| To design and develop an interactive globe | | | (September 1, 2020) |
| Migrating millions of lines of code to TypeScript | | | (May 20, 2022) |
English / SumUp |
| 10 lessons learned building SumUp’s design system | | | (August 15, 2019) |
English / Superhuman |
| Delightful search: more than meets the eye | | | (May 5, 2017) |
English / TakeShape |
| Why we switched from Yarn to pnpm | | | (June 9, 2020) |
English / The Guardian |
| What we learnt from our mistakes in 2016 | | | (December 18, 2016) |
| Revisiting the rendering tier | | | (April 4, 2019) |
| Migrating the Guardian website to React | | | (December 8, 2019) |
English / The Knot Worldwide |
| Rebuilding the Guest List Manager with React + MobX at The Knot | | | (June 19, 2017) |
| React Native @ The Knot | | | (February 8, 2019) |
| React Native @ The Knot: A Designer’s Perspective | | | (February 13, 2019) |
English / The New York Times |
| The Technology Behind the NYTimes.com Redesign | | | (January 8, 2014) |
| Improving Article Accessibility | | | (June 24, 2014) |
| Building a Cross Platform 360-degree Video Experience at The New York Times | | | (November 11, 2016) |
| React, Relay and GraphQL: Under the Hood of The Times Website Redesign | | | (June 30, 2017) |
| GraphQL in real life | | | (April 19, 2019) |
| How We Implemented a Baseline Grid Using CSS | | | (November 21, 2019) |
| A More Accessible Web | | | (February 25, 2021) |
English / The Telegraph |
| React Serverside rendering : build slicker apps with better SEO ranking | | | (September 10, 2018) |
| Improving third-party web performance at The Telegraph | | | (April 30, 2019) |
| Improving Cumulative Layout Shift at Telegraph Media Group | | | (June 14, 2021) |
English / The Times & The Sunday Times |
| Building the UI for the new The Times website | | | (March 30, 2016) |
English / The U.S. Digital Service |
| Building Forms Faster on Vets.gov | | | (June 2, 2017) |
English / The Wall Street Journal |
| Making WSJ.com more accessible | | | (August 3, 2016) |
English / This Also |
| Fixing HTML Video on Mobile | | | (July 14, 2016) |
English / ThomasNet |
| How We Adopted CSS Grid at Scale | | | (March 1, 2018) |
English / Thread |
| Dealing with legacy code in React | | | (May 10, 2018) |
| Searching and sorting text with diacritical marks in JavaScript | | | (August 29, 2018) |
English / Tinder |
| A Tinder Progressive Web App Performance Case Study | | | (December 24, 2017) |
| Building Tinder Online | | | (February 9, 2018) |
English / Tines |
| Our approach to CSS and how we chose it | | | (publication date is unknown) |
| Understanding why our build got 15x slower with Webpack 5 | | | (publication date is unknown) |
English / TinyMCE |
| TinyMCE is going mobile | | | (March 31, 2017) |
| Benefits of gradual strong typing in JavaScript | | | (January 25, 2019) |
English / Tokopedia |
| A Tokopedia Mobile Web Performance Case Study | | | (May 22, 2020) |
| How focusing on web performance improved Tokopedia's click-through rate by 35% | | | (October 13, 2020) |
English / Treebo |
| A React And Preact Progressive Web App Performance Case Study: Treebo | | | (September 13, 2017) |
| Redux Middlewares — An approach to cancel redux actions | | | (May 4, 2018) |
| How do we design for an operations heavy product? | | | (May 31, 2018) |
| Iconography for Treebo | | | (August 13, 2018) |
| Improving User Experience with AMP⚡- A Treebo Case Study | | | (March 16, 2019) |
| A Tale of Brotli Compression | | | (January 20, 2020) |
| GraphQL at Treebo | | | (October 23, 2020) |
English / Trivago |
| Designing for RTL platforms - A flipped layout | | | (April 27, 2015) |
| Risk-free Migration From Assetic to Webpack | | | (May 28, 2015) |
| Speeding up webpack performance with parallel builds | | | (December 15, 2015) |
| Large Scale CSS Refactoring at trivago | | | (February 2, 2016) |
| Dropping IE8 Support: Consequences for JavaScript | | | (June 1, 2016) |
| Thoughts on Atom Building in the Pattern Library | | | (June 16, 2016) |
| An Inline SVG Icon System For Our Hotel Search Application | | | (September 5, 2016) |
| CSS done right - Post RTLCSS | | | (July 7, 2017) |
| Accessibility at trivago | | | (September 26, 2017) |
| trivago just made filtering faster and more accessible, but why and how? | | | (December 22, 2017) |
| Melody - the sound of JavaScript for our Hotel Search | | | (June 28, 2018) |
| Building fast and reliable web applications | | | (October 12, 2018) |
| Presenting babel-plugin-cloudinary | | | (April 2, 2019) |
| trivago Magazine's Journey to Server-Side Rendering | | | (January 29, 2020) |
| The First Prettier Plugin For Twig is Here | | | (March 10, 2020) |
| Exploring the Page Visibility API for Detecting Page Background State | | | (November 17, 2020) |
| Rethinking the Next-gen Analytics Web App at trivago | | | (February 9, 2021) |
| Designing Marketing Emails via predefined Modules in Salesforce Email Studio | | | (April 19, 2021) |
| WARP - A Web Application Rewrite Project | | | (May 16, 2022) |
| 3 Things We Learned When Switching to TypeScript | | | (August 1, 2022) |
| End-to-end tests retry strategies | | | (September 27, 2023) |
English / Tumblr |
| Moving things out of critical rendering path | | | (February 19, 2016) |
| The Road to Webpack | | | (April 29, 2016) |
| Flow and TypeScript | | | (September 7, 2017) |
| Using srcset and sizes to make responsive HTML5 images | | | (March 5, 2018) |
| A Big New Beautiful Future for the Web at Tumblr | | | (April 5, 2018) |
| How we wrote our own Service Worker | | | (February 1, 2019) |
| We’re making Tumblr more accessible! | | | (January 17, 2019) |
English / Twitch |
| Improving Chat Rendering Performance | | | (August 8, 2016) |
| Investigating React Native | | | (April 25, 2017) |
| Beyond Purple | | | (December 3, 2019) |
| |
| View Source: Twitter.com | | | (January 1, 2017) |
| How we built Twitter Lite | | | (April 6, 2017) |
| Infinite List and React | | | (April 9, 2017) |
| Twitter Lite and High Performance React Progressive Web Apps at Scale | | | (April 11, 2017) |
| The Twitter Lite team about their use of Node.js | | | (April 12, 2017) |
| Redux modules and code-splitting | | | (February 02, 2018) |
| How using component-based design helps us build faster | | | (July 16, 2019) |
English / Uber |
| Powering UberEATS with React Native and Uber Engineering | | | (March 28, 2017) |
| Building m.uber: Engineering a High-Performance Web App for the Global Market | | | (June 27, 2017) |
| Javascript @ Uber | | | (July 10, 2017) |
| Building a More Seamless Web Booking Flow for Uber | | | (July 25, 2019) |
| Best Practices for Unit Testing in React Version 16 | | | (August 29, 2019) |
| Counting Calories: How We Improved the Performance and Developer Experience of UberEats.com | | | (February 12, 2020) |
English / Udacity |
| How a Fixed-Width Button Can Get Your Company Trending on Reddit for All the Wrong Reasons: A Front-End Developer Tale | | | (April 11, 2016) |
| React Native: A retrospective from the mobile-engineering team at Udacity | | | (July 3, 2018) |
| Udacity’s Front-End Tech Stack | | | (July 18, 2016) |
English / Unity |
| WebAssembly is here! | | | (August 15, 2018) |
| WebAssembly Load Times and Performance | | | (September 17, 2018) |
English / Unsplash |
| How we gradually migrated to TypeScript at Unsplash | | | (March 14, 2018) |
English / Vercel |
| How we made the Vercel Dashboard twice as fast | | | (August 9, 2022) |
| Designing the Vercel virtual product tour | | | (June 2, 2023) |
| Design Engineering at Vercel | | | (March 29, 2024) |
| How Vercel adopted microfrontends | | | (October 22, 2024) |
English / Verve |
| GraphQL: A Retrospective | | | (November 28, 2018) |
English / Walmart Labs |
| React Native at WalmartLabs | | | (December 19, 2016) |
| Cutting Dev Time in Half With Invalid User Input Prevention | | | (October 25, 2017) |
| Migrating Angular 1.x apps to React — The Hybrid Way! | | | (November 15, 2017) |
| Migrating Large Enterprise to NodeJS | | | (December 9, 2017) |
| Primer on Front End Automation | | | (July 27, 2018) |
| Lazy Loading Images with IntersectionObserver | | | (September 10, 2018) |
| Midway: Walmart’s mocking journey… | | | (October 5, 2018) |
| Infinite Scroll’ing the right way | | | (April 2, 2019) |
| Delivering ReactJS applications at scale | | | (August 26, 2019) |
| Turbocharging Walmart.com | | | (April 9, 2020) |
| Differential Serving — Food for latest browsers | | | (June 23, 2020) |
| |
| Creative Techniques for Loading Web Pages Faster | | | (January 17, 2012) |
| Investigating a performance improvement | | | (June 2, 2017) |
| Improving time-to-logo performance with preload links | | | (June 7, 2017) |
| Beacons | | | (August 16, 2017) |
| Measuring Wikipedia page load times | | | (January 9, 2018) |
| mustache.js replaced with JavaScript template literals in Extension:Popups | | | (April 3, 2018) |
| Extension:Popups (Page Previews) front-end tooling | | | (April 19, 2018) |
| Mobile web performance: the importance of the device | | | (June 22, 2018) |
| Why performance matters | | | (December 12, 2018) |
| Migrating code from MediaWiki's ResourceLoader to Webpack | | | (March 13 2019) |
| Evaluating Element Timing for Images | | | (April 10, 2019) |
| Performance perception: how satisfied are Wikipedia users? | | | (May 29, 2019) |
| Performance perception: the effect of late-loading banners | | | (June 13, 2019) |
| Performance perception: correlation to RUM metrics | | | (June 17, 2019) |
| Tracking down slow event handlers with Event Timing | | | (June 19, 2019) |
| Wikipedia's JavaScript initialisation on a budget | | | (Septemper 18, 2019) |
| Measuring Long Tasks and First Input Delay | | | (December 21, 2019) |
| Analyzing Wikipedia's Search Performance | | | (April 5, 2021) |
| 300ms Faster: Reducing Wikipedia's Total Blocking Time | | | (May 21, 2023) |
English / Wingify |
| jQuery Promises: The answer to PostMessage's asynchrony | | | (June 17, 2013) |
| How We Made The Animated A/B Testing Guide | | | (July 8, 2013) |
| Getting 60 FPS using Chrome devtools | | | (July 29, 2013) |
| Overcoming the Challenges of Performance Testing Single-page Apps | | | (January 29, 2015) |
| Testing AngularJS Apps End to End Using Protractor | | | (February 13, 2015) |
| A layout trick | | | (April 4, 2016) |
| Speeding Up VWO | | | (September 17, 2016) |
| Migrating towards Yarn and Webpack | | | (October 4, 2017) |
| Why we've removed Inheritance/Extend from SASS & you should do the same! | | | (November 30, 2017) |
| Automated Heatmap Verification E2E using Selenium and Canvas | | | (April 3, 2018) |
English / Wix |
| Taking CSS To Scale: A Pragmatic Approach | | | (July 13, 2016) |
| Building a React Native App for 80 Million Users | | | (October 1, 2016) |
| The Story of Making Wix Accessible | | | (December 14, 2017) |
| Improving load time for 100 million websites | | | (June 26, 2018) |
| Trim the Fat From Your Bundles Using Webpack Analyzer & React Lazy/Suspense | | | (September 2, 2019) |
| How Wix improved website performance by evolving their infrastructure | | | (March 10, 2021) |
| When life gives you lemons, write better error messages | | | (September 12, 2022) |
English / Yelp |
| Whoa! That Embedded Web View Looks Hot in Your iOS App! | | | (November 7, 2013) |
| CSS in the Age of React: How We Traded the Cascade for Consistency | | | (March 5, 2018) |
| Organizing and Securing Third-Party CDN Assets at Yelp | | | (November 20, 2019) |
| Server Side Rendering at Scale | | | (February 22, 2022) |
| Migrating from Styleguidist to Storybook | | | (July 6, 2022) |
| Writing Emails Using React | | | (July 20, 2022) |
| Gondola: an internal PaaS architecture for frontend app deployment | | | (March 3, 2023) |
English / YNAB |
| Progressive Conversion of TypeScript Namespaces to Modules | | | (September 23, 2019) |
| part 1 | | | Semantic Colors for Designers and Developers: , and (February 12, 2020) |
| How we use OpenAPI / Swagger for the YNAB API | | | (March 16, 2020) |
English / YouTube |
| Page Weight Matters | | | (December 21, 2012) |
| Polymer @ YouTube | | | (August 22, 2017) |
| A Conspiracy To Kill IE6 | | | (May 1, 2019) |
| Building a Better Web - Part 1: A faster YouTube on web | | | (October 20, 2022) |
English / Zajno |
| Visualizing money: how we explained a complex financial product using animation | | | (September 25, 2018) |
English / Zynga |
| Why & How Words With Friends Is Adopting React Native | | | (September 17, 2018) |
| React Native Stability Monitoring | | | (May 14, 2019) |
English / 18F |
| Building a large-scale design system: How we created a design system for the U.S. government | | | (October 3, 2017) |
English / 1Password |
| From dark to light and back again | | | (November 8, 2018) |
| How we used esbuild to reduce our browser extension build times by 90% | | | (May 30, 2024) |
English / Miscellaneous |
| PWA Stats | | | |
| Web Performance Optimization Stats | | | |
| Production Web Apps Performance Study Q4/16 - Q1/17 | 174 | almost 9 years ago | (January 21, 2017) |
| Case study: improving a popular library’s size for webpack users | | | (June 23, 2017) |
| Case study: analyzing the Walmart site performance | | | (April 27, 2018) |
| part 1 | | | Web Components for Enterprise (July 2019): and |
| Frontend at scale | | | : leaders at Atlassian, Canva, Tinder, and Vimeo discuss frameworks, tooling, and rapidly evolving technologies (May 2020) |
| Introducing emoji-picker-element: a memory-efficient emoji picker for the web | | | (June 28, 2020) |
| Building an accessible emoji picker | | | (July 1, 2020) |
| How ZDF created a video PWA with offline and dark mode | | | (October 7, 2020) |
| NDTV achieved a 55% improvement in LCP by optimizing for Core Web Vitals | | | (October 27, 2020) |
| Rakuten 24’s investment in PWA increases user retention by 450% | | | (November 17, 2020) |
| JD.ID improves their mobile conversion rate by 53% with caching strategies, installation, and push notifications | | | (November 24, 2020) |
| PWA users are 2.5x more likely to purchase Gravit Designer PRO | | | (December 8, 2020) |
| Clipchamp's video editor PWA installs see a 97% monthly growth | | | (December 8, 2020) |
| How Zalando reduced performance feedback time from 1 day to 15 minutes with Lighthouse CI | | | (April 13, 2021) |
| Mainline Menswear implements PWA and sees a 55% conversion rate uplift | | | (April 20, 2021) |
| How Swappie increased mobile revenue by 42% by focusing on Core Web Vitals | | | (September 15, 2021) |
| How Terra improved user engagement thanks to Dark Mode | | | (December 18, 2021) |
Russian / Amplifr |
| Принципы разработки Амплифера | | | (2019) |
| Как Амплифер использует Logux — инструмент для связи клиента и сервера | | | (5 марта 2020) |
Russian / Aviasales |
| Как мы строим веб-платформу в Авиасейлс | | | (4 ноября 2021) |
Russian / Avito |
| Фронтенд в Avito | | | (13 декабря 2015) |
| Фронтенд для миллионов | | | (24 июня 2017) |
| Дизайн-платформа в Avito | | | (8 апреля 2017) |
| Скриншоты как сервис | | | (7 марта 2018) |
| Unit-тестирование скриншотами: преодолеваем звуковой барьер | | | (14 марта 2018) |
| Масштабируемая архитектура фронтенда | | | (7 апреля 2018) |
| Каталог компонентов: переосмысление | | | (19 мая 2018) |
| Avito Online Frontend: Infrastructure | | | (11 декабря 2018) |
| Avito Online Frontend: Performance | | | (18 декабря 2018) |
| Жесть для Jest | | | (17 августа 2019) |
| Как мы нарисовали на карте несколько тысяч интерактивных объектов без вреда для перформанса | | | (29 июля 2020) |
| Webpack в дикой природе | | | (20 ноября 2020) |
Russian / auto.ru |
| Полный цикл тестирования React-приложений | | | (14 июля 2019) |
Russian / Badoo |
| Многоязычный Badoo: «трудности перевода» | | | (22 мая 2014) |
| Специфика верстки мультиязычных веб-приложений | | | (26 марта 2015) |
| Как собрать статистику с веб-сайта и не набить себе шишек | | | (29 марта 2017) |
| Работаем с API по-взрослому | | | (14 апреля 2017) |
| Покрываем A/B-тесты UI-тестами. Как не запутаться в собственном коде | | | (26 декабря 2018) |
| Часть 1 | | | Sketch + Node.js: генерируем иконки для множества платформ и брендов. (27 февраля 2019) и (12 марта 2019) |
| Локализация приложений: как мы подружили перевод и разработку | | | (23 января 2020) |
| Дизайн-токены способны на большее: создаем единый источник информации о компонентах UI | | | (12 марта 2020) |
| Как перенести на TypeScript большую кодовую базу React UI-компонентов | | | (9 сентября 2020) |
Russian / Delivery Club |
| Микрофронтенды: разделяй и властвуй | | | (14 апреля 2021) |
Russian / DIRECTUM |
| Опыт перевода большого проекта с Flow на TypeScript | | | (1 августа 2019) |
Russian / Flocktory |
| Разработка сторонних библиотек | | | (22 мая 2017) |
Russian / GitLab |
| Методы борьбы с legacy-кодом на примере GitLab | | | (10 декабря 2019) |
Russian / HeadHunter |
| Нянчим проект на React-redux с пелёнок | | | (21 сентября 2016) |
| Качество кода фронтенда в HH | | | (4 февраля 2019) |
| Как мы пилили серверный рендеринг и что из этого вышло | | | (28 марта 2019) |
| Перфоманс фронтенда как современное искусство: графики, код, кулстори | | | (17 сентября 2020) |
| «Продам гараж»: фронт и реклама в hh.ru | | | (14 апреля 2021) |
Russian / ISPSystem |
| Обновляем Angular до 6-ой версии в проекте без использования CLI | | | (16 мая 2018) |
| Как организовать собственный репозиторий модулей Node.js с блэкджеком и версионностью | | | (25 июля 2018) |
| Как разделить фронтенд и бэкенд, сохранив взаимопонимание | | | (11 апреля 2019) |
| От библиотеки компонентов к дизайн-системе | | | (23 июня 2020) |
| Ленивая подгрузка переводов с Angular | | | (22 июля 2020) |
Russian / Joom |
| Автоматизируем локализацию макетов в Figma | | | (29 декабря 2020) |
| Пошаговая инструкция: как с Node.js организовать иконки из Figma в проекте | | | (30 декабря 2022) |
Russian / Mail.Ru |
| Разработка собственного решения: риски и ответственность | | | (26 ноября 2015) |
| Frontend: Разработка и поддержка | | | (6 сентября 2016) |
| Архитектура фронтенда крупного проекта, как она есть | | | (19 апреля 2018) |
| запись доклада | | | WebAuthn в реальной жизни: (27 ноября 2019), (20 февраля 2020) |
| Кастомизация компонентов Ant Design и оптимизация бандла | | | (11 декабря 2020) |
| Адаптивный layout — как переверстать весь проект, не перевёрстывая его | | | (24 сентября 2021) |
Russian / Microsoft To-Do |
| Как Microsoft To-Do использует React | | | (18 июня 2018) |
Russian / Miro |
| Как мы учились рисовать тексты на Canvas | | | (3 июля 2019) |
| Как мы боролись за байты на фронтенде. Усмиряем прожорливый виджет рисования и помогаем iPad его переварить | | | (6 июля 2021) |
Russian / Netcracker |
| Выбранный UI-фреймворк – вред. Архитектурные требования – профит | | | (20 июля 2017) |
| Микросервисный фронтенд — современный подход к разделению фронта | | | (21 августа 2018) |
Russian / OneTwoTrip |
| 9 лет в монолите на Node.JS | | | (9 июля 2019) |
| Как мигрировать с mocha на jest в 14 простых шагов — и зачем | | | (31 января 2020) |
Russian / Rambler Group |
| Как мы разогнали мобильную Lenta.ru до скорости света | | | (31 марта 2016) |
| Проектирование дизайн-системы Рамблера | | | (18 июня 2018) |
| Опыт Rambler Group: как мы начали полностью контролировать формирование и поведение фронтовых React компонентов | | | (12 июля 2018) |
| Apollo: 9 месяцев — полет нормальный | | | (27 июля 2018) |
| Способы синхронизации вкладок браузера | | | (7 сентября 2018) |
| Маршрутизация в большом приложении на React | | | (27 сентября 2018) |
Russian / Setka |
| Разработка Rich Text Editor: проблемы и решения | | | (5 марта 2018) |
Russian / Skyeng |
| Как масштабировать сложный Single Page Application | | | (5 июня 2017) |
| цели, планы и правила переноса элементов | | | Переход с AngularJS на Angular (февраль 2018): , , |
| От Skype до WebRTC: как мы организовали видеосвязь через веб | | | (3 апреля 2019) |
| Как мы подружили SCSS с CSS Variables на примере c темизацией UI Kit | | | (9 июля 2019) |
Russian / Sports.ru |
| Как в Sports.ru писали свой WYSIWYG-редактор | | | (13 марта 2020) |
Russian / Tinkoff |
| Как мы разрабатываем новый фронтенд Tinkoff.ru | | | (23 июня 2016) |
| Создание Tinkoff Design System. Первые шаги | | | (18 апреля 2017) |
| Создание Tinkoff Design System. UI Kit, версионирование и витрина компонентов | | | (9 октября 2017) |
| Как организовать работу над библиотекой общих компонентов | | | (25 сентября 2019) |
| WARNING: sanitizing HTML stripped some content и как с ним правильно бороться | | | (27 сентября 2019) |
| Как заопенсорсить npm-пакет с нормальным деплоем, CI и демо (без потери радости к жизни) | | | (30 сентября 2019) |
| Компоненты-агностики в Angular | | | (25 октября 2019) |
| «Шакал»: сжимаем фронтенд | | | (7 ноября 2019) |
| часть 1 | | | Как мы распилили монолит: , , , (август–декабрь 2020) |
Russian / Wrike |
| Чем плох JavaScript в большом проекте? С какими проблемами мы столкнулись и как их решали | | | (16 февраля 2016) |
| Как отрефакторить 2 500 000 строк кода и не сойти с ума | | | (5 июня 2017) |
| Два года с Dart: о том, как мы пишем на языке, который ежегодно «хоронят» | | | (15 июня 2017) |
| DIY: Как мы делали «живое» расписание для Codefest X | | | (18 апреля 2019) |
| 10 верстальщиков на 30 команд. Вы рехнулись? | | | (21 мая 2019) |
| Как настроить веб-аналитику на AMP страницах | | | (26 июня 2019) |
Russian / Альфа-Банк |
| Предъявите паспорт | | | (18 августа 2017) |
| БЭМ + React: гибкая архитектура дизайн-системы | | | (23 октября 2017) |
| Изоморфное приложение React JS + Spring Boot | | | (27 октября 2017) |
| Атомарные SPA | | | (7 апреля 2018) |
| Тёмная сторона дизайн-системы и что с ней делать | | | (16 марта 2020) |
Russian / Бюро Горбунова |
| Как в книгах Бюро тяжёлые картинки выгружаются из памяти, чтобы браузер не тормозил | | | (29 июня 2017) |
Russian / ВКонтакте |
| React со скоростью света: не совсем обычный серверный рендеринг | | | (2 июня 2017) |
| Как оседлать радугу: история создания тёмной темы | | | (29 апреля 2019) |
| Баги, которые вы никогда не встретите | | | (26 ноября 2019) |
| Бенчмарки VKUI и других ребят из UI-библиотек | | | (26 мая 2021) |
Russian / Додо Пицца |
| Додо Пицца: собственная касса на веб-технологиях | | | (14 октября 2019) |
| Лошадь сдохла – слезь: переход с tslint на eslint | | | (29 октября 2019) |
Russian / Леруа Мерлен |
| Опыт интеграции веб-компонентов на сайт Леруа Мерлен | | | (18 февраля 2020) |
Russian / Медуза |
| Веб-пуш уведомления в Медузе | | | (10 декабря 2015) |
| AMP, Instant Articles, Instant View, whut? | | | (23 ноября 2016) |
| Как использовать кастомные шрифты в вебе и не сойти с ума | | | (1 декабря 2016) |
| Подкасты «Медузы» | | | (21 сентября 2017) |
| Как техотдел «Медузы» решил оптимизировать картинки — а в процессе переделал сайт, админку и подход к интерфейсу | | | (13 июля 2020) |
Russian / Одноклассники |
| Архитектура и платформа проекта Одноклассники | | | (21 марта 2011) |
| Как мы оптимизировали социальную кнопку | | | (26 августа 2013) |
| Часть 1 | | | Новый фронтенд Одноклассников: запуск React в Java. и (январь–февраль 2020) |
Russian / Сбербанк |
| За закрытой дверью фронтенда Единой фронтальной системы (ЕФС) | | | (7 апреля 2017) |
| Redux как сердце архитектуры фронтенда Единой фронтальной системы | | | (4 мая 2017) |
| Работа с периферией из JavaScript: от теории к практике | | | (15 июня 2017) |
| Как работают приложения Сбербанк Онлайн: Workflow API и фрэймворки | | | (18 апреля 2018) |
Russian / Ситимобил |
| Хороший ли выбор Svelte для реализации виджета? | | | (28 мая 2020) |
Russian / Спортмастер |
| Frontend в Sportmaster Lab | | | (4 декабря 2020) |
Russian / Учи.ру |
| Интерфейсы для тех, кто еще не читает. Принципы проектирования детского UX-UI | | | (24 августа 2020) |
| Единый UI-кит и синхронизация дизайна в Учи.ру. Часть 1 | | | (20 февраля 2021) |
Russian / Хабр |
| Как мы ускоряли комментарии Хабра | | | (25 ноября 2021) |
Russian / ЦИАН |
| Микросервисный фронтенд | | | (7 ноября 2018) |
| доклад | | | Как разрабатывать сотни A/B-экспериментов: , (28 мая 2019) |
| Внедряем Sign in with Apple — систему авторизации от Apple | | | (8 ноября 2019) |
| Micro-frontends. Асинхронный подход к мультикомандной разработке | | | (28 августа 2020) |
| Время менять шапки: ускорение мобильной поисковой выдачи Циан | | | (11 января 2021) |
Russian / ЮMoney (Яндекс.Деньги) |
| Прототипирование на продакшн-технологиях | | | (26 октября 2017) |
| Почему Node.js в качестве основы фронтенда – это круто | | | (31 июля 2017) |
| Создание NPM-модуля Яндекс.Кассы под Node.js — опыт Lodoss Team | | | (1 февраля 2018) |
| Фронтенд как у сына маминой подруги | | | (26 апреля 2018) |
| Реактивный фронтенд. История о том, как мы снова всё переписали | | | (15 июня 2018) |
| Jenkins на службе фронтенд-разработки | | | (22 февраля 2018) |
| Обзор архитектуры фронтенда ЮMoney | | | (15 декабря 2020) |
Russian / Яндекс |
| Как инкрементальные обновления влияют на скорость загрузки. Опыт Яндекс.Почты | | | (6 ноября 2014) |
| Accessibility. Как мы делаем Яндекс доступным людям с ограниченными возможностями и почему считаем это важным | | | (21 мая 2015) |
| Лекция Виталия Харисова «10k» про лёгкую версию поиска для медленных соединений и способы оптимизации кода, позволяющие уложиться в 10 килобайт | | | (22 апреля 2017) |
| Как создавалась карта с голосами болельщиков для Олимпиады | | | (20 августа 2017) |
| Как мы делали «нарратив» – новый формат публикаций в Яндекс.Дзене | | | (16 февраля 2018) |
| React в Яндекс Поиске. Новая архитектура фронтенда СЕРПа | | | (27 октября 2018) |
| Бэкенд для фронтенда, или как в Яндекс.Маркете создают API без костылей | | | (1 ноября 2018) |
| React & БЭМ – официальная коллаборация. Часть историческая | | | (5 февраля 2019) |
| Как создать тёмную тему и не навредить. Опыт команды Яндекс.Почты | | | (9 апреля 2019) |
| «Под капотом» Турбо-страниц: архитектура технологии быстрой загрузки веб-страниц | | | (17 июля 2019) |
| От идеи до релиза. Детальный опыт фронтенда Маркета | | | (22 июля 2019) |
| Разработка в монорепозитории | | | (3 октября 2019) |
| Как мы внедряли WebAssembly в Яндекс.Картах и почему оставили JavaScript | | | (19 ноября 2019) |
| Как устроено тестирование фронтенда в Яндекс.Маркете и почему мы отказываемся от еженедельных релизов | | | (10 декабря 2019) |
| Как переписать фронтенд нагруженного проекта и не потерять главного | | | (3 февраля 2020) |
| Минифицируем приватные поля в TypeScript | | | (13 июня 2020) |
| Технические предпочтения пользователей с нарушениями зрения в 2020 году | | | (18 августа 2020) |
| Как и почему мы переехали с собственного npm-репозитория на Verdaccio | | | (17 ноября 2020) |
| Веб-тренажёр Яндекс.Практикума. Как всё устроено | | | (27 ноября 2020) |
Russian / 2ГИС |
| TARS, сделай уровень frontend-рутины 0% | | | (26 марта 2015) |
| Тестируем вёрстку правильно | | | (18 февраля 2016) |
| Этажи: 3D-навигация на WebGL в 2gis.ru | | | (22 апреля 2016) |
| Дели — сокращай, или как мы делали мобильный 2ГИС Онлайн | | | (20 июля 2017) |
| Справа налево. Что такое dir=rtl и как приручить арабский язык | | | (10 мая 2018) |
| Справа налево. Как перевернуть интерфейс сайта под RTL | | | (10 июля 2018) |
| Быстрая генерализация маркеров на WebGL-карте | | | (6 марта 2019) |
| 3D-аркада в браузере: как мы сделали игру на React + Redux | | | (23 апреля 2020) |
Russian / Прочее |
| Вавилонская башня из миллиона печенек. Как мы делали игру в VK mini app | | | (10 марта 2021) |