{"@attributes":{"version":"2.0"},"channel":{"title":"Frontend Case Studies","description":"A curated list of talks and articles about real-world frontend development","link":"https:\/\/frontendcs.com\/","language":"en-us","image":{"url":"https:\/\/frontendcs.com\/s\/images\/favicon-96x96.png","title":"Frontend Case Studies","link":"https:\/\/frontendcs.com"},"item":[{"title":"How I Convinced Our CTO to Switch From CoffeeScript to ES6","link":"https:\/\/www.aha.io\/blog\/coffescript-to-es6","guid":"https:\/\/www.aha.io\/blog\/coffescript-to-es6","description":"Case study by Aha!","pubDate":"Thu, 07 Sep 2017 00:00:00 GMT"},{"title":"Redux-Doghouse: Creating reusable React-Redux components through scoping","link":"https:\/\/www.datadoghq.com\/blog\/engineering\/redux-doghouse-reusable-react-redux-components-through-scoping\/","guid":"https:\/\/www.datadoghq.com\/blog\/engineering\/redux-doghouse-reusable-react-redux-components-through-scoping\/","description":"Case study by Datadog","pubDate":"Mon, 14 Nov 2016 00:00:00 GMT"},{"title":"How Datadog uses Datadog to gain visibility into the Datadog user experience","link":"https:\/\/www.datadoghq.com\/blog\/engineering\/how-datadog-uses-datadog-to-gain-visibility-into-the-datadog-user-experience\/","guid":"https:\/\/www.datadoghq.com\/blog\/engineering\/how-datadog-uses-datadog-to-gain-visibility-into-the-datadog-user-experience\/","description":"Case study by Datadog","pubDate":"Tue, 22 Feb 2022 00:00:00 GMT"},{"title":"DRUIDS, the Design System that Powers Datadog","link":"https:\/\/www.datadoghq.com\/blog\/engineering\/druids-the-design-system-that-powers-datadog\/","guid":"https:\/\/www.datadoghq.com\/blog\/engineering\/druids-the-design-system-that-powers-datadog\/","description":"Case study by Datadog","pubDate":"Thu, 29 Sep 2022 00:00:00 GMT"},{"title":"Making Fetch Happen - Building a General-purpose Query & Render Scheduler","link":"https:\/\/www.datadoghq.com\/blog\/engineering\/making-fetch-happen-building-a-general-purpose-query-and-render-scheduler\/","guid":"https:\/\/www.datadoghq.com\/blog\/engineering\/making-fetch-happen-building-a-general-purpose-query-and-render-scheduler\/","description":"Case study by Datadog","pubDate":"Mon, 17 Apr 2023 00:00:00 GMT"},{"title":"How We Migrated Our Acceptance Tests to Use Synthetic Monitoring","link":"https:\/\/www.datadoghq.com\/blog\/engineering\/migrating-acceptance-tests-to-synthetic-monitoring\/","guid":"https:\/\/www.datadoghq.com\/blog\/engineering\/migrating-acceptance-tests-to-synthetic-monitoring\/","description":"Case study by Datadog","pubDate":"Fri, 30 Jun 2023 00:00:00 GMT"},{"title":"Why Scaling TypeScript Became a Necessity at Datadog","link":"https:\/\/dev.to\/datadog-frontend-dev\/why-scaling-typescript-became-a-necessity-at-datadog-1nmn","guid":"https:\/\/dev.to\/datadog-frontend-dev\/why-scaling-typescript-became-a-necessity-at-datadog-1nmn","description":"Case study by Datadog","pubDate":"Fri, 04 Jul 2025 00:00:00 GMT"},{"title":"Turbocharged JavaScript Refactoring with Codemods","link":"https:\/\/medium.com\/airbnb-engineering\/turbocharged-javascript-refactoring-with-codemods-b0cae8b326b9","guid":"https:\/\/medium.com\/airbnb-engineering\/turbocharged-javascript-refactoring-with-codemods-b0cae8b326b9","description":"Case study by Airbnb","pubDate":"Wed, 27 Apr 2016 00:00:00 GMT"},{"title":"Rearchitecting Airbnb\u2019s Frontend","link":"https:\/\/medium.com\/airbnb-engineering\/rearchitecting-airbnbs-frontend-5e213efc24d2","guid":"https:\/\/medium.com\/airbnb-engineering\/rearchitecting-airbnbs-frontend-5e213efc24d2","description":"Case study by Airbnb","pubDate":"Mon, 15 May 2017 00:00:00 GMT"},{"title":"Migrating from Mocha to Jest","link":"https:\/\/medium.com\/airbnb-engineering\/unlocking-test-performance-migrating-from-mocha-to-jest-2796c508ec50","guid":"https:\/\/medium.com\/airbnb-engineering\/unlocking-test-performance-migrating-from-mocha-to-jest-2796c508ec50","description":"Case study by Airbnb","pubDate":"Thu, 15 Jun 2017 00:00:00 GMT"},{"title":"React Performance Fixes on Airbnb Listing Pages","link":"https:\/\/medium.com\/airbnb-engineering\/recent-web-performance-fixes-on-airbnb-listing-pages-6cd8d93df6f4","guid":"https:\/\/medium.com\/airbnb-engineering\/recent-web-performance-fixes-on-airbnb-listing-pages-6cd8d93df6f4","description":"Case study by Airbnb","pubDate":"Tue, 05 Dec 2017 00:00:00 GMT"},{"title":"Server Rendering, Code Splitting, and Lazy Loading with React Router v4","link":"https:\/\/medium.com\/airbnb-engineering\/server-rendering-code-splitting-and-lazy-loading-with-react-router-v4-bfe596a6af70","guid":"https:\/\/medium.com\/airbnb-engineering\/server-rendering-code-splitting-and-lazy-loading-with-react-router-v4-bfe596a6af70","description":"Case study by Airbnb","pubDate":"Wed, 10 Jan 2018 00:00:00 GMT"},{"title":"React Native at Airbnb","link":"https:\/\/medium.com\/airbnb-engineering\/react-native-at-airbnb-f95aa460be1c","guid":"https:\/\/medium.com\/airbnb-engineering\/react-native-at-airbnb-f95aa460be1c","description":"Case study by Airbnb","pubDate":"Tue, 19 Jun 2018 00:00:00 GMT"},{"title":"Operationalizing Node.js for Server Side Rendering","link":"https:\/\/medium.com\/airbnb-engineering\/operationalizing-node-js-for-server-side-rendering-c5ba718acfc9","guid":"https:\/\/medium.com\/airbnb-engineering\/operationalizing-node-js-for-server-side-rendering-c5ba718acfc9","description":"Case study by Airbnb","pubDate":"Wed, 18 Jul 2018 00:00:00 GMT"},{"title":"How Airbnb is Moving 10x Faster at Scale with GraphQL and Apollo","link":"https:\/\/medium.com\/airbnb-engineering\/how-airbnb-is-moving-10x-faster-at-scale-with-graphql-and-apollo-aa4ec92d69e2","guid":"https:\/\/medium.com\/airbnb-engineering\/how-airbnb-is-moving-10x-faster-at-scale-with-graphql-and-apollo-aa4ec92d69e2","description":"Case study by Airbnb","pubDate":"Wed, 05 Dec 2018 00:00:00 GMT"},{"title":"Building (And Re-Building) the Airbnb Design System","link":"https:\/\/youtu.be\/fHQ1WSx41CA","guid":"https:\/\/youtu.be\/fHQ1WSx41CA","description":"Case study by Airbnb","pubDate":"Wed, 30 Oct 2019 00:00:00 GMT"},{"title":"ts-migrate: A Tool for Migrating to TypeScript at Scale","link":"https:\/\/medium.com\/airbnb-engineering\/ts-migrate-a-tool-for-migrating-to-typescript-at-scale-cd23bfeb5cc","guid":"https:\/\/medium.com\/airbnb-engineering\/ts-migrate-a-tool-for-migrating-to-typescript-at-scale-cd23bfeb5cc","description":"Case study by Airbnb","pubDate":"Tue, 18 Aug 2020 00:00:00 GMT"},{"title":"Building a Faster Web Experience with the postTask Scheduler","link":"https:\/\/medium.com\/airbnb-engineering\/building-a-faster-web-experience-with-the-posttask-scheduler-276b83454e91","guid":"https:\/\/medium.com\/airbnb-engineering\/building-a-faster-web-experience-with-the-posttask-scheduler-276b83454e91","description":"Case study by Airbnb","pubDate":"Thu, 20 May 2021 00:00:00 GMT"},{"title":"A Deep Dive into Airbnb\u2019s Server-Driven UI System","link":"https:\/\/medium.com\/airbnb-engineering\/a-deep-dive-into-airbnbs-server-driven-ui-system-842244c5f5","guid":"https:\/\/medium.com\/airbnb-engineering\/a-deep-dive-into-airbnbs-server-driven-ui-system-842244c5f5","description":"Case study by Airbnb","pubDate":"Tue, 29 Jun 2021 00:00:00 GMT"},{"title":"Measuring Web Performance at Airbnb","link":"https:\/\/medium.com\/airbnb-engineering\/measuring-web-performance-at-airbnb-122da8d3ea3f","guid":"https:\/\/medium.com\/airbnb-engineering\/measuring-web-performance-at-airbnb-122da8d3ea3f","description":"Case study by Airbnb","pubDate":"Tue, 07 Dec 2021 00:00:00 GMT"},{"title":"Faster JavaScript Builds with Metro","link":"https:\/\/medium.com\/airbnb-engineering\/faster-javascript-builds-with-metro-cfc46d617a1f","guid":"https:\/\/medium.com\/airbnb-engineering\/faster-javascript-builds-with-metro-cfc46d617a1f","description":"Case study by Airbnb","pubDate":"Tue, 24 May 2022 00:00:00 GMT"},{"title":"Airbnb\u2019s Trip to Linaria","link":"https:\/\/medium.com\/airbnb-engineering\/airbnbs-trip-to-linaria-dc169230bd12","guid":"https:\/\/medium.com\/airbnb-engineering\/airbnbs-trip-to-linaria-dc169230bd12","description":"Case study by Airbnb","pubDate":"Thu, 16 Jun 2022 00:00:00 GMT"},{"title":"Improving Performance with HTTP Streaming","link":"https:\/\/medium.com\/airbnb-engineering\/improving-performance-with-http-streaming-ba9e72c66408","guid":"https:\/\/medium.com\/airbnb-engineering\/improving-performance-with-http-streaming-ba9e72c66408","description":"Case study by Airbnb","pubDate":"Wed, 17 May 2023 00:00:00 GMT"},{"title":"Rethinking Text Resizing on Web","link":"https:\/\/medium.com\/airbnb-engineering\/rethinking-text-resizing-on-web-1047b12d2881","guid":"https:\/\/medium.com\/airbnb-engineering\/rethinking-text-resizing-on-web-1047b12d2881","description":"Case study by Airbnb","pubDate":"Thu, 16 May 2024 00:00:00 GMT"},{"title":"How Airbnb Smoothly Upgrades React","link":"https:\/\/medium.com\/airbnb-engineering\/how-airbnb-smoothly-upgrades-react-b1d772a565fd","guid":"https:\/\/medium.com\/airbnb-engineering\/how-airbnb-smoothly-upgrades-react-b1d772a565fd","description":"Case study by Airbnb","pubDate":"Tue, 23 Jul 2024 00:00:00 GMT"},{"title":"Adopting Bazel for Web at Scale","link":"https:\/\/medium.com\/airbnb-engineering\/adopting-bazel-for-web-at-scale-a784b2dbe325","guid":"https:\/\/medium.com\/airbnb-engineering\/adopting-bazel-for-web-at-scale-a784b2dbe325","description":"Case study by Airbnb","pubDate":"Tue, 12 Nov 2024 00:00:00 GMT"},{"title":"Adopting Typescript at Scale","link":"https:\/\/youtu.be\/P-J9Eg7hJwE","guid":"https:\/\/youtu.be\/P-J9Eg7hJwE","description":"Case study by Airbnb","pubDate":"Sun, 16 Jun 2019 00:00:00 GMT"},{"title":"Accelerating Large-Scale Test Migration with LLMs","link":"https:\/\/medium.com\/airbnb-engineering\/accelerating-large-scale-test-migration-with-llms-9565c208023b","guid":"https:\/\/medium.com\/airbnb-engineering\/accelerating-large-scale-test-migration-with-llms-9565c208023b","description":"Case study by Airbnb","pubDate":"Thu, 13 Mar 2025 00:00:00 GMT"},{"title":"The Impact of Web Performance","link":"https:\/\/simplified.dev\/performance\/impact-of-web-performance","guid":"https:\/\/simplified.dev\/performance\/impact-of-web-performance","description":"Case study by ALDO Group","pubDate":"Thu, 06 Feb 2020 00:00:00 GMT"},{"title":"Improving Web Performance to Mirror Engine Speed","link":"https:\/\/www.algolia.com\/blog\/engineering\/improving-web-performance-to-mirror-engine-speed","guid":"https:\/\/www.algolia.com\/blog\/engineering\/improving-web-performance-to-mirror-engine-speed","description":"Case study by Algolia","pubDate":"Wed, 26 Jul 2017 00:00:00 GMT"},{"title":"Using NetInfo API to Improve Algolia\u2019s JavaScript Client","link":"https:\/\/www.algolia.com\/blog\/engineering\/netinfo-api-algolia-javascript-client","guid":"https:\/\/www.algolia.com\/blog\/engineering\/netinfo-api-algolia-javascript-client","description":"Case study by Algolia","pubDate":"Tue, 30 Jul 2019 00:00:00 GMT"},{"title":"Managing Frontend in the Microservices Architecture","link":"https:\/\/blog.allegro.tech\/2016\/03\/Managing-Frontend-in-the-microservices-architecture.html","guid":"https:\/\/blog.allegro.tech\/2016\/03\/Managing-Frontend-in-the-microservices-architecture.html","description":"Case study by Allegro","pubDate":"Sat, 12 Mar 2016 00:00:00 GMT"},{"title":"Why Allegro Ads chose TypeScript","link":"https:\/\/blog.allegro.tech\/2019\/04\/why-allegro-ads-chose-typescript.html","guid":"https:\/\/blog.allegro.tech\/2019\/04\/why-allegro-ads-chose-typescript.html","description":"Case study by Allegro","pubDate":"Tue, 09 Apr 2019 00:00:00 GMT"},{"title":"Page visibility and performance metrics","link":"https:\/\/blog.allegro.tech\/2019\/09\/page-visibility-and-performance-metrics.html","guid":"https:\/\/blog.allegro.tech\/2019\/09\/page-visibility-and-performance-metrics.html","description":"Case study by Allegro","pubDate":"Mon, 02 Sep 2019 00:00:00 GMT"},{"title":"Performance of JavaScript optional chaining","link":"https:\/\/blog.allegro.tech\/2019\/11\/performance-of-javascript-optional-chaining.html","guid":"https:\/\/blog.allegro.tech\/2019\/11\/performance-of-javascript-optional-chaining.html","description":"Case study by Allegro","pubDate":"Fri, 08 Nov 2019 00:00:00 GMT"},{"title":"Using ESLint to improve your app\u2019s performance","link":"https:\/\/blog.allegro.tech\/2020\/08\/using-eslint.html","guid":"https:\/\/blog.allegro.tech\/2020\/08\/using-eslint.html","description":"Case study by Allegro","pubDate":"Tue, 11 Aug 2020 00:00:00 GMT"},{"title":"Measuring Web Performance","link":"https:\/\/blog.allegro.tech\/2021\/06\/measuring-web-performance.html","guid":"https:\/\/blog.allegro.tech\/2021\/06\/measuring-web-performance.html","description":"Case study by Allegro","pubDate":"Tue, 08 Jun 2021 00:00:00 GMT"},{"title":"Making API calls a seamless user experience","link":"https:\/\/blog.allegro.tech\/2021\/07\/making-api-calls-seamless-ux.html","guid":"https:\/\/blog.allegro.tech\/2021\/07\/making-api-calls-seamless-ux.html","description":"Case study by Allegro","pubDate":"Wed, 21 Jul 2021 00:00:00 GMT"},{"title":"CSS Architecture and Performance in Micro Frontends","link":"https:\/\/blog.allegro.tech\/2021\/07\/css-architecture-and-performance-of-micro-frontends.html","guid":"https:\/\/blog.allegro.tech\/2021\/07\/css-architecture-and-performance-of-micro-frontends.html","description":"Case study by Allegro","pubDate":"Thu, 29 Jul 2021 00:00:00 GMT"},{"title":"How to turn on TypeScript strict mode in specific files","link":"https:\/\/blog.allegro.tech\/2021\/09\/How-to-turn-on-TypeScript-strict-mode-in-specific-files.html","guid":"https:\/\/blog.allegro.tech\/2021\/09\/How-to-turn-on-TypeScript-strict-mode-in-specific-files.html","description":"Case study by Allegro","pubDate":"Mon, 06 Sep 2021 00:00:00 GMT"},{"title":"Evolution of web performance culture","link":"https:\/\/blog.allegro.tech\/2021\/09\/evolution-of-web-performance-culture.html","guid":"https:\/\/blog.allegro.tech\/2021\/09\/evolution-of-web-performance-culture.html","description":"Case study by Allegro","pubDate":"Thu, 23 Sep 2021 00:00:00 GMT"},{"title":"How we refactored the search form UI component","link":"https:\/\/blog.allegro.tech\/2021\/10\/refactoring-opbox-search.html","guid":"https:\/\/blog.allegro.tech\/2021\/10\/refactoring-opbox-search.html","description":"Case study by Allegro","pubDate":"Tue, 26 Oct 2021 00:00:00 GMT"},{"title":"Why should we rewrite enzyme.js to react-testing-library and how to do that?","link":"https:\/\/blog.allegro.tech\/2022\/02\/why-we-should-rewrite-enzymejs-to-rtl-and-how-to-do-that.html","guid":"https:\/\/blog.allegro.tech\/2022\/02\/why-we-should-rewrite-enzymejs-to-rtl-and-how-to-do-that.html","description":"Case study by Allegro","pubDate":"Thu, 10 Feb 2022 00:00:00 GMT"},{"title":"Vanilla JS is not dead! Microfrontends without web performance issues.","link":"https:\/\/blog.allegro.tech\/2022\/11\/vanilla-js-is-not-dead.html","guid":"https:\/\/blog.allegro.tech\/2022\/11\/vanilla-js-is-not-dead.html","description":"Case study by Allegro","pubDate":"Thu, 10 Nov 2022 00:00:00 GMT"},{"title":"Embed multicolor icons using a single DOM element","link":"https:\/\/blog.allegro.tech\/2024\/01\/embed-multicolor-icons-using-a-single-DOM-element.html","guid":"https:\/\/blog.allegro.tech\/2024\/01\/embed-multicolor-icons-using-a-single-DOM-element.html","description":"Case study by Allegro","pubDate":"Wed, 10 Jan 2024 00:00:00 GMT"},{"title":"INP \u2014 what is the new Core Web Vitals metric and how do we work with it at Allegro.","link":"https:\/\/blog.allegro.tech\/2024\/07\/INP-new-core-web-vitals.html","guid":"https:\/\/blog.allegro.tech\/2024\/07\/INP-new-core-web-vitals.html","description":"Case study by Allegro","pubDate":"Mon, 01 Jul 2024 00:00:00 GMT"},{"title":"How we halved the publish size of modular AWS SDK for JavaScript clients","link":"https:\/\/aws.amazon.com\/blogs\/developer\/how-we-halved-the-publish-size-of-modular-aws-sdk-for-javascript-clients\/","guid":"https:\/\/aws.amazon.com\/blogs\/developer\/how-we-halved-the-publish-size-of-modular-aws-sdk-for-javascript-clients\/","description":"Case study by Amazon","pubDate":"Thu, 14 Oct 2021 00:00:00 GMT"},{"title":"How Prime Video updates its app for more than 8,000 device types: the switch to WebAssembly increases stability, speed","link":"https:\/\/www.amazon.science\/blog\/how-prime-video-updates-its-app-for-more-than-8-000-device-types","guid":"https:\/\/www.amazon.science\/blog\/how-prime-video-updates-its-app-for-more-than-8-000-device-types","description":"Case study by Amazon","pubDate":"Thu, 27 Jan 2022 00:00:00 GMT"},{"title":"Rendering on the Server and Client in Node.js","link":"https:\/\/artsy.github.io\/blog\/2013\/11\/30\/rendering-on-the-server-and-client-in-node-dot-js\/","guid":"https:\/\/artsy.github.io\/blog\/2013\/11\/30\/rendering-on-the-server-and-client-in-node-dot-js\/","description":"Case study by Artsy","pubDate":"Sat, 30 Nov 2013 00:00:00 GMT"},{"title":"The Tech Behind Live Auction Integration","link":"https:\/\/artsy.github.io\/blog\/2016\/08\/09\/the-tech-behind-live-auction-integration\/","guid":"https:\/\/artsy.github.io\/blog\/2016\/08\/09\/the-tech-behind-live-auction-integration\/","description":"Case study by Artsy","pubDate":"Tue, 09 Aug 2016 00:00:00 GMT"},{"title":"React Native at Artsy","link":"https:\/\/artsy.github.io\/blog\/2016\/08\/15\/React-Native-at-Artsy\/","guid":"https:\/\/artsy.github.io\/blog\/2016\/08\/15\/React-Native-at-Artsy\/","description":"Case study by Artsy","pubDate":"Mon, 15 Aug 2016 00:00:00 GMT"},{"title":"Making Artsy Editorial Accessible","link":"https:\/\/artsy.github.io\/blog\/2017\/08\/29\/Making-Artsy-Editorial-Accessible\/","guid":"https:\/\/artsy.github.io\/blog\/2017\/08\/29\/Making-Artsy-Editorial-Accessible\/","description":"Case study by Artsy","pubDate":"Tue, 29 Aug 2017 00:00:00 GMT"},{"title":"Helping the Web Towards OSS by Default","link":"https:\/\/artsy.github.io\/blog\/2016\/09\/06\/Milestone-on-OSS-by-Default\/","guid":"https:\/\/artsy.github.io\/blog\/2016\/09\/06\/Milestone-on-OSS-by-Default\/","description":"Case study by Artsy","pubDate":"Tue, 06 Sep 2016 00:00:00 GMT"},{"title":"JSON Web Tokens: Artsy's Journey","link":"https:\/\/artsy.github.io\/blog\/2016\/10\/26\/jwt-artsy-journey\/","guid":"https:\/\/artsy.github.io\/blog\/2016\/10\/26\/jwt-artsy-journey\/","description":"Case study by Artsy","pubDate":"Wed, 26 Oct 2016 00:00:00 GMT"},{"title":"Exploration: Front-end JavaScript at Artsy in 2017","link":"https:\/\/artsy.github.io\/blog\/2017\/02\/05\/Front-end-JavaScript-at-Artsy-2017\/","guid":"https:\/\/artsy.github.io\/blog\/2017\/02\/05\/Front-end-JavaScript-at-Artsy-2017\/","description":"Case study by Artsy","pubDate":"Sun, 05 Feb 2017 00:00:00 GMT"},{"title":"Modernizing Force","link":"https:\/\/artsy.github.io\/blog\/2017\/09\/05\/Modernizing-Force\/","guid":"https:\/\/artsy.github.io\/blog\/2017\/09\/05\/Modernizing-Force\/","description":"Case study by Artsy","pubDate":"Tue, 05 Sep 2017 00:00:00 GMT"},{"title":"React Native, 2 years later","link":"https:\/\/artsy.github.io\/blog\/2018\/03\/17\/two-years-of-react-native\/","guid":"https:\/\/artsy.github.io\/blog\/2018\/03\/17\/two-years-of-react-native\/","description":"Case study by Artsy","pubDate":"Sat, 17 Mar 2018 00:00:00 GMT"},{"title":"Keeping Artsy's dependencies up to date","link":"https:\/\/artsy.github.io\/blog\/2018\/11\/26\/keeping-dependencies-updated\/","guid":"https:\/\/artsy.github.io\/blog\/2018\/11\/26\/keeping-dependencies-updated\/","description":"Case study by Artsy","pubDate":"Mon, 26 Nov 2018 00:00:00 GMT"},{"title":"Switch from Capybara Webkit to Chrome","link":"http:\/\/artsy.github.io\/blog\/2018\/11\/27\/switch-from-capybara-webkit-to-chrome\/","guid":"http:\/\/artsy.github.io\/blog\/2018\/11\/27\/switch-from-capybara-webkit-to-chrome\/","description":"Case study by Artsy","pubDate":"Tue, 27 Nov 2018 00:00:00 GMT"},{"title":"GraphQL Stitching 101","link":"https:\/\/artsy.github.io\/blog\/2018\/12\/11\/GraphQL-Stitching\/","guid":"https:\/\/artsy.github.io\/blog\/2018\/12\/11\/GraphQL-Stitching\/","description":"Case study by Artsy","pubDate":"Tue, 11 Dec 2018 00:00:00 GMT"},{"title":"GraphQL: Union vs. Interface","link":"http:\/\/artsy.github.io\/blog\/2019\/01\/14\/graphql-union-vs-interface\/","guid":"http:\/\/artsy.github.io\/blog\/2019\/01\/14\/graphql-union-vs-interface\/","description":"Case study by Artsy","pubDate":"Mon, 14 Jan 2019 00:00:00 GMT"},{"title":"From TSLint to ESLint, or How I Learned to Lint GraphQL Code","link":"https:\/\/artsy.github.io\/blog\/2019\/01\/29\/from-tslint-to-eslint\/","guid":"https:\/\/artsy.github.io\/blog\/2019\/01\/29\/from-tslint-to-eslint\/","description":"Case study by Artsy","pubDate":"Tue, 29 Jan 2019 00:00:00 GMT"},{"title":"The Anatomy of an Editorial Feature","link":"https:\/\/artsy.github.io\/blog\/2019\/03\/05\/custom-editorial-features\/","guid":"https:\/\/artsy.github.io\/blog\/2019\/03\/05\/custom-editorial-features\/","description":"Case study by Artsy","pubDate":"Tue, 05 Mar 2019 00:00:00 GMT"},{"title":"React Native at Artsy, 3 years later","link":"https:\/\/artsy.github.io\/blog\/2019\/03\/17\/three-years-of-react-native\/","guid":"https:\/\/artsy.github.io\/blog\/2019\/03\/17\/three-years-of-react-native\/","description":"Case study by Artsy","pubDate":"Sun, 17 Mar 2019 00:00:00 GMT"},{"title":"What is TypeScript?","link":"https:\/\/artsy.github.io\/blog\/2019\/04\/05\/omakase-typescript\/","guid":"https:\/\/artsy.github.io\/blog\/2019\/04\/05\/omakase-typescript\/","description":"Case study by Artsy","pubDate":"Fri, 05 Apr 2019 00:00:00 GMT"},{"title":"Server-Rendering Responsively","link":"https:\/\/artsy.github.io\/blog\/2019\/05\/24\/server-rendering-responsively\/","guid":"https:\/\/artsy.github.io\/blog\/2019\/05\/24\/server-rendering-responsively\/","description":"Case study by Artsy","pubDate":"Fri, 24 May 2019 00:00:00 GMT"},{"title":"CSS is Hard and Other Things I Learned Working on the 2019 Artsy Vanguard","link":"https:\/\/artsy.github.io\/blog\/2019\/10\/29\/css-is-hard-and-vanguard-2019-learnings\/","guid":"https:\/\/artsy.github.io\/blog\/2019\/10\/29\/css-is-hard-and-vanguard-2019-learnings\/","description":"Case study by Artsy","pubDate":"Tue, 29 Oct 2019 00:00:00 GMT"},{"title":"Effortless Pagination with GraphQL and Relay? Really!","link":"https:\/\/artsy.github.io\/blog\/2020\/01\/21\/graphql-relay-windowed-pagination\/","guid":"https:\/\/artsy.github.io\/blog\/2020\/01\/21\/graphql-relay-windowed-pagination\/","description":"Case study by Artsy","pubDate":"Tue, 21 Jan 2020 00:00:00 GMT"},{"title":"Relay Pagination Containers Demystified","link":"https:\/\/artsy.github.io\/blog\/2020\/08\/31\/relay-pagination-containers-demystified\/","guid":"https:\/\/artsy.github.io\/blog\/2020\/08\/31\/relay-pagination-containers-demystified\/","description":"Case study by Artsy","pubDate":"Mon, 31 Aug 2020 00:00:00 GMT"},{"title":"Accessing the Relay Store Without a Mutation","link":"https:\/\/artsy.github.io\/blog\/2021\/04\/15\/accessing-the-relay-store\/","guid":"https:\/\/artsy.github.io\/blog\/2021\/04\/15\/accessing-the-relay-store\/","description":"Case study by Artsy","pubDate":"Thu, 15 Apr 2021 00:00:00 GMT"},{"title":"Testing React Tracking with Jest and Enzyme","link":"https:\/\/artsy.github.io\/blog\/2021\/04\/15\/testing-react-tracking-with-jest-and-enzyme\/","guid":"https:\/\/artsy.github.io\/blog\/2021\/04\/15\/testing-react-tracking-with-jest-and-enzyme\/","description":"Case study by Artsy","pubDate":"Thu, 15 Apr 2021 00:00:00 GMT"},{"title":"Using Context to Simplify a VERY Large React Form","link":"https:\/\/artsy.github.io\/blog\/2022\/02\/01\/using-context-to-simplify-a-react-form\/","guid":"https:\/\/artsy.github.io\/blog\/2022\/02\/01\/using-context-to-simplify-a-react-form\/","description":"Case study by Artsy","pubDate":"Tue, 01 Feb 2022 00:00:00 GMT"},{"title":"Hacking Around Safari's 7-day Cookie Limit","link":"https:\/\/artsy.github.io\/blog\/2022\/08\/23\/getting-around-7-day-cookie\/","guid":"https:\/\/artsy.github.io\/blog\/2022\/08\/23\/getting-around-7-day-cookie\/","description":"Case study by Artsy","pubDate":"Tue, 23 Aug 2022 00:00:00 GMT"},{"title":"Parallelizing Jest and Cypress.io Tests on CircleCI","link":"https:\/\/artsy.github.io\/blog\/2022\/09\/07\/quick-tips-to-speed-up-ci\/","guid":"https:\/\/artsy.github.io\/blog\/2022\/09\/07\/quick-tips-to-speed-up-ci\/","description":"Case study by Artsy","pubDate":"Wed, 07 Sep 2022 00:00:00 GMT"},{"title":"TypeScript magic","link":"https:\/\/artsy.github.io\/blog\/2023\/03\/01\/typescript-magic\/","guid":"https:\/\/artsy.github.io\/blog\/2023\/03\/01\/typescript-magic\/","description":"Case study by Artsy","pubDate":"Wed, 01 Mar 2023 00:00:00 GMT"},{"title":"Two years of Next.js at Artsy: A Retrospective","link":"https:\/\/artsy.github.io\/blog\/2024\/03\/07\/nextjs-at-artsy-retrospective\/","guid":"https:\/\/artsy.github.io\/blog\/2024\/03\/07\/nextjs-at-artsy-retrospective\/","description":"Case study by Artsy","pubDate":"Thu, 07 Mar 2024 00:00:00 GMT"},{"title":"Lazy loading Backbone collections with Promises","link":"https:\/\/tech.nextroll.com\/blog\/web\/2013\/11\/12\/lazyloading-backbone-collection-with-promises.html","guid":"https:\/\/tech.nextroll.com\/blog\/web\/2013\/11\/12\/lazyloading-backbone-collection-with-promises.html","description":"Case study by NextRoll","pubDate":"Tue, 12 Nov 2013 00:00:00 GMT"},{"title":"Rollup: Shared UI components at AdRoll","link":"https:\/\/tech.nextroll.com\/blog\/frontend\/2015\/11\/05\/rollup-shared-ui-components.html","guid":"https:\/\/tech.nextroll.com\/blog\/frontend\/2015\/11\/05\/rollup-shared-ui-components.html","description":"Case study by NextRoll","pubDate":"Thu, 05 Nov 2015 00:00:00 GMT"},{"title":"Rollup: How we use React.js and npm to share UI code at AdRoll","link":"https:\/\/tech.nextroll.com\/blog\/frontend\/2015\/11\/12\/rollup-react-and-npm-at-adroll.html","guid":"https:\/\/tech.nextroll.com\/blog\/frontend\/2015\/11\/12\/rollup-react-and-npm-at-adroll.html","description":"Case study by NextRoll","pubDate":"Thu, 12 Nov 2015 00:00:00 GMT"},{"title":"Rollup: What we have learned from sharing UI code at AdRoll","link":"https:\/\/tech.nextroll.com\/blog\/frontend\/2015\/11\/19\/rollup-major-learnings.html","guid":"https:\/\/tech.nextroll.com\/blog\/frontend\/2015\/11\/19\/rollup-major-learnings.html","description":"Case study by NextRoll","pubDate":"Thu, 19 Nov 2015 00:00:00 GMT"},{"title":"gulp-react-docs: From propTypes to Markdown in 3 seconds","link":"https:\/\/tech.nextroll.com\/blog\/frontend\/2015\/12\/21\/gulp-react-docs.html","guid":"https:\/\/tech.nextroll.com\/blog\/frontend\/2015\/12\/21\/gulp-react-docs.html","description":"Case study by NextRoll","pubDate":"Mon, 21 Dec 2015 00:00:00 GMT"},{"title":"How to Create a Style Guide: Start with a UI Framework","link":"https:\/\/tech.nextroll.com\/blog\/product\/2016\/07\/29\/how-to-create-a-style-guide.html","guid":"https:\/\/tech.nextroll.com\/blog\/product\/2016\/07\/29\/how-to-create-a-style-guide.html","description":"Case study by NextRoll","pubDate":"Fri, 29 Jul 2016 00:00:00 GMT"},{"title":"How to Run a Front-End Infrastructure Team","link":"https:\/\/tech.nextroll.com\/blog\/frontend\/2017\/08\/29\/how-to-run-a-front-end-infrastructure-team.html","guid":"https:\/\/tech.nextroll.com\/blog\/frontend\/2017\/08\/29\/how-to-run-a-front-end-infrastructure-team.html","description":"Case study by NextRoll","pubDate":"Tue, 29 Aug 2017 00:00:00 GMT"},{"title":"Trellisheets: How we spin up CSS for Trello sites with ease","link":"https:\/\/www.atlassian.com\/engineering\/trellisheets-how-we-spin-up-css-for-trello-sites-with-ease","guid":"https:\/\/www.atlassian.com\/engineering\/trellisheets-how-we-spin-up-css-for-trello-sites-with-ease","description":"Case study by Atlassian","pubDate":"Tue, 01 Mar 2016 00:00:00 GMT"},{"title":"A look at Trello: adopting GraphQL and Apollo in a legacy application","link":"https:\/\/www.atlassian.com\/engineering\/a-look-at-trello-adopting-graphql-and-apollo-in-a-legacy-application","guid":"https:\/\/www.atlassian.com\/engineering\/a-look-at-trello-adopting-graphql-and-apollo-in-a-legacy-application","description":"Case study by Atlassian","pubDate":"Wed, 28 Aug 2019 00:00:00 GMT"},{"title":"Using an event-driven architecture to improve Jira Software responsiveness","link":"https:\/\/www.atlassian.com\/engineering\/using-an-event-driven-architecture-to-improve-jira-software-responsiveness","guid":"https:\/\/www.atlassian.com\/engineering\/using-an-event-driven-architecture-to-improve-jira-software-responsiveness","description":"Case study by Atlassian","pubDate":"Tue, 05 Nov 2019 00:00:00 GMT"},{"title":"Scaling React server-side rendering in Jira Cloud","link":"https:\/\/www.atlassian.com\/engineering\/scaling-react-server-side-rendering-in-jira-cloud","guid":"https:\/\/www.atlassian.com\/engineering\/scaling-react-server-side-rendering-in-jira-cloud","description":"Case study by Atlassian","pubDate":"Tue, 04 Feb 2020 00:00:00 GMT"},{"title":"Improving performance through better architecture","link":"https:\/\/www.atlassian.com\/blog\/atlassian-engineering\/react-resource-router-deep-dive","guid":"https:\/\/www.atlassian.com\/blog\/atlassian-engineering\/react-resource-router-deep-dive","description":"Case study by Atlassian","pubDate":"Tue, 23 Jun 2020 00:00:00 GMT"},{"title":"Performance in Jira front-end: the story of a single line of code","link":"https:\/\/www.atlassian.com\/engineering\/performance-in-jira-front-end","guid":"https:\/\/www.atlassian.com\/engineering\/performance-in-jira-front-end","description":"Case study by Atlassian","pubDate":"Mon, 16 Nov 2020 00:00:00 GMT"},{"title":"Performance in Jira front-end: using modern bundles to improve load time","link":"https:\/\/www.atlassian.com\/engineering\/performance-in-jira-front-end-modern-bundles","guid":"https:\/\/www.atlassian.com\/engineering\/performance-in-jira-front-end-modern-bundles","description":"Case study by Atlassian","pubDate":"Sat, 05 Dec 2020 00:00:00 GMT"},{"title":"Performance in Jira front-end: solving bundle duplicates with Webpack and yarn","link":"https:\/\/www.atlassian.com\/engineering\/performance-in-jira-front-end-solving-bundle-duplicates-with-webpack-and-yarn","guid":"https:\/\/www.atlassian.com\/engineering\/performance-in-jira-front-end-solving-bundle-duplicates-with-webpack-and-yarn","description":"Case study by Atlassian","pubDate":"Tue, 22 Dec 2020 00:00:00 GMT"},{"title":"Colorful and accessible theming in Trello with CSS custom properties","link":"https:\/\/www.atlassian.com\/blog\/atlassian-engineering\/colorful-and-accessible-theming-in-trello","guid":"https:\/\/www.atlassian.com\/blog\/atlassian-engineering\/colorful-and-accessible-theming-in-trello","description":"Case study by Atlassian","pubDate":"Mon, 11 Jul 2022 00:00:00 GMT"},{"title":"A Trello feature froze, but engineering didn\u2019t: How we fixed an unreproducible React bug","link":"https:\/\/www.atlassian.com\/blog\/atlassian-engineering\/fixing-trello-react-bug","guid":"https:\/\/www.atlassian.com\/blog\/atlassian-engineering\/fixing-trello-react-bug","description":"Case study by Atlassian","pubDate":"Thu, 28 Jul 2022 00:00:00 GMT"},{"title":"Rendering like Butter \u2013 a Confluence Whiteboards Story","link":"https:\/\/www.atlassian.com\/blog\/atlassian-engineering\/rendering-like-butter-a-confluence-whiteboards-story","guid":"https:\/\/www.atlassian.com\/blog\/atlassian-engineering\/rendering-like-butter-a-confluence-whiteboards-story","description":"Case study by Atlassian","pubDate":"Tue, 08 Aug 2023 00:00:00 GMT"},{"title":"Triangles at work: GPU rendering shapes and connectors in Confluence whiteboards","link":"https:\/\/www.atlassian.com\/blog\/atlassian-engineering\/gpu-rendering-shapes-and-connectors-in-confluence-whiteboards","guid":"https:\/\/www.atlassian.com\/blog\/atlassian-engineering\/gpu-rendering-shapes-and-connectors-in-confluence-whiteboards","description":"Case study by Atlassian","pubDate":"Mon, 13 Nov 2023 00:00:00 GMT"},{"title":"Designed for delight, built for performance: The journey of pragmatic drag and drop","link":"https:\/\/www.atlassian.com\/blog\/design\/designed-for-delight-built-for-performance","guid":"https:\/\/www.atlassian.com\/blog\/design\/designed-for-delight-built-for-performance","description":"Case study by Atlassian","pubDate":"Tue, 17 Dec 2024 00:00:00 GMT"},{"title":"Implementing typography at scale: the journey behind the screens","link":"https:\/\/www.atlassian.com\/blog\/design\/implementing-typography-at-scale-the-journey-behind-the-screens","guid":"https:\/\/www.atlassian.com\/blog\/design\/implementing-typography-at-scale-the-journey-behind-the-screens","description":"Case study by Atlassian","pubDate":"Thu, 10 Apr 2025 00:00:00 GMT"},{"title":"How We Achieved 75% Faster Builds by Removing Barrel Files","link":"https:\/\/www.atlassian.com\/blog\/atlassian-engineering\/faster-builds-when-removing-barrel-files","guid":"https:\/\/www.atlassian.com\/blog\/atlassian-engineering\/faster-builds-when-removing-barrel-files","description":"Case study by Atlassian","pubDate":"Thu, 26 Jun 2025 00:00:00 GMT"},{"title":"Composing Components","link":"https:\/\/www.abc.net.au\/digital-product\/composing-components\/102183756","guid":"https:\/\/www.abc.net.au\/digital-product\/composing-components\/102183756","description":"Case study by Australian Broadcasting Corporation","pubDate":"Fri, 28 Sep 2018 00:00:00 GMT"},{"title":"From data to DOM: Building a text rendering pipeline for React","link":"https:\/\/www.abc.net.au\/digital-product\/from-data-to-dom-building-a-text-rendering-pipeline-for-react\/102169934","guid":"https:\/\/www.abc.net.au\/digital-product\/from-data-to-dom-building-a-text-rendering-pipeline-for-react\/102169934","description":"Case study by Australian Broadcasting Corporation","pubDate":"Wed, 23 Oct 2019 00:00:00 GMT"},{"title":"Migrating the platform that powers ABC sites to TypeScript","link":"https:\/\/www.abc.net.au\/digital-product\/migrating-the-platform-that-powers-abc-sites-to-typescript\/102209404","guid":"https:\/\/www.abc.net.au\/digital-product\/migrating-the-platform-that-powers-abc-sites-to-typescript\/102209404","description":"Case study by Australian Broadcasting Corporation","pubDate":"Thu, 30 Sep 2021 00:00:00 GMT"},{"title":"Branding for ABC Websites","link":"https:\/\/www.abc.net.au\/digital-product\/branding-for-abc-websites\/102135092","guid":"https:\/\/www.abc.net.au\/digital-product\/branding-for-abc-websites\/102135092","description":"Case study by Australian Broadcasting Corporation","pubDate":"Wed, 08 Dec 2021 00:00:00 GMT"},{"title":"How we optimise front-end component reuse at the ABC","link":"https:\/\/www.abc.net.au\/digital-product\/exploring-component-reuse-at-abc\/103359474","guid":"https:\/\/www.abc.net.au\/digital-product\/exploring-component-reuse-at-abc\/103359474","description":"Case study by Australian Broadcasting Corporation","pubDate":"Wed, 21 Feb 2024 00:00:00 GMT"},{"title":"How to teach a web app to speak 100 languages: the specifics of localisation","link":"https:\/\/medium.com\/bumble-tech\/how-to-teach-a-web-app-to-speak-100-languages-the-specifics-of-localisation-514f13ed235c","guid":"https:\/\/medium.com\/bumble-tech\/how-to-teach-a-web-app-to-speak-100-languages-the-specifics-of-localisation-514f13ed235c","description":"Case study by Bumble","pubDate":"Wed, 08 Mar 2017 00:00:00 GMT"},{"title":"The painless way to collect statistics from a web-site","link":"https:\/\/medium.com\/bumble-tech\/the-painless-way-to-collect-statistics-from-a-web-site-cadc6aa67688","guid":"https:\/\/medium.com\/bumble-tech\/the-painless-way-to-collect-statistics-from-a-web-site-cadc6aa67688","description":"Case study by Bumble","pubDate":"Thu, 18 May 2017 00:00:00 GMT"},{"title":"Translating interfaces into almost fifty languages: Sketch","link":"https:\/\/medium.com\/bumble-tech\/translating-interfaces-into-almost-fifty-languages-sketch-dc196cf23ee5","guid":"https:\/\/medium.com\/bumble-tech\/translating-interfaces-into-almost-fifty-languages-sketch-dc196cf23ee5","description":"Case study by Bumble","pubDate":"Tue, 17 Oct 2017 00:00:00 GMT"},{"title":"Hot localisations update: part 1","link":"https:\/\/medium.com\/bumble-tech\/hot-localisations-update-part-1-86fc013d6327","guid":"https:\/\/medium.com\/bumble-tech\/hot-localisations-update-part-1-86fc013d6327","description":"Case study by Bumble","pubDate":"Wed, 01 Nov 2017 00:00:00 GMT"},{"title":"Hot localisations update: part 2","link":"https:\/\/medium.com\/bumble-tech\/part2-hot-localisations-update-12272511df0c","guid":"https:\/\/medium.com\/bumble-tech\/part2-hot-localisations-update-12272511df0c","description":"Case study by Bumble","pubDate":"Wed, 01 Nov 2017 00:00:00 GMT"},{"title":"From zero to Cosmos: part 1","link":"https:\/\/medium.com\/bumble-tech\/from-zero-to-cosmos-part-1-2d080fe35bf2","guid":"https:\/\/medium.com\/bumble-tech\/from-zero-to-cosmos-part-1-2d080fe35bf2","description":"Case study by Bumble","pubDate":"Thu, 01 Feb 2018 00:00:00 GMT"},{"title":"From zero to Cosmos: part 2","link":"https:\/\/medium.com\/bumble-tech\/from-zero-to-cosmos-part-2-97929e13f839","guid":"https:\/\/medium.com\/bumble-tech\/from-zero-to-cosmos-part-2-97929e13f839","description":"Case study by Bumble","pubDate":"Thu, 01 Feb 2018 00:00:00 GMT"},{"title":"From zero to Cosmos: part 3","link":"https:\/\/medium.com\/bumble-tech\/from-zero-to-cosmos-part-3-95e2c98c45a6","guid":"https:\/\/medium.com\/bumble-tech\/from-zero-to-cosmos-part-3-95e2c98c45a6","description":"Case study by Bumble","pubDate":"Thu, 01 Feb 2018 00:00:00 GMT"},{"title":"Translating Dust templates to JSX","link":"https:\/\/medium.com\/bumble-tech\/translating-dust-templates-to-jsx-bed273ef41de","guid":"https:\/\/medium.com\/bumble-tech\/translating-dust-templates-to-jsx-bed273ef41de","description":"Case study by Bumble","pubDate":"Wed, 16 May 2018 00:00:00 GMT"},{"title":"How to manage your Design Tokens with Style Dictionary","link":"https:\/\/medium.com\/@didoo\/how-to-manage-your-design-tokens-with-style-dictionary-98c795b938aa","guid":"https:\/\/medium.com\/@didoo\/how-to-manage-your-design-tokens-with-style-dictionary-98c795b938aa","description":"Case study by Bumble","pubDate":"Thu, 27 Sep 2018 00:00:00 GMT"},{"title":"Optical alignment for frontend developers: why is it not the same as it is for designers","link":"https:\/\/medium.com\/bumble-tech\/optical-alignment-for-frontend-developers-part-i-why-it-is-not-the-same-as-for-designers-a082ffca1d3b","guid":"https:\/\/medium.com\/bumble-tech\/optical-alignment-for-frontend-developers-part-i-why-it-is-not-the-same-as-for-designers-a082ffca1d3b","description":"Case study by Bumble","pubDate":"Thu, 22 Nov 2018 00:00:00 GMT"},{"title":"Optical alignment for frontend developers: how can the process be automated","link":"https:\/\/medium.com\/bumble-tech\/optical-alignment-for-frontend-developers-part-ii-how-can-the-process-be-automated-e41d8de2b18f","guid":"https:\/\/medium.com\/bumble-tech\/optical-alignment-for-frontend-developers-part-ii-how-can-the-process-be-automated-e41d8de2b18f","description":"Case study by Bumble","pubDate":"Thu, 22 Nov 2018 00:00:00 GMT"},{"title":"Generating multi-brand multi-platform icons with Sketch and a Node.js script: from the idea to the assets Sketch files","link":"https:\/\/medium.com\/bumble-tech\/generating-multi-brand-multi-platform-icons-with-sketch-and-a-node-js-script-part1-82f438c7e16c","guid":"https:\/\/medium.com\/bumble-tech\/generating-multi-brand-multi-platform-icons-with-sketch-and-a-node-js-script-part1-82f438c7e16c","description":"Case study by Bumble","pubDate":"Sat, 01 Dec 2018 00:00:00 GMT"},{"title":"Generating multi-brand multi-platform icons with Sketch and a Node.js script: the build script and the generation of the assets","link":"https:\/\/medium.com\/bumble-tech\/generating-multi-brand-multi-platform-icons-with-sketch-and-a-node-js-script-part2-8d02e8bb915a","guid":"https:\/\/medium.com\/bumble-tech\/generating-multi-brand-multi-platform-icons-with-sketch-and-a-node-js-script-part2-8d02e8bb915a","description":"Case study by Bumble","pubDate":"Sat, 01 Dec 2018 00:00:00 GMT"},{"title":"Covering A\/B tests with UI tests: how to avoid getting tangled up in your own code","link":"https:\/\/medium.com\/bumble-tech\/covering-ab-tests-with-ui-testing-1df5401ff0e1","guid":"https:\/\/medium.com\/bumble-tech\/covering-ab-tests-with-ui-testing-1df5401ff0e1","description":"Case study by Bumble","pubDate":"Fri, 22 Feb 2019 00:00:00 GMT"},{"title":"Design Tokens beyond colors, typography, and spacing","link":"https:\/\/medium.com\/bumble-tech\/design-tokens-beyond-colors-typography-and-spacing-ad7c98f4f228","guid":"https:\/\/medium.com\/bumble-tech\/design-tokens-beyond-colors-typography-and-spacing-ad7c98f4f228","description":"Case study by Bumble","pubDate":"Tue, 12 Nov 2019 00:00:00 GMT"},{"title":"Interface localisation: adapting text fields for RTL languages","link":"https:\/\/medium.com\/bumble-tech\/interface-localisation-adapting-text-fields-for-rtl-languages-67a386006a17","guid":"https:\/\/medium.com\/bumble-tech\/interface-localisation-adapting-text-fields-for-rtl-languages-67a386006a17","description":"Case study by Bumble","pubDate":"Thu, 17 Dec 2020 00:00:00 GMT"},{"title":"How to move large-scale React UI-components codebase to TypeScript","link":"https:\/\/medium.com\/bumble-tech\/how-to-move-large-scale-react-ui-components-codebase-to-typescript-52e6f3ca1b55","guid":"https:\/\/medium.com\/bumble-tech\/how-to-move-large-scale-react-ui-components-codebase-to-typescript-52e6f3ca1b55","description":"Case study by Bumble","pubDate":"Thu, 03 Sep 2020 00:00:00 GMT"},{"title":"Redefining the BBC News core experience","link":"https:\/\/wildlyinaccurate.com\/redefining-the-bcc-news-core-experience\/","guid":"https:\/\/wildlyinaccurate.com\/redefining-the-bcc-news-core-experience\/","description":"Case study by BBC","pubDate":"Fri, 22 Jul 2016 00:00:00 GMT"},{"title":"HTTP\/2 is easy, just turn it on\u2026","link":"https:\/\/medium.com\/bbc-design-engineering\/http-2-is-easy-just-turn-it-on-34baad2d1fb1","guid":"https:\/\/medium.com\/bbc-design-engineering\/http-2-is-easy-just-turn-it-on-34baad2d1fb1","description":"Case study by BBC","pubDate":"Tue, 07 Nov 2017 00:00:00 GMT"},{"title":"How BBC Interactive Content Works Across AMP, Apps, And The Web","link":"https:\/\/www.smashingmagazine.com\/2018\/03\/bbc-interactive-content-amp-apps-web\/","guid":"https:\/\/www.smashingmagazine.com\/2018\/03\/bbc-interactive-content-amp-apps-web\/","description":"Case study by BBC","pubDate":"Thu, 15 Mar 2018 00:00:00 GMT"},{"title":"Optimising BBC Online\u2019s Code Splitting Strategy","link":"https:\/\/medium.com\/bbc-product-technology\/optimising-bbc-onlines-code-splitting-strategy-eb17172dea44","guid":"https:\/\/medium.com\/bbc-product-technology\/optimising-bbc-onlines-code-splitting-strategy-eb17172dea44","description":"Case study by BBC","pubDate":"Fri, 20 May 2022 00:00:00 GMT"},{"title":"Sounds Web Next: a \u201cpersistent player\u201d prototype for BBC Sounds","link":"https:\/\/medium.com\/bbc-product-technology\/sounds-web-next-a-persistent-player-prototype-for-bbc-sounds-bf996ef0c332","guid":"https:\/\/medium.com\/bbc-product-technology\/sounds-web-next-a-persistent-player-prototype-for-bbc-sounds-bf996ef0c332","description":"Case study by BBC","pubDate":"Tue, 21 Dec 2021 00:00:00 GMT"},{"title":"Solving the problem with NPM Link and React Hooks","link":"https:\/\/medium.com\/bbc-product-technology\/solving-the-problem-with-npm-link-and-react-hooks-266c832dd019","guid":"https:\/\/medium.com\/bbc-product-technology\/solving-the-problem-with-npm-link-and-react-hooks-266c832dd019","description":"Case study by BBC","pubDate":"Fri, 12 Nov 2021 00:00:00 GMT"},{"title":"The lessons learnt creating a design system for BBC Online","link":"https:\/\/medium.com\/bbc-product-technology\/the-lessons-learnt-creating-a-design-system-for-bbc-online-38625885870e","guid":"https:\/\/medium.com\/bbc-product-technology\/the-lessons-learnt-creating-a-design-system-for-bbc-online-38625885870e","description":"Case study by BBC","pubDate":"Fri, 20 Nov 2020 00:00:00 GMT"},{"title":"Wake Lock API case study: 300% increase in purchase intent indicators on BettyCrocker.com","link":"https:\/\/web.dev\/betty-crocker\/","guid":"https:\/\/web.dev\/betty-crocker\/","description":"Case study by Betty Crocker","pubDate":"Tue, 19 May 2020 00:00:00 GMT"},{"title":"How Bitmovin Used React\/Redux to Develop Its New Dashboard","link":"https:\/\/bitmovin.com\/bitmovin-used-reactredux-to-develop-new-dashboard\/","guid":"https:\/\/bitmovin.com\/bitmovin-used-reactredux-to-develop-new-dashboard\/","description":"Case study by Bitmovin","pubDate":"Thu, 07 Sep 2017 00:00:00 GMT"},{"title":"To Play, or Not to Play \u2013 New AutoPlay Policies for Safari 11 and Chrome 64","link":"https:\/\/bitmovin.com\/play-not-play-new-autoplay-policies-safari-11-chrome-64\/","guid":"https:\/\/bitmovin.com\/play-not-play-new-autoplay-policies-safari-11-chrome-64\/","description":"Case study by Bitmovin","pubDate":"Thu, 28 Sep 2017 00:00:00 GMT"},{"title":"To Play, or Not to Play #2 \u2013 Firefox blocks audible autoplay by default!","link":"https:\/\/bitmovin.com\/firefox-blocks-audible-autoplay\/","guid":"https:\/\/bitmovin.com\/firefox-blocks-audible-autoplay\/","description":"Case study by Bitmovin","pubDate":"Wed, 20 Feb 2019 00:00:00 GMT"},{"title":"How Bloomberg Used React Native to Develop its new Consumer App","link":"https:\/\/www.techatbloomberg.com\/blog\/bloomberg-used-react-native-develop-new-consumer-app\/","guid":"https:\/\/www.techatbloomberg.com\/blog\/bloomberg-used-react-native-develop-new-consumer-app\/","description":"Case study by Bloomberg","pubDate":"Thu, 15 Dec 2016 00:00:00 GMT"},{"title":"wsk: A Straightforward and Maintainable Build System from the Bloomberg Graphics Team","link":"https:\/\/www.techatbloomberg.com\/blog\/wsk-straightforward-maintainable-build-system-bloomberg-graphics-team\/","guid":"https:\/\/www.techatbloomberg.com\/blog\/wsk-straightforward-maintainable-build-system-bloomberg-graphics-team\/","description":"Case study by Bloomberg","pubDate":"Tue, 12 Dec 2017 00:00:00 GMT"},{"title":"10 Insights from Adopting TypeScript at Scale","link":"https:\/\/www.techatbloomberg.com\/blog\/10-insights-adopting-typescript-at-scale\/","guid":"https:\/\/www.techatbloomberg.com\/blog\/10-insights-adopting-typescript-at-scale\/","description":"Case study by Bloomberg","pubDate":"Mon, 09 Nov 2020 00:00:00 GMT"},{"title":"Micro Frontends at BuzzFeed","link":"https:\/\/tech.buzzfeed.com\/micro-frontends-at-buzzfeed-b8754b31d178","guid":"https:\/\/tech.buzzfeed.com\/micro-frontends-at-buzzfeed-b8754b31d178","description":"Case study by BuzzFeed","pubDate":"Tue, 17 Sep 2019 00:00:00 GMT"},{"title":"Accessible BuzzFeed","link":"https:\/\/tech.buzzfeed.com\/accessible-buzzfeed-2e1f3f94f352","guid":"https:\/\/tech.buzzfeed.com\/accessible-buzzfeed-2e1f3f94f352","description":"Case study by BuzzFeed","pubDate":"Thu, 27 Aug 2020 00:00:00 GMT"},{"title":"CLS at BuzzFeed \u2014 Part 1: Raising The Floor","link":"https:\/\/tech.buzzfeed.com\/improving-cumulative-layout-shift-at-buzzfeed-part-1-8b7ead2381dd","guid":"https:\/\/tech.buzzfeed.com\/improving-cumulative-layout-shift-at-buzzfeed-part-1-8b7ead2381dd","description":"Case study by BuzzFeed","pubDate":"Sat, 06 Nov 2021 00:00:00 GMT"},{"title":"CLS at BuzzFeed \u2014 Part 2: Getting Help From Real Users","link":"https:\/\/tech.buzzfeed.com\/improving-cumulative-layout-shift-at-buzzfeed-part-2-2a846adeb097","guid":"https:\/\/tech.buzzfeed.com\/improving-cumulative-layout-shift-at-buzzfeed-part-2-2a846adeb097","description":"Case study by BuzzFeed","pubDate":"Sat, 06 Nov 2021 00:00:00 GMT"},{"title":"CLS at BuzzFeed \u2014 Part 3: Dealing with the unpredictable","link":"https:\/\/tech.buzzfeed.com\/improving-cumulative-layout-shift-at-buzzfeed-part-3-3a36240861e4","guid":"https:\/\/tech.buzzfeed.com\/improving-cumulative-layout-shift-at-buzzfeed-part-3-3a36240861e4","description":"Case study by BuzzFeed","pubDate":"Sat, 06 Nov 2021 00:00:00 GMT"},{"title":"Fixing bugs with Outlook specific CSS","link":"https:\/\/cm.engineering\/fixing-bugs-with-outlook-specific-css-f4b8ae5be4f4","guid":"https:\/\/cm.engineering\/fixing-bugs-with-outlook-specific-css-f4b8ae5be4f4","description":"Case study by Campaign Monitor","pubDate":"Wed, 09 Nov 2016 00:00:00 GMT"},{"title":"Better video previews for email","link":"https:\/\/cm.engineering\/better-video-previews-for-email-12432ce71846","guid":"https:\/\/cm.engineering\/better-video-previews-for-email-12432ce71846","description":"Case study by Campaign Monitor","pubDate":"Tue, 20 Dec 2016 00:00:00 GMT"},{"title":"How to test accessibility of emails","link":"https:\/\/cm.engineering\/how-to-test-accessibility-of-emails-b68fed03f5f4","guid":"https:\/\/cm.engineering\/how-to-test-accessibility-of-emails-b68fed03f5f4","description":"Case study by Campaign Monitor","pubDate":"Tue, 05 Jun 2018 00:00:00 GMT"},{"title":"How we made Carousell\u2019s mobile web experience 3x faster","link":"https:\/\/medium.com\/carousell-insider\/how-we-made-carousells-mobile-web-experience-3x-faster-bbb3be93e006","guid":"https:\/\/medium.com\/carousell-insider\/how-we-made-carousells-mobile-web-experience-3x-faster-bbb3be93e006","description":"Case study by Carousell","pubDate":"Wed, 31 Oct 2018 00:00:00 GMT"},{"title":"Building a Dynamic UI System at Carousell (Part 1)","link":"https:\/\/medium.com\/carousell-insider\/building-a-dynamic-ui-system-at-carousell-part-1-849c30ceacb9","guid":"https:\/\/medium.com\/carousell-insider\/building-a-dynamic-ui-system-at-carousell-part-1-849c30ceacb9","description":"Case study by Carousell","pubDate":"Tue, 19 Feb 2019 00:00:00 GMT"},{"title":"Building a Dynamic UI System at Carousell (Part 2)","link":"https:\/\/medium.com\/carousell-insider\/building-a-dynamic-ui-system-at-carousell-part-2-d46bba8facaa","guid":"https:\/\/medium.com\/carousell-insider\/building-a-dynamic-ui-system-at-carousell-part-2-d46bba8facaa","description":"Case study by Carousell","pubDate":"Tue, 26 Feb 2019 00:00:00 GMT"},{"title":"Building a Dynamic UI System at Carousell (Part 3)","link":"https:\/\/medium.com\/carousell-insider\/building-a-dynamic-ui-system-at-carousell-part-3-18a317ac37a1","guid":"https:\/\/medium.com\/carousell-insider\/building-a-dynamic-ui-system-at-carousell-part-3-18a317ac37a1","description":"Case study by Carousell","pubDate":"Tue, 05 Mar 2019 00:00:00 GMT"},{"title":"An Experiment with JSON Schema","link":"https:\/\/medium.com\/carousell-insider\/an-experiment-with-json-schema-133344ebbf82","guid":"https:\/\/medium.com\/carousell-insider\/an-experiment-with-json-schema-133344ebbf82","description":"Case study by Carousell","pubDate":"Thu, 18 Apr 2019 00:00:00 GMT"},{"title":"Assembling Robust Web Chat Applications with JavaScript: An In-depth Guide","link":"https:\/\/medium.com\/carousell-insider\/assembling-robust-web-chat-applications-with-javascript-an-in-depth-guide-9f36685fc1bc","guid":"https:\/\/medium.com\/carousell-insider\/assembling-robust-web-chat-applications-with-javascript-an-in-depth-guide-9f36685fc1bc","description":"Case study by Carousell","pubDate":"Tue, 03 Dec 2019 00:00:00 GMT"},{"title":"Optimising Core Web Vitals at Carousell","link":"https:\/\/medium.com\/carousell-insider\/optimising-core-web-vitals-at-carousell-6adad284b9ff","guid":"https:\/\/medium.com\/carousell-insider\/optimising-core-web-vitals-at-carousell-6adad284b9ff","description":"Case study by Carousell","pubDate":"Tue, 08 Feb 2022 00:00:00 GMT"},{"title":"Automated UI testing for Carousell Web","link":"https:\/\/medium.com\/carousell-insider\/automated-ui-testing-for-carousell-web-a01e6f5b8faf","guid":"https:\/\/medium.com\/carousell-insider\/automated-ui-testing-for-carousell-web-a01e6f5b8faf","description":"Case study by Carousell","pubDate":"Thu, 07 Apr 2022 00:00:00 GMT"},{"title":"How Cars.com Developer Mac Heller-Ogden Convinced His Bosses to Adopt Node.js","link":"https:\/\/modernweb.com\/cars-nodejs","guid":"https:\/\/modernweb.com\/cars-nodejs","description":"Case study by cars.com","pubDate":"Mon, 17 Jul 2017 00:00:00 GMT"},{"title":"Scalable & lightweight web screenshots with SVG","link":"https:\/\/www.checkbot.io\/article\/web-page-screenshots-with-svg\/","guid":"https:\/\/www.checkbot.io\/article\/web-page-screenshots-with-svg\/","description":"Case study by Checkbot","pubDate":"Fri, 30 Nov 2018 00:00:00 GMT"},{"title":"How to use variable fonts in the real world","link":"https:\/\/clearleft.com\/posts\/how-to-use-variable-fonts-in-the-real-world","guid":"https:\/\/clearleft.com\/posts\/how-to-use-variable-fonts-in-the-real-world","description":"Case study by Clearleft","pubDate":"Fri, 26 Jan 2018 00:00:00 GMT"},{"title":"A framework for web performance","link":"https:\/\/clearleft.com\/posts\/a-framework-for-web-performance","guid":"https:\/\/clearleft.com\/posts\/a-framework-for-web-performance","description":"Case study by Clearleft","pubDate":"Thu, 20 Sep 2018 00:00:00 GMT"},{"title":"How we built Origin CA: Web Crypto","link":"https:\/\/blog.cloudflare.com\/how-we-built-origin-ca-web-crypto\/","guid":"https:\/\/blog.cloudflare.com\/how-we-built-origin-ca-web-crypto\/","description":"Case study by Cloudflare","pubDate":"Tue, 10 May 2016 00:00:00 GMT"},{"title":"Open Sourcing CloudFlare\u2019s UI Framework","link":"https:\/\/blog.cloudflare.com\/cf-ui\/","guid":"https:\/\/blog.cloudflare.com\/cf-ui\/","description":"Case study by Cloudflare","pubDate":"Wed, 08 Jun 2016 00:00:00 GMT"},{"title":"Going Global - a Localization Case Study at Cloudflare","link":"https:\/\/blog.cloudflare.com\/going-global-a-localization-case-study-at-cloudflare\/","guid":"https:\/\/blog.cloudflare.com\/going-global-a-localization-case-study-at-cloudflare\/","description":"Case study by Cloudflare","pubDate":"Wed, 23 Aug 2017 00:00:00 GMT"},{"title":"How we made our page-load optimisations even faster","link":"https:\/\/blog.cloudflare.com\/making-page-load-even-faster\/","guid":"https:\/\/blog.cloudflare.com\/making-page-load-even-faster\/","description":"Case study by Cloudflare","pubDate":"Fri, 02 Feb 2018 00:00:00 GMT"},{"title":"Real URLs for AMP Cached Content Using Cloudflare Workers","link":"https:\/\/blog.cloudflare.com\/real-urls-for-amp-cached-content-using-cloudflare-workers\/","guid":"https:\/\/blog.cloudflare.com\/real-urls-for-amp-cached-content-using-cloudflare-workers\/","description":"Case study by Cloudflare","pubDate":"Tue, 13 Nov 2018 00:00:00 GMT"},{"title":"Fast Google Fonts with Cloudflare Workers","link":"https:\/\/blog.cloudflare.com\/fast-google-fonts-with-cloudflare-workers\/","guid":"https:\/\/blog.cloudflare.com\/fast-google-fonts-with-cloudflare-workers\/","description":"Case study by Cloudflare","pubDate":"Thu, 22 Nov 2018 00:00:00 GMT"},{"title":"Migrating to React land: Gatsby","link":"https:\/\/blog.cloudflare.com\/migrating-to-react-land-gatsby\/","guid":"https:\/\/blog.cloudflare.com\/migrating-to-react-land-gatsby\/","description":"Case study by Cloudflare","pubDate":"Thu, 26 Mar 2020 00:00:00 GMT"},{"title":"Moving from reCAPTCHA to hCaptcha","link":"https:\/\/blog.cloudflare.com\/moving-from-recaptcha-to-hcaptcha\/","guid":"https:\/\/blog.cloudflare.com\/moving-from-recaptcha-to-hcaptcha\/","description":"Case study by Cloudflare","pubDate":"Wed, 08 Apr 2020 00:00:00 GMT"},{"title":"Dark Mode for the Cloudflare Dashboard","link":"https:\/\/blog.cloudflare.com\/dark-mode\/","guid":"https:\/\/blog.cloudflare.com\/dark-mode\/","description":"Case study by Cloudflare","pubDate":"Wed, 29 Sep 2021 00:00:00 GMT"},{"title":"Internationalization and localization: bringing Cloudflare Radar to a global audience","link":"https:\/\/blog.cloudflare.com\/cloudflare-radar-localization-journey\/","guid":"https:\/\/blog.cloudflare.com\/cloudflare-radar-localization-journey\/","description":"Case study by Cloudflare","pubDate":"Mon, 16 Dec 2024 00:00:00 GMT"},{"title":"How we rebuilt Next.js with AI in one week","link":"https:\/\/blog.cloudflare.com\/vinext\/","guid":"https:\/\/blog.cloudflare.com\/vinext\/","description":"Case study by Cloudflare","pubDate":"Tue, 24 Feb 2026 00:00:00 GMT"},{"title":"How we use Abstract Syntax Trees (ASTs) to turn Workflows code into visual diagrams","link":"https:\/\/blog.cloudflare.com\/workflow-diagrams\/","guid":"https:\/\/blog.cloudflare.com\/workflow-diagrams\/","description":"Case study by Cloudflare","pubDate":"Fri, 27 Mar 2026 00:00:00 GMT"},{"title":"All Mixed Up: Isomorphic Sorting Gone Wrong","link":"https:\/\/cloudfour.com\/thinks\/all-mixed-up-isomorphic-sorting-gone-wrong\/","guid":"https:\/\/cloudfour.com\/thinks\/all-mixed-up-isomorphic-sorting-gone-wrong\/","description":"Case study by Cloud Four","pubDate":"Thu, 17 Oct 2019 00:00:00 GMT"},{"title":"Lessons learned refactoring Codesandbox.io from Redux to Cerebral","link":"https:\/\/medium.com\/p\/40e9a5646281","guid":"https:\/\/medium.com\/p\/40e9a5646281","description":"Case study by CodeSandbox","pubDate":"Wed, 07 Feb 2018 00:00:00 GMT"},{"title":"The Why and How of Google AMP at Cond\u00e9 Nast","link":"https:\/\/blog.amp.dev\/2017\/09\/08\/the-why-and-how-of-accelerated-mobile-pages-at-conde-nast","guid":"https:\/\/blog.amp.dev\/2017\/09\/08\/the-why-and-how-of-accelerated-mobile-pages-at-conde-nast","description":"Case study by Cond\u00e9 Nast","pubDate":"Tue, 29 Aug 2017 00:00:00 GMT"},{"title":"Painless Migration From Backbone to React\/Redux","link":"https:\/\/www.youtube.com\/watch?v=d8oBIzIgVMA","guid":"https:\/\/www.youtube.com\/watch?v=d8oBIzIgVMA","description":"Case study by Conductor","pubDate":"Fri, 16 Feb 2018 00:00:00 GMT"},{"title":"Testing MobX State Tree","link":"https:\/\/medium.com\/dazn-tech\/testing-mobx-state-tree-c588f4bfc430","guid":"https:\/\/medium.com\/dazn-tech\/testing-mobx-state-tree-c588f4bfc430","description":"Case study by DAZN","pubDate":"Fri, 07 Dec 2018 00:00:00 GMT"},{"title":"Handling complexity in lambda functions","link":"https:\/\/medium.com\/dazn-tech\/handling-complexity-in-lambda-functions-e7acfbeb920a","guid":"https:\/\/medium.com\/dazn-tech\/handling-complexity-in-lambda-functions-e7acfbeb920a","description":"Case study by DAZN","pubDate":"Fri, 08 Feb 2019 00:00:00 GMT"},{"title":"Micro-frontends, the future of Frontend architectures","link":"https:\/\/medium.com\/dazn-tech\/micro-frontends-the-future-of-frontend-architectures-5867ceded39a","guid":"https:\/\/medium.com\/dazn-tech\/micro-frontends-the-future-of-frontend-architectures-5867ceded39a","description":"Case study by DAZN","pubDate":"Tue, 02 Apr 2019 00:00:00 GMT"},{"title":"Adopting a Micro-frontends architecture","link":"https:\/\/medium.com\/dazn-tech\/adopting-a-micro-frontends-architecture-e283e6a3c4f3","guid":"https:\/\/medium.com\/dazn-tech\/adopting-a-micro-frontends-architecture-e283e6a3c4f3","description":"Case study by DAZN","pubDate":"Mon, 08 Apr 2019 00:00:00 GMT"},{"title":"Orchestrating micro-frontends","link":"https:\/\/medium.com\/dazn-tech\/orchestrating-micro-frontends-a5d2674cbf33","guid":"https:\/\/medium.com\/dazn-tech\/orchestrating-micro-frontends-a5d2674cbf33","description":"Case study by DAZN","pubDate":"Fri, 12 Apr 2019 00:00:00 GMT"},{"title":"Jest: Our journey into performant unit tests","link":"https:\/\/medium.com\/dazn-tech\/jest-our-journey-into-performant-unit-tests-a6efcb4bd9b","guid":"https:\/\/medium.com\/dazn-tech\/jest-our-journey-into-performant-unit-tests-a6efcb4bd9b","description":"Case study by DAZN","pubDate":"Mon, 15 Apr 2019 00:00:00 GMT"},{"title":"Identifying micro-frontends in our applications","link":"https:\/\/medium.com\/dazn-tech\/identifying-micro-frontends-in-our-applications-4b4995f39257","guid":"https:\/\/medium.com\/dazn-tech\/identifying-micro-frontends-in-our-applications-4b4995f39257","description":"Case study by DAZN","pubDate":"Tue, 21 May 2019 00:00:00 GMT"},{"title":"Why our website is faster than yours","link":"https:\/\/www.voorhoede.nl\/en\/blog\/why-our-website-is-faster-than-yours","guid":"https:\/\/www.voorhoede.nl\/en\/blog\/why-our-website-is-faster-than-yours","description":"Case study by De Voorhoede","pubDate":"Sat, 16 Jul 2016 00:00:00 GMT"},{"title":"App shell UX with service workers and streams","link":"https:\/\/github.com\/GoogleChrome\/web.dev\/blob\/a64d870f59c25431bbedf0ef06aa635072c43a2e\/src\/site\/content\/en\/reliable\/app-shell-ux-with-service-workers\/index.md","guid":"https:\/\/github.com\/GoogleChrome\/web.dev\/blob\/a64d870f59c25431bbedf0ef06aa635072c43a2e\/src\/site\/content\/en\/reliable\/app-shell-ux-with-service-workers\/index.md","description":"Case study by DEV","pubDate":"Tue, 23 Jun 2020 00:00:00 GMT"},{"title":"Using React Native: One Year Later","link":"https:\/\/discord.com\/blog\/using-react-native-one-year-later","guid":"https:\/\/discord.com\/blog\/using-react-native-one-year-later","description":"Case study by Discord","pubDate":"Tue, 07 Jun 2016 00:00:00 GMT"},{"title":"Lessons from migrating a large codebase to React 16","link":"https:\/\/discord.com\/blog\/lessons-from-migrating-a-large-codebase-to-react-16","guid":"https:\/\/discord.com\/blog\/lessons-from-migrating-a-large-codebase-to-react-16","description":"Case study by Discord","pubDate":"Thu, 05 Oct 2017 00:00:00 GMT"},{"title":"Why Discord is Sticking with React Native","link":"https:\/\/discord.com\/blog\/why-discord-is-sticking-with-react-native","guid":"https:\/\/discord.com\/blog\/why-discord-is-sticking-with-react-native","description":"Case study by Discord","pubDate":"Thu, 26 Jul 2018 00:00:00 GMT"},{"title":"How Discord Maintains Performance While Adding Features","link":"https:\/\/discord.com\/blog\/how-discord-maintains-performance-while-adding-features","guid":"https:\/\/discord.com\/blog\/how-discord-maintains-performance-while-adding-features","description":"Case study by Discord","pubDate":"Thu, 02 Aug 2018 00:00:00 GMT"},{"title":"How Discord Handles Two and Half Million Concurrent Voice Users using WebRTC","link":"https:\/\/discord.com\/blog\/how-discord-handles-two-and-half-million-concurrent-voice-users-using-webrtc","guid":"https:\/\/discord.com\/blog\/how-discord-handles-two-and-half-million-concurrent-voice-users-using-webrtc","description":"Case study by Discord","pubDate":"Mon, 10 Sep 2018 00:00:00 GMT"},{"title":"Investigating Discord\u2019s React Memory Leak","link":"https:\/\/discord.com\/blog\/investigating-discords-react-memory-leak","guid":"https:\/\/discord.com\/blog\/investigating-discords-react-memory-leak","description":"Case study by Discord","pubDate":"Thu, 08 Aug 2019 00:00:00 GMT"},{"title":"How Discord achieves native iOS performance with React Native","link":"https:\/\/discord.com\/blog\/how-discord-achieves-native-ios-performance-with-react-native","guid":"https:\/\/discord.com\/blog\/how-discord-achieves-native-ios-performance-with-react-native","description":"Case study by Discord","pubDate":"Thu, 07 Nov 2019 00:00:00 GMT"},{"title":"How Discord Implemented App-Wide Keyboard Navigation","link":"https:\/\/discord.com\/blog\/how-discord-implemented-app-wide-keyboard-navigation","guid":"https:\/\/discord.com\/blog\/how-discord-implemented-app-wide-keyboard-navigation","description":"Case study by Discord","pubDate":"Thu, 17 Dec 2020 00:00:00 GMT"},{"title":"How Discord Modernized MFA with WebAuthn","link":"https:\/\/discord.com\/blog\/how-discord-modernized-mfa-with-webauthn","guid":"https:\/\/discord.com\/blog\/how-discord-modernized-mfa-with-webauthn","description":"Case study by Discord","pubDate":"Tue, 12 Dec 2023 00:00:00 GMT"},{"title":"Modern Image Formats at Discord: Supporting WebP and AVIF","link":"https:\/\/discord.com\/blog\/modern-image-formats-at-discord-supporting-webp-and-avif","guid":"https:\/\/discord.com\/blog\/modern-image-formats-at-discord-supporting-webp-and-avif","description":"Case study by Discord","pubDate":"Wed, 12 Mar 2025 00:00:00 GMT"},{"title":"A story of how we migrated to pnpm","link":"https:\/\/divriots.com\/blog\/switching-to-pnpm","guid":"https:\/\/divriots.com\/blog\/switching-to-pnpm","description":"Case study by <div>RIOTS","pubDate":"Tue, 18 Jan 2022 00:00:00 GMT"},{"title":"Things to Keep in Mind When Integrating a Map Feature to a Web App","link":"https:\/\/careersatdoordash.com\/blog\/integrating-a-map-feature-to-a-web-app\/","guid":"https:\/\/careersatdoordash.com\/blog\/integrating-a-map-feature-to-a-web-app\/","description":"Case study by DoorDash","pubDate":"Fri, 11 Sep 2020 00:00:00 GMT"},{"title":"Building the Caviar Web Experience Using Reusable React Components on the DoorDash Platform","link":"https:\/\/careersatdoordash.com\/blog\/caviar-web-experience-react-components\/","guid":"https:\/\/careersatdoordash.com\/blog\/caviar-web-experience-react-components\/","description":"Case study by DoorDash","pubDate":"Tue, 29 Sep 2020 00:00:00 GMT"},{"title":"Implementing Theming in DoorDash\u2019s Design Language System","link":"https:\/\/careersatdoordash.com\/blog\/design-language-system-theming\/","guid":"https:\/\/careersatdoordash.com\/blog\/design-language-system-theming\/","description":"Case study by DoorDash","pubDate":"Thu, 17 Dec 2020 00:00:00 GMT"},{"title":"Serving Multiple Websites and Business Logic From a Single Platform","link":"https:\/\/careersatdoordash.com\/blog\/serving-multiple-websites-and-business-logic-from-a-single-platform\/","guid":"https:\/\/careersatdoordash.com\/blog\/serving-multiple-websites-and-business-logic-from-a-single-platform\/","description":"Case study by DoorDash","pubDate":"Tue, 09 Feb 2021 00:00:00 GMT"},{"title":"Managing React State on DoorDash\u2019s Item Modal Using the Class Pattern","link":"https:\/\/careersatdoordash.com\/blog\/managing-react-state-using-the-class-pattern\/","guid":"https:\/\/careersatdoordash.com\/blog\/managing-react-state-using-the-class-pattern\/","description":"Case study by DoorDash","pubDate":"Wed, 21 Apr 2021 00:00:00 GMT"},{"title":"Building a Marketing Engineering Platform using Next.js, Cloudflare, and Contentful","link":"https:\/\/careersatdoordash.com\/blog\/building-a-marketing-engineering-platform-using-next-js-cloudflare-and-contentful\/","guid":"https:\/\/careersatdoordash.com\/blog\/building-a-marketing-engineering-platform-using-next-js-cloudflare-and-contentful\/","description":"Case study by DoorDash","pubDate":"Tue, 22 Feb 2022 00:00:00 GMT"},{"title":"Improving Web Page Performance at DoorDash Through Server-Side Rendering with Next.JS","link":"https:\/\/careersatdoordash.com\/blog\/improving-web-page-performance-at-doordash-throughserver-side-rendering-with-next-js\/","guid":"https:\/\/careersatdoordash.com\/blog\/improving-web-page-performance-at-doordash-throughserver-side-rendering-with-next-js\/","description":"Case study by DoorDash","pubDate":"Tue, 29 Mar 2022 00:00:00 GMT"},{"title":"Building a Common Web Library for Fast Implementations of Risk Frictions","link":"https:\/\/careersatdoordash.com\/blog\/building-a-common-web-library-for-fast-implementations-of-risk-frictions\/","guid":"https:\/\/careersatdoordash.com\/blog\/building-a-common-web-library-for-fast-implementations-of-risk-frictions\/","description":"Case study by DoorDash","pubDate":"Thu, 31 Mar 2022 00:00:00 GMT"},{"title":"DoorDash\u2019s Lessons on Improving Performance on High-Traffic Web Pages","link":"https:\/\/careersatdoordash.com\/blog\/doordashs-lessons-on-improving-performance-on-high-traffic-web-pages\/","guid":"https:\/\/careersatdoordash.com\/blog\/doordashs-lessons-on-improving-performance-on-high-traffic-web-pages\/","description":"Case study by DoorDash","pubDate":"Tue, 30 Aug 2022 00:00:00 GMT"},{"title":"Revamping Dasher FAQ Hub Through Server-Driven Content and WebView","link":"https:\/\/careersatdoordash.com\/blog\/revamping-dasher-faq-hub-through-server-driven-content-and-webview\/","guid":"https:\/\/careersatdoordash.com\/blog\/revamping-dasher-faq-hub-through-server-driven-content-and-webview\/","description":"Case study by DoorDash","pubDate":"Tue, 24 Oct 2023 00:00:00 GMT"},{"title":"How DoorDash slashed web developer build times","link":"https:\/\/careersatdoordash.com\/blog\/how-doordash-slashed-web-developer-build-times\/","guid":"https:\/\/careersatdoordash.com\/blog\/how-doordash-slashed-web-developer-build-times\/","description":"Case study by DoorDash","pubDate":"Mon, 20 Oct 2025 00:00:00 GMT"},{"title":"Translating Dropbox","link":"https:\/\/blogs.dropbox.com\/tech\/2011\/04\/hello-world\/","guid":"https:\/\/blogs.dropbox.com\/tech\/2011\/04\/hello-world\/","description":"Case study by Dropbox","pubDate":"Mon, 18 Apr 2011 00:00:00 GMT"},{"title":"Some love for JavaScript applications","link":"https:\/\/blogs.dropbox.com\/tech\/2012\/08\/some-love-for-javascript-applications-2\/","guid":"https:\/\/blogs.dropbox.com\/tech\/2012\/08\/some-love-for-javascript-applications-2\/","description":"Case study by Dropbox","pubDate":"Fri, 31 Aug 2012 00:00:00 GMT"},{"title":"Dropbox dives into CoffeeScript","link":"https:\/\/blogs.dropbox.com\/tech\/2012\/09\/dropbox-dives-into-coffeescript\/","guid":"https:\/\/blogs.dropbox.com\/tech\/2012\/09\/dropbox-dives-into-coffeescript\/","description":"Case study by Dropbox","pubDate":"Thu, 13 Sep 2012 00:00:00 GMT"},{"title":"[CSP] On Reporting and Filtering","link":"https:\/\/dropbox.tech\/security\/on-csp-reporting-and-filtering","guid":"https:\/\/dropbox.tech\/security\/on-csp-reporting-and-filtering","description":"Case study by Dropbox","pubDate":"Mon, 21 Sep 2015 00:00:00 GMT"},{"title":"[CSP] Unsafe-inline and nonce deployment","link":"https:\/\/dropbox.tech\/security\/unsafe-inline-and-nonce-deployment","guid":"https:\/\/dropbox.tech\/security\/unsafe-inline-and-nonce-deployment","description":"Case study by Dropbox","pubDate":"Tue, 22 Sep 2015 00:00:00 GMT"},{"title":"[CSP] The Unexpected Eval","link":"https:\/\/dropbox.tech\/security\/csp-the-unexpected-eval","guid":"https:\/\/dropbox.tech\/security\/csp-the-unexpected-eval","description":"Case study by Dropbox","pubDate":"Wed, 23 Sep 2015 00:00:00 GMT"},{"title":"[CSP] Third Party Integrations and Privilege Separation","link":"https:\/\/dropbox.tech\/security\/csp-third-party-integrations-and-privilege-separation","guid":"https:\/\/dropbox.tech\/security\/csp-third-party-integrations-and-privilege-separation","description":"Case study by Dropbox","pubDate":"Thu, 24 Sep 2015 00:00:00 GMT"},{"title":"Enabling HTTP\/2 for Dropbox web services: experiences and observations","link":"https:\/\/blogs.dropbox.com\/tech\/2016\/05\/enabling-http2-for-dropbox-web-services-experiences-and-observations\/","guid":"https:\/\/blogs.dropbox.com\/tech\/2016\/05\/enabling-http2-for-dropbox-web-services-experiences-and-observations\/","description":"Case study by Dropbox","pubDate":"Wed, 11 May 2016 00:00:00 GMT"},{"title":"Annotations on Document Previews","link":"https:\/\/blogs.dropbox.com\/tech\/2016\/11\/annotations-on-document-previews\/","guid":"https:\/\/blogs.dropbox.com\/tech\/2016\/11\/annotations-on-document-previews\/","description":"Case study by Dropbox","pubDate":"Wed, 30 Nov 2016 00:00:00 GMT"},{"title":"Preventing cross-site attacks using same-site cookies","link":"https:\/\/blogs.dropbox.com\/tech\/2017\/03\/preventing-cross-site-attacks-using-same-site-cookies\/","guid":"https:\/\/blogs.dropbox.com\/tech\/2017\/03\/preventing-cross-site-attacks-using-same-site-cookies\/","description":"Case study by Dropbox","pubDate":"Thu, 16 Mar 2017 00:00:00 GMT"},{"title":"Deploying Brotli for static content","link":"https:\/\/blogs.dropbox.com\/tech\/2017\/04\/deploying-brotli-for-static-content\/","guid":"https:\/\/blogs.dropbox.com\/tech\/2017\/04\/deploying-brotli-for-static-content\/","description":"Case study by Dropbox","pubDate":"Thu, 06 Apr 2017 00:00:00 GMT"},{"title":"Dropbox Paper: Emojis and Exformation","link":"https:\/\/blogs.dropbox.com\/tech\/2017\/11\/dropbox-paper-emojis-and-exformation\/","guid":"https:\/\/blogs.dropbox.com\/tech\/2017\/11\/dropbox-paper-emojis-and-exformation\/","description":"Case study by Dropbox","pubDate":"Wed, 15 Nov 2017 00:00:00 GMT"},{"title":"Improving Document Preview Performance","link":"https:\/\/blogs.dropbox.com\/tech\/2017\/12\/improving-document-preview-performance\/","guid":"https:\/\/blogs.dropbox.com\/tech\/2017\/12\/improving-document-preview-performance\/","description":"Case study by Dropbox","pubDate":"Fri, 01 Dec 2017 00:00:00 GMT"},{"title":"Migrating from Underscore to Lodash","link":"https:\/\/blogs.dropbox.com\/tech\/2018\/09\/migrating-from-underscore-to-lodash\/","guid":"https:\/\/blogs.dropbox.com\/tech\/2018\/09\/migrating-from-underscore-to-lodash\/","description":"Case study by Dropbox","pubDate":"Wed, 05 Sep 2018 00:00:00 GMT"},{"title":"Redux with Code-Splitting and Type Checking","link":"https:\/\/blogs.dropbox.com\/tech\/2019\/07\/redux-with-code-splitting-and-type-checking\/","guid":"https:\/\/blogs.dropbox.com\/tech\/2019\/07\/redux-with-code-splitting-and-type-checking\/","description":"Case study by Dropbox","pubDate":"Tue, 16 Jul 2019 00:00:00 GMT"},{"title":"Design Tooling at Scale","link":"https:\/\/dropbox.design\/article\/design-tooling-at-scale","guid":"https:\/\/dropbox.design\/article\/design-tooling-at-scale","description":"Case study by Dropbox","pubDate":"Sat, 12 Oct 2019 00:00:00 GMT"},{"title":"The Great CoffeeScript to Typescript Migration of 2017","link":"https:\/\/dropbox.tech\/frontend\/the-great-coffeescript-to-typescript-migration-of-2017","guid":"https:\/\/dropbox.tech\/frontend\/the-great-coffeescript-to-typescript-migration-of-2017","description":"Case study by Dropbox","pubDate":"Wed, 13 May 2020 00:00:00 GMT"},{"title":"JQuery to React: How we rewrote the HelloSign Editor","link":"https:\/\/dropbox.tech\/application\/jquery-to-react--how-we-rewrote-the-hellosign-editor","guid":"https:\/\/dropbox.tech\/application\/jquery-to-react--how-we-rewrote-the-hellosign-editor","description":"Case study by Dropbox","pubDate":"Wed, 30 Sep 2020 00:00:00 GMT"},{"title":"How we reduced the size of our JavaScript bundles by 33%","link":"https:\/\/dropbox.tech\/frontend\/how-we-reduced-the-size-of-our-javascript-bundles-by-33-percent","guid":"https:\/\/dropbox.tech\/frontend\/how-we-reduced-the-size-of-our-javascript-bundles-by-33-percent","description":"Case study by Dropbox","pubDate":"Wed, 16 Aug 2023 00:00:00 GMT"},{"title":"We\u2019re using TTVC to measure performance on the web\u2014and now you can too","link":"https:\/\/dropbox.tech\/frontend\/measuring-ttvc-web-performance-metric-open-source-library","guid":"https:\/\/dropbox.tech\/frontend\/measuring-ttvc-web-performance-metric-open-source-library","description":"Case study by Dropbox","pubDate":"Wed, 31 Aug 2022 00:00:00 GMT"},{"title":"How Edison is helping us build a faster, more powerful Dropbox on the web","link":"https:\/\/dropbox.tech\/frontend\/edison-webserver-a-faster-more-powerful-dropbox-on-the-web","guid":"https:\/\/dropbox.tech\/frontend\/edison-webserver-a-faster-more-powerful-dropbox-on-the-web","description":"Case study by Dropbox","pubDate":"Tue, 11 Apr 2023 00:00:00 GMT"},{"title":"Investigating the impact of HTTP3 on network latency for search","link":"https:\/\/dropbox.tech\/frontend\/investigating-the-impact-of-http3-on-network-latency-for-search","guid":"https:\/\/dropbox.tech\/frontend\/investigating-the-impact-of-http3-on-network-latency-for-search","description":"Case study by Dropbox","pubDate":"Tue, 16 May 2023 00:00:00 GMT"},{"title":"Data URI Sprites","link":"https:\/\/tech.ebayinc.com\/engineering\/data-uri-sprites\/","guid":"https:\/\/tech.ebayinc.com\/engineering\/data-uri-sprites\/","description":"Case study by eBay","pubDate":"Tue, 12 Jul 2011 00:00:00 GMT"},{"title":"The New eBay Motors Homepage is 2X Faster","link":"https:\/\/tech.ebayinc.com\/engineering\/the-new-ebay-motors-homepage-is-2x-faster\/","guid":"https:\/\/tech.ebayinc.com\/engineering\/the-new-ebay-motors-homepage-is-2x-faster\/","description":"Case study by eBay","pubDate":"Fri, 14 Oct 2011 00:00:00 GMT"},{"title":"Five JavaScript Tips for a Sleek User Experience","link":"https:\/\/tech.ebayinc.com\/engineering\/five-javascript-tips-for-a-sleek-user-experience\/","guid":"https:\/\/tech.ebayinc.com\/engineering\/five-javascript-tips-for-a-sleek-user-experience\/","description":"Case study by eBay","pubDate":"Mon, 16 Apr 2012 00:00:00 GMT"},{"title":"Page Loading and Rendering Optimizations","link":"https:\/\/tech.ebayinc.com\/engineering\/page-loading-and-rendering-optimizations\/","guid":"https:\/\/tech.ebayinc.com\/engineering\/page-loading-and-rendering-optimizations\/","description":"Case study by eBay","pubDate":"Fri, 22 Jun 2012 00:00:00 GMT"},{"title":"Bandwidth-based Experience","link":"https:\/\/tech.ebayinc.com\/engineering\/bandwidth-based-experience\/","guid":"https:\/\/tech.ebayinc.com\/engineering\/bandwidth-based-experience\/","description":"Case study by eBay","pubDate":"Wed, 10 Oct 2012 00:00:00 GMT"},{"title":"Early Detection of Frontend Single Points of Failure","link":"https:\/\/tech.ebayinc.com\/engineering\/early-detection-of-frontend-single-points-of-failure\/","guid":"https:\/\/tech.ebayinc.com\/engineering\/early-detection-of-frontend-single-points-of-failure\/","description":"Case study by eBay","pubDate":"Tue, 22 Jan 2013 00:00:00 GMT"},{"title":"Front-end Renaissance at eBay","link":"https:\/\/tech.ebayinc.com\/engineering\/front-end-renaissance-at-ebay\/","guid":"https:\/\/tech.ebayinc.com\/engineering\/front-end-renaissance-at-ebay\/","description":"Case study by eBay","pubDate":"Mon, 13 Jan 2014 00:00:00 GMT"},{"title":"Yet Another Responsive vs. Adaptive Story","link":"https:\/\/tech.ebayinc.com\/engineering\/yet-another-responsive-vs-adaptive-story\/","guid":"https:\/\/tech.ebayinc.com\/engineering\/yet-another-responsive-vs-adaptive-story\/","description":"Case study by eBay","pubDate":"Wed, 05 Mar 2014 00:00:00 GMT"},{"title":"Don't Build Pages, Build Modules","link":"https:\/\/tech.ebayinc.com\/engineering\/dont-build-pages-build-modules\/","guid":"https:\/\/tech.ebayinc.com\/engineering\/dont-build-pages-build-modules\/","description":"Case study by eBay","pubDate":"Thu, 02 Oct 2014 00:00:00 GMT"},{"title":"Async Fragments: Rediscovering Progressive HTML Rendering with Marko","link":"https:\/\/tech.ebayinc.com\/engineering\/async-fragments-rediscovering-progressive-html-rendering-with-marko\/","guid":"https:\/\/tech.ebayinc.com\/engineering\/async-fragments-rediscovering-progressive-html-rendering-with-marko\/","description":"Case study by eBay","pubDate":"Mon, 08 Dec 2014 00:00:00 GMT"},{"title":"The Power of Perceived Performance","link":"https:\/\/tech.ebayinc.com\/engineering\/the-power-of-perceived-performance\/","guid":"https:\/\/tech.ebayinc.com\/engineering\/the-power-of-perceived-performance\/","description":"Case study by eBay","pubDate":"Mon, 05 Jan 2015 00:00:00 GMT"},{"title":"Mobile First - A Retrospective","link":"https:\/\/www.ebayinc.com\/stories\/blogs\/tech\/mobile-first-a-retrospective\/","guid":"https:\/\/www.ebayinc.com\/stories\/blogs\/tech\/mobile-first-a-retrospective\/","description":"Case study by eBay","pubDate":"Wed, 13 May 2015 00:00:00 GMT"},{"title":"How Our CSS Framework Helps Enforce Accessibility","link":"https:\/\/www.ebayinc.com\/stories\/blogs\/tech\/how-our-css-framework-helps-enforce-accessibility\/","guid":"https:\/\/www.ebayinc.com\/stories\/blogs\/tech\/how-our-css-framework-helps-enforce-accessibility\/","description":"Case study by eBay","pubDate":"Wed, 04 Nov 2015 00:00:00 GMT"},{"title":"Packaging for Performance","link":"https:\/\/tech.ebayinc.com\/engineering\/packaging-for-performance\/","guid":"https:\/\/tech.ebayinc.com\/engineering\/packaging-for-performance\/","description":"Case study by eBay","pubDate":"Mon, 04 Jan 2016 00:00:00 GMT"},{"title":"The Path to JavaScript Next","link":"https:\/\/www.ebayinc.com\/stories\/blogs\/tech\/the-path-to-javascript-next\/","guid":"https:\/\/www.ebayinc.com\/stories\/blogs\/tech\/the-path-to-javascript-next\/","description":"Case study by eBay","pubDate":"Tue, 15 Mar 2016 00:00:00 GMT"},{"title":"Browse eBay with Style and Speed","link":"https:\/\/tech.ebayinc.com\/engineering\/browse-ebay-with-style-and-speed\/","guid":"https:\/\/tech.ebayinc.com\/engineering\/browse-ebay-with-style-and-speed\/","description":"Case study by eBay","pubDate":"Thu, 30 Jun 2016 00:00:00 GMT"},{"title":"Experience the Lightning Bolt","link":"https:\/\/tech.ebayinc.com\/engineering\/experience-the-lightning-bolt\/","guid":"https:\/\/tech.ebayinc.com\/engineering\/experience-the-lightning-bolt\/","description":"Case study by eBay","pubDate":"Wed, 21 Sep 2016 00:00:00 GMT"},{"title":"Effective Front-End Code Review","link":"https:\/\/tech.ebayinc.com\/engineering\/effective-front-end-code-review\/","guid":"https:\/\/tech.ebayinc.com\/engineering\/effective-front-end-code-review\/","description":"Case study by eBay","pubDate":"Thu, 02 Mar 2017 00:00:00 GMT"},{"title":"Building a UI Component in 2017 and Beyond","link":"https:\/\/www.ebayinc.com\/stories\/blogs\/tech\/building-a-ui-component-in-2017-and-beyond","guid":"https:\/\/www.ebayinc.com\/stories\/blogs\/tech\/building-a-ui-component-in-2017-and-beyond","description":"Case study by eBay","pubDate":"Wed, 03 May 2017 00:00:00 GMT"},{"title":"eBay\u2019s Font Loading Strategy","link":"https:\/\/www.ebayinc.com\/stories\/blogs\/tech\/ebays-font-loading-strategy","guid":"https:\/\/www.ebayinc.com\/stories\/blogs\/tech\/ebays-font-loading-strategy","description":"Case study by eBay","pubDate":"Thu, 21 Sep 2017 00:00:00 GMT"},{"title":"The Future of Marko","link":"https:\/\/www.ebayinc.com\/stories\/blogs\/tech\/the-future-of-marko\/","guid":"https:\/\/www.ebayinc.com\/stories\/blogs\/tech\/the-future-of-marko\/","description":"Case study by eBay","pubDate":"Thu, 26 Oct 2017 00:00:00 GMT"},{"title":"Beyond HTTPS","link":"https:\/\/www.ebayinc.com\/stories\/blogs\/tech\/beyond-https\/","guid":"https:\/\/www.ebayinc.com\/stories\/blogs\/tech\/beyond-https\/","description":"Case study by eBay","pubDate":"Wed, 13 Dec 2017 00:00:00 GMT"},{"title":"Integration Testing with React and Enzyme","link":"https:\/\/tech.ebayinc.com\/engineering\/integration-testing-with-react-and-enzyme\/","guid":"https:\/\/tech.ebayinc.com\/engineering\/integration-testing-with-react-and-enzyme\/","description":"Case study by eBay","pubDate":"Tue, 26 Jun 2018 00:00:00 GMT"},{"title":"WebAssembly at eBay: A Real-World Use Case","link":"https:\/\/www.ebayinc.com\/stories\/blogs\/tech\/webassembly-at-ebay-a-real-world-use-case\/","guid":"https:\/\/www.ebayinc.com\/stories\/blogs\/tech\/webassembly-at-ebay-a-real-world-use-case\/","description":"Case study by eBay","pubDate":"Wed, 22 May 2019 00:00:00 GMT"},{"title":"Autofill on Browsers: A Deep Dive","link":"https:\/\/tech.ebayinc.com\/engineering\/autofill-deep-dive\/","guid":"https:\/\/tech.ebayinc.com\/engineering\/autofill-deep-dive\/","description":"Case study by eBay","pubDate":"Tue, 03 Dec 2019 00:00:00 GMT"},{"title":"Speed By A Thousand Cuts","link":"https:\/\/tech.ebayinc.com\/engineering\/speed-by-a-thousand-cuts\/","guid":"https:\/\/tech.ebayinc.com\/engineering\/speed-by-a-thousand-cuts\/","description":"Case study by eBay","pubDate":"Thu, 23 Jan 2020 00:00:00 GMT"},{"title":"Front End Debugging \u2014 Tips on Resolving Issues Quickly so You Can Move on to Better Things","link":"https:\/\/tech.ebayinc.com\/engineering\/front-end-debugging-tips-on-resolving-issues-quickly-so-you-can-move-on-to-better-things\/","guid":"https:\/\/tech.ebayinc.com\/engineering\/front-end-debugging-tips-on-resolving-issues-quickly-so-you-can-move-on-to-better-things\/","description":"Case study by eBay","pubDate":"Tue, 07 Apr 2020 00:00:00 GMT"},{"title":"Auto Effect Pattern with Redux and React Hooks","link":"https:\/\/tech.ebayinc.com\/engineering\/auto-effect-pattern-with-redux-and-react-hooks\/","guid":"https:\/\/tech.ebayinc.com\/engineering\/auto-effect-pattern-with-redux-and-react-hooks\/","description":"Case study by eBay","pubDate":"Wed, 15 Apr 2020 00:00:00 GMT"},{"title":"Rethink Modals Management in React","link":"https:\/\/innovation.ebayinc.com\/stories\/rethink-modals-management-in-react\/","guid":"https:\/\/innovation.ebayinc.com\/stories\/rethink-modals-management-in-react\/","description":"Case study by eBay","pubDate":"Fri, 19 Nov 2021 00:00:00 GMT"},{"title":"Introducing an Accessibility Linter for Marko: Shortening the Accessibility Testing Pipeline","link":"https:\/\/innovation.ebayinc.com\/stories\/introducing-an-accessibility-linter-for-marko-shortening-the-accessibility-testing-pipeline\/","guid":"https:\/\/innovation.ebayinc.com\/stories\/introducing-an-accessibility-linter-for-marko-shortening-the-accessibility-testing-pipeline\/","description":"Case study by eBay","pubDate":"Mon, 27 Nov 2023 00:00:00 GMT"},{"title":"An approach to optimizing TypeScript type checking performance","link":"https:\/\/www.edgedb.com\/blog\/an-approach-to-optimizing-typescript-type-checking-performance#the-next-generation-of-performance-tools","guid":"https:\/\/www.edgedb.com\/blog\/an-approach-to-optimizing-typescript-type-checking-performance#the-next-generation-of-performance-tools","description":"Case study by EdgeDB","pubDate":"Thu, 08 Aug 2024 00:00:00 GMT"},{"title":"Building UI at Enterprise Scale with Web Components","link":"https:\/\/youtu.be\/FJ2KEvzlyo4","guid":"https:\/\/youtu.be\/FJ2KEvzlyo4","description":"Case study by Electronic Arts","pubDate":"Tue, 22 Aug 2017 00:00:00 GMT"},{"title":"Upgrading Ele.me to Progressive Web App","link":"https:\/\/medium.com\/elemefe\/upgrading-ele-me-to-progressive-web-app-2a446832e509","guid":"https:\/\/medium.com\/elemefe\/upgrading-ele-me-to-progressive-web-app-2a446832e509","description":"Case study by Ele.me","pubDate":"Sat, 06 May 2017 00:00:00 GMT"},{"title":"Localizing Logically for a Global Marketplace","link":"https:\/\/www.etsy.com\/codeascraft\/localizing-logically-for-a-global-marketplace\/","guid":"https:\/\/www.etsy.com\/codeascraft\/localizing-logically-for-a-global-marketplace\/","description":"Case study by Etsy","pubDate":"Fri, 21 Oct 2011 00:00:00 GMT"},{"title":"Multilingual User Generated Content and SEO","link":"https:\/\/www.etsy.com\/codeascraft\/multilingual-user-generated-content-and-seo\/","guid":"https:\/\/www.etsy.com\/codeascraft\/multilingual-user-generated-content-and-seo\/","description":"Case study by Etsy","pubDate":"Fri, 02 Dec 2011 00:00:00 GMT"},{"title":"Measuring Front-end Performance With Real Users","link":"https:\/\/www.etsy.com\/codeascraft\/measuring-front-end-performance-with-real-users\/","guid":"https:\/\/www.etsy.com\/codeascraft\/measuring-front-end-performance-with-real-users\/","description":"Case study by Etsy","pubDate":"Thu, 29 Nov 2012 00:00:00 GMT"},{"title":"Responsive emails that really work","link":"https:\/\/www.etsy.com\/codeascraft\/responsive-emails-that-really-work\/","guid":"https:\/\/www.etsy.com\/codeascraft\/responsive-emails-that-really-work\/","description":"Case study by Etsy","pubDate":"Thu, 13 Mar 2014 00:00:00 GMT"},{"title":"Transitioning to SCSS at Scale","link":"https:\/\/www.etsy.com\/codeascraft\/transitioning-to-scss-at-scale\/","guid":"https:\/\/www.etsy.com\/codeascraft\/transitioning-to-scss-at-scale\/","description":"Case study by Etsy","pubDate":"Mon, 02 Feb 2015 00:00:00 GMT"},{"title":"Rebuilding the Foundation of Etsy\u2019s Seller Tools","link":"https:\/\/www.etsy.com\/codeascraft\/rebuilding-the-foundation-of-etsy-seller-tools\/","guid":"https:\/\/www.etsy.com\/codeascraft\/rebuilding-the-foundation-of-etsy-seller-tools\/","description":"Case study by Etsy","pubDate":"Thu, 05 Feb 2015 00:00:00 GMT"},{"title":"How Etsy Formats Currency","link":"https:\/\/www.etsy.com\/codeascraft\/how-etsy-formats-currency\/","guid":"https:\/\/www.etsy.com\/codeascraft\/how-etsy-formats-currency\/","description":"Case study by Etsy","pubDate":"Tue, 19 Apr 2016 00:00:00 GMT"},{"title":"SEO Title Tag Optimization at Etsy: Experimental Design and Causal Inference","link":"https:\/\/www.etsy.com\/codeascraft\/seo-title-tag-optimization\/","guid":"https:\/\/www.etsy.com\/codeascraft\/seo-title-tag-optimization\/","description":"Case study by Etsy","pubDate":"Tue, 25 Oct 2016 00:00:00 GMT"},{"title":"Optimizing Meta Descriptions, H1s and Title Tags: Lessons from Multivariate SEO Testing at Etsy","link":"https:\/\/www.etsy.com\/codeascraft\/optimizing-meta-descriptions-h1s-and-title-tags-lessons-from-multivariate-seo-testing-at-etsy\/","guid":"https:\/\/www.etsy.com\/codeascraft\/optimizing-meta-descriptions-h1s-and-title-tags-lessons-from-multivariate-seo-testing-at-etsy\/","description":"Case study by Etsy","pubDate":"Wed, 25 Jan 2017 00:00:00 GMT"},{"title":"Reducing Image File Size at Etsy","link":"https:\/\/www.etsy.com\/codeascraft\/reducing-image-file-size-at-etsy\/","guid":"https:\/\/www.etsy.com\/codeascraft\/reducing-image-file-size-at-etsy\/","description":"Case study by Etsy","pubDate":"Tue, 30 May 2017 00:00:00 GMT"},{"title":"How Etsy Localizes Addresses","link":"https:\/\/www.etsy.com\/codeascraft\/how-etsy-localizes-addresses\/","guid":"https:\/\/www.etsy.com\/codeascraft\/how-etsy-localizes-addresses\/","description":"Case study by Etsy","pubDate":"Wed, 26 Sep 2018 00:00:00 GMT"},{"title":"Developing in a Monorepo While Still Using Webpack","link":"https:\/\/www.etsy.com\/codeascraft\/developing-in-a-monorepo-while-still-using-webpack\/","guid":"https:\/\/www.etsy.com\/codeascraft\/developing-in-a-monorepo-while-still-using-webpack\/","description":"Case study by Etsy","pubDate":"Mon, 06 Apr 2020 00:00:00 GMT"},{"title":"The journey to fast production asset builds with Webpack","link":"https:\/\/www.etsy.com\/codeascraft\/production-webpack-builds\/","guid":"https:\/\/www.etsy.com\/codeascraft\/production-webpack-builds\/","description":"Case study by Etsy","pubDate":"Mon, 03 Feb 2020 00:00:00 GMT"},{"title":"Mobius: Adopting JSX While Prioritizing User Experience","link":"https:\/\/www.etsy.com\/codeascraft\/mobius-adopting-jsx-while-prioritizing-user-experience","guid":"https:\/\/www.etsy.com\/codeascraft\/mobius-adopting-jsx-while-prioritizing-user-experience","description":"Case study by Etsy","pubDate":"Thu, 04 Nov 2021 00:00:00 GMT"},{"title":"Etsy\u2019s Journey to TypeScript","link":"https:\/\/www.etsy.com\/codeascraft\/etsys-journey-to-typescript","guid":"https:\/\/www.etsy.com\/codeascraft\/etsys-journey-to-typescript","description":"Case study by Etsy","pubDate":"Mon, 08 Nov 2021 00:00:00 GMT"},{"title":"Improving performance by prefetching product pages from Etsy Search","link":"https:\/\/www.etsy.com\/codeascraft\/search-prefetching-performance","guid":"https:\/\/www.etsy.com\/codeascraft\/search-prefetching-performance","description":"Case study by Etsy","pubDate":"Wed, 29 Oct 2025 00:00:00 GMT"},{"title":"Building Elbow Arrows in Excalidraw (Part 2)","link":"https:\/\/plus.excalidraw.com\/blog\/building-elbow-arrows-part-two","guid":"https:\/\/plus.excalidraw.com\/blog\/building-elbow-arrows-part-two","description":"Case study by Excalidraw","pubDate":"Thu, 18 Dec 2025 00:00:00 GMT"},{"title":"Building Elbow Arrows in Excalidraw (Part 1)","link":"https:\/\/plus.excalidraw.com\/blog\/building-elbow-arrows-part-one","guid":"https:\/\/plus.excalidraw.com\/blog\/building-elbow-arrows-part-one","description":"Case study by Excalidraw","pubDate":"Mon, 06 Oct 2025 00:00:00 GMT"},{"title":"Excalidraw+ is SOC 2 compliant","link":"https:\/\/plus.excalidraw.com\/blog\/excalidraw-soc2","guid":"https:\/\/plus.excalidraw.com\/blog\/excalidraw-soc2","description":"Case study by Excalidraw","pubDate":"Wed, 18 Jun 2025 00:00:00 GMT"},{"title":"Adding hand-drawn font for Chinese, Japanese and Korean","link":"https:\/\/plus.excalidraw.com\/blog\/adding-hand-drawn-font-for-chinese-japanese-korean","guid":"https:\/\/plus.excalidraw.com\/blog\/adding-hand-drawn-font-for-chinese-japanese-korean","description":"Case study by Excalidraw","pubDate":"Thu, 07 Nov 2024 00:00:00 GMT"},{"title":"Rethinking the Component API","link":"https:\/\/plus.excalidraw.com\/blog\/redesigning-editor-api","guid":"https:\/\/plus.excalidraw.com\/blog\/redesigning-editor-api","description":"Case study by Excalidraw","pubDate":"Fri, 13 Jan 2023 00:00:00 GMT"},{"title":"Excalidraw and Fugu: Improving Core User Journeys","link":"https:\/\/plus.excalidraw.com\/blog\/excalidraw-and-fugu","guid":"https:\/\/plus.excalidraw.com\/blog\/excalidraw-and-fugu","description":"Case study by Excalidraw","pubDate":"Fri, 21 May 2021 00:00:00 GMT"},{"title":"Deprecating Excalidraw Electron in favor of the Web version","link":"https:\/\/plus.excalidraw.com\/blog\/deprecating-excalidraw-electron","guid":"https:\/\/plus.excalidraw.com\/blog\/deprecating-excalidraw-electron","description":"Case study by Excalidraw","pubDate":"Thu, 17 Dec 2020 00:00:00 GMT"},{"title":"Reading and writing files and directories with the browser-fs-access library","link":"https:\/\/plus.excalidraw.com\/blog\/browser-fs-access","guid":"https:\/\/plus.excalidraw.com\/blog\/browser-fs-access","description":"Case study by Excalidraw","pubDate":"Wed, 09 Dec 2020 00:00:00 GMT"},{"title":"Enabling Translations","link":"https:\/\/plus.excalidraw.com\/blog\/enabling-translations","guid":"https:\/\/plus.excalidraw.com\/blog\/enabling-translations","description":"Case study by Excalidraw","pubDate":"Thu, 16 Apr 2020 00:00:00 GMT"},{"title":"Building Excalidraw's P2P Collaboration Feature","link":"https:\/\/plus.excalidraw.com\/blog\/building-excalidraw-p2p-collaboration-feature","guid":"https:\/\/plus.excalidraw.com\/blog\/building-excalidraw-p2p-collaboration-feature","description":"Case study by Excalidraw","pubDate":"Sun, 29 Mar 2020 00:00:00 GMT"},{"title":"End-to-End Encryption in the Browser","link":"https:\/\/plus.excalidraw.com\/blog\/end-to-end-encryption","guid":"https:\/\/plus.excalidraw.com\/blog\/end-to-end-encryption","description":"Case study by Excalidraw","pubDate":"Sat, 21 Mar 2020 00:00:00 GMT"},{"title":"Is React Native podium-ready?","link":"https:\/\/evilmartians.com\/chronicles\/is-react-native-podium-ready","guid":"https:\/\/evilmartians.com\/chronicles\/is-react-native-podium-ready","description":"Case study by Evil Martians","pubDate":"Mon, 14 May 2018 00:00:00 GMT"},{"title":"Scoping A\/B Test Code in React","link":"https:\/\/medium.com\/expedia-group-tech\/a-b-testing-and-the-cloak-of-invisibility-a-better-way-to-scope-variant-code-in-your-react-app-902a68a0c2c3","guid":"https:\/\/medium.com\/expedia-group-tech\/a-b-testing-and-the-cloak-of-invisibility-a-better-way-to-scope-variant-code-in-your-react-app-902a68a0c2c3","description":"Case study by Expedia Group","pubDate":"Tue, 04 Sep 2018 00:00:00 GMT"},{"title":"Profiling React Server-Side Rendering to Free the Node.js Event Loop","link":"https:\/\/medium.com\/expedia-group-tech\/profiling-react-server-side-rendering-to-free-the-node-js-event-loop-7f0fe455a901","guid":"https:\/\/medium.com\/expedia-group-tech\/profiling-react-server-side-rendering-to-free-the-node-js-event-loop-7f0fe455a901","description":"Case study by Expedia Group","pubDate":"Mon, 18 Feb 2019 00:00:00 GMT"},{"title":"Creating Your Own Apollo Cache for Perf and Profit","link":"https:\/\/medium.com\/expedia-group-tech\/creating-your-own-apollo-cache-for-perf-and-profit-8f786849e5f6","guid":"https:\/\/medium.com\/expedia-group-tech\/creating-your-own-apollo-cache-for-perf-and-profit-8f786849e5f6","description":"Case study by Expedia Group","pubDate":"Thu, 07 Feb 2019 00:00:00 GMT"},{"title":"Optimizing a Page: Resource Hints, Critical CSS, and Webpack","link":"https:\/\/medium.com\/expedia-group-tech\/optimize-a-page-resource-hint-critical-css-webpack-c8cc7319fb87","guid":"https:\/\/medium.com\/expedia-group-tech\/optimize-a-page-resource-hint-critical-css-webpack-c8cc7319fb87","description":"Case study by Expedia Group","pubDate":"Wed, 20 Mar 2019 00:00:00 GMT"},{"title":"Contextual and Consistent Analytic Events in React","link":"https:\/\/medium.com\/expedia-group-tech\/contextual-and-consistent-analytic-event-triggering-in-react-40b48b15739e","guid":"https:\/\/medium.com\/expedia-group-tech\/contextual-and-consistent-analytic-event-triggering-in-react-40b48b15739e","description":"Case study by Expedia Group","pubDate":"Mon, 22 Apr 2019 00:00:00 GMT"},{"title":"Minimizing DOM Nodes for Performance","link":"https:\/\/medium.com\/expedia-group-tech\/minimizing-dom-nodes-for-performance-57f347df4c72","guid":"https:\/\/medium.com\/expedia-group-tech\/minimizing-dom-nodes-for-performance-57f347df4c72","description":"Case study by Expedia Group","pubDate":"Tue, 24 Sep 2019 00:00:00 GMT"},{"title":"Web Performance vs. User Engagement","link":"https:\/\/medium.com\/expedia-group-tech\/web-performance-vs-user-engagement-7eda84f6436b","guid":"https:\/\/medium.com\/expedia-group-tech\/web-performance-vs-user-engagement-7eda84f6436b","description":"Case study by Expedia Group","pubDate":"Thu, 31 Oct 2019 00:00:00 GMT"},{"title":"Migrating to WKWebView","link":"https:\/\/medium.com\/expedia-group-tech\/migrating-to-wkwebview-d5b6d0e52c4f","guid":"https:\/\/medium.com\/expedia-group-tech\/migrating-to-wkwebview-d5b6d0e52c4f","description":"Case study by Expedia Group","pubDate":"Wed, 11 Dec 2019 00:00:00 GMT"},{"title":"A (Small) Case for Function-Based React Components","link":"https:\/\/medium.com\/expedia-group-tech\/a-small-case-for-function-based-react-components-2939cd8df975","guid":"https:\/\/medium.com\/expedia-group-tech\/a-small-case-for-function-based-react-components-2939cd8df975","description":"Case study by Expedia Group","pubDate":"Tue, 10 Dec 2019 00:00:00 GMT"},{"title":"Measuring Interaction Performance with FPS Data","link":"https:\/\/medium.com\/expedia-group-tech\/measuring-interaction-performance-with-fps-data-b0eee1d102c4","guid":"https:\/\/medium.com\/expedia-group-tech\/measuring-interaction-performance-with-fps-data-b0eee1d102c4","description":"Case study by Expedia Group","pubDate":"Mon, 16 Dec 2019 00:00:00 GMT"},{"title":"File Upload with GraphQL, Apollo Server, Hapi 18+, and React","link":"https:\/\/medium.com\/expedia-group-tech\/file-upload-with-graphql-apollo-server-hapi-18-and-react-2390e297619d","guid":"https:\/\/medium.com\/expedia-group-tech\/file-upload-with-graphql-apollo-server-hapi-18-and-react-2390e297619d","description":"Case study by Expedia Group","pubDate":"Thu, 16 Jan 2020 00:00:00 GMT"},{"title":"Web Applications: Analyzing Client-Side Performance","link":"https:\/\/medium.com\/expedia-group-tech\/web-applications-analyzing-client-side-performance-37e9cc4ad86b","guid":"https:\/\/medium.com\/expedia-group-tech\/web-applications-analyzing-client-side-performance-37e9cc4ad86b","description":"Case study by Expedia Group","pubDate":"Tue, 07 Jan 2020 00:00:00 GMT"},{"title":"Schema Driven UIs","link":"https:\/\/medium.com\/expedia-group-tech\/schema-driven-uis-dd8fdb516120","guid":"https:\/\/medium.com\/expedia-group-tech\/schema-driven-uis-dd8fdb516120","description":"Case study by Expedia Group","pubDate":"Thu, 23 Jan 2020 00:00:00 GMT"},{"title":"Responsive Accessibility Guidelines at Expedia.com","link":"https:\/\/medium.com\/expedia-group-tech\/responsive-accessibility-guidelines-at-expedia-com-cc1184c4f271","guid":"https:\/\/medium.com\/expedia-group-tech\/responsive-accessibility-guidelines-at-expedia-com-cc1184c4f271","description":"Case study by Expedia Group","pubDate":"Thu, 27 Feb 2020 00:00:00 GMT"},{"title":"12 Tips to Improve Client Side Page Performance","link":"https:\/\/medium.com\/expedia-group-tech\/12-tips-to-improve-client-side-page-performance-88c7bec27933","guid":"https:\/\/medium.com\/expedia-group-tech\/12-tips-to-improve-client-side-page-performance-88c7bec27933","description":"Case study by Expedia Group","pubDate":"Tue, 28 Apr 2020 00:00:00 GMT"},{"title":"Using Webpack Module Federation to Create an App Shell","link":"https:\/\/medium.com\/expedia-group-tech\/using-webpack-module-federation-to-share-an-app-shell-7d23633510e","guid":"https:\/\/medium.com\/expedia-group-tech\/using-webpack-module-federation-to-share-an-app-shell-7d23633510e","description":"Case study by Expedia Group","pubDate":"Wed, 10 Jun 2020 00:00:00 GMT"},{"title":"CSS-in-JS: An Investigation","link":"https:\/\/medium.com\/expedia-group-tech\/css-in-js-an-investigation-39338a1057db","guid":"https:\/\/medium.com\/expedia-group-tech\/css-in-js-an-investigation-39338a1057db","description":"Case study by Expedia Group","pubDate":"Tue, 07 Jul 2020 00:00:00 GMT"},{"title":"Multi-Variate Web Optimisation Using Linear Contextual Bandits","link":"https:\/\/medium.com\/expedia-group-tech\/multi-variate-web-optimisation-using-linear-contextual-bandits-567f563cb59","guid":"https:\/\/medium.com\/expedia-group-tech\/multi-variate-web-optimisation-using-linear-contextual-bandits-567f563cb59","description":"Case study by Expedia Group","pubDate":"Tue, 01 Sep 2020 00:00:00 GMT"},{"title":"How Expedia.com Uses Accessibility Automation","link":"https:\/\/medium.com\/expedia-group-tech\/how-expedia-com-uses-accessibility-automation-d3de3e3ff775","guid":"https:\/\/medium.com\/expedia-group-tech\/how-expedia-com-uses-accessibility-automation-d3de3e3ff775","description":"Case study by Expedia Group","pubDate":"Thu, 01 Oct 2020 00:00:00 GMT"},{"title":"Sizing Android WebView iframes with JavaScript","link":"https:\/\/medium.com\/expedia-group-tech\/sizing-android-webview-iframes-with-javascript-abae73fe6602","guid":"https:\/\/medium.com\/expedia-group-tech\/sizing-android-webview-iframes-with-javascript-abae73fe6602","description":"Case study by Expedia Group","pubDate":"Tue, 27 Apr 2021 00:00:00 GMT"},{"title":"The case against React snapshot testing","link":"https:\/\/engineering.ezcater.com\/the-case-against-react-snapshot-testing","guid":"https:\/\/engineering.ezcater.com\/the-case-against-react-snapshot-testing","description":"Case study by ezCater","pubDate":"Thu, 27 Jun 2019 00:00:00 GMT"},{"title":"Saying goodbye to emotion","link":"https:\/\/engineering.ezcater.com\/saying-goodbye-to-emotion","guid":"https:\/\/engineering.ezcater.com\/saying-goodbye-to-emotion","description":"Case study by ezCater","pubDate":"Tue, 01 Jun 2021 00:00:00 GMT"},{"title":"Building the F8 App with React Native","link":"http:\/\/makeitopen.com","guid":"http:\/\/makeitopen.com","description":"Case study by Meta","pubDate":"Sun, 01 Jan 2017 00:00:00 GMT"},{"title":"BigPipe: Pipelining web pages for high performance","link":"https:\/\/www.facebook.com\/notes\/facebook-engineering\/bigpipe-pipelining-web-pages-for-high-performance\/389414033919\/","guid":"https:\/\/www.facebook.com\/notes\/facebook-engineering\/bigpipe-pipelining-web-pages-for-high-performance\/389414033919\/","description":"Case study by Meta","pubDate":"Fri, 04 Jun 2010 00:00:00 GMT"},{"title":"Facebook has 30,000 react components. How do you manage large project directories with many components?","link":"https:\/\/www.reddit.com\/r\/reactjs\/comments\/6al7h2\/facebook_has_30000_react_components_how_do_you\/dhgruqh\/","guid":"https:\/\/www.reddit.com\/r\/reactjs\/comments\/6al7h2\/facebook_has_30000_react_components_how_do_you\/dhgruqh\/","description":"Case study by Meta","pubDate":"Tue, 31 Dec 2013 00:00:00 GMT"},{"title":"The technology behind preview photos","link":"https:\/\/engineering.fb.com\/2015\/08\/06\/android\/the-technology-behind-preview-photos\/","guid":"https:\/\/engineering.fb.com\/2015\/08\/06\/android\/the-technology-behind-preview-photos\/","description":"Case study by Meta","pubDate":"Thu, 06 Aug 2015 00:00:00 GMT"},{"title":"Improving CSS quality at Facebook and beyond","link":"https:\/\/code.fb.com\/open-source\/improving-css-quality-at-facebook-and-beyond\/","guid":"https:\/\/code.fb.com\/open-source\/improving-css-quality-at-facebook-and-beyond\/","description":"Case study by Meta","pubDate":"Mon, 13 Jun 2016 00:00:00 GMT"},{"title":"This browser tweak saved 60% of requests to Facebook","link":"https:\/\/engineering.fb.com\/2017\/01\/26\/web\/this-browser-tweak-saved-60-of-requests-to-facebook\/","guid":"https:\/\/engineering.fb.com\/2017\/01\/26\/web\/this-browser-tweak-saved-60-of-requests-to-facebook\/","description":"Case study by Meta","pubDate":"Thu, 26 Jan 2017 00:00:00 GMT"},{"title":"Building High-Quality JavaScript Tools","link":"https:\/\/youtu.be\/PvabBs_utr8","guid":"https:\/\/youtu.be\/PvabBs_utr8","description":"Case study by Meta","pubDate":"Fri, 02 Jun 2017 00:00:00 GMT"},{"title":"React 16: A look inside an API-compatible rewrite of our frontend UI library","link":"https:\/\/engineering.fb.com\/2017\/09\/26\/web\/react-16-a-look-inside-an-api-compatible-rewrite-of-our-frontend-ui-library\/","guid":"https:\/\/engineering.fb.com\/2017\/09\/26\/web\/react-16-a-look-inside-an-api-compatible-rewrite-of-our-frontend-ui-library\/","description":"Case study by Meta","pubDate":"Tue, 26 Sep 2017 00:00:00 GMT"},{"title":"Behind the Scenes: Improving the React Repository Infrastructure","link":"https:\/\/reactjs.org\/blog\/2017\/12\/15\/improving-the-repository-infrastructure.html","guid":"https:\/\/reactjs.org\/blog\/2017\/12\/15\/improving-the-repository-infrastructure.html","description":"Case study by Meta","pubDate":"Fri, 15 Dec 2017 00:00:00 GMT"},{"title":"Faster input events with Facebook\u2019s first browser API contribution","link":"https:\/\/code.fb.com\/developer-tools\/isinputpending-api\/","guid":"https:\/\/code.fb.com\/developer-tools\/isinputpending-api\/","description":"Case study by Meta","pubDate":"Mon, 22 Apr 2019 00:00:00 GMT"},{"title":"Building the New facebook.com with React, GraphQL and Relay","link":"https:\/\/developers.facebook.com\/videos\/2019\/building-the-new-facebookcom-with-react-graphql-and-relay\/","guid":"https:\/\/developers.facebook.com\/videos\/2019\/building-the-new-facebookcom-with-react-graphql-and-relay\/","description":"Case study by Meta","pubDate":"Tue, 30 Apr 2019 00:00:00 GMT"},{"title":"Rebuilding our tech stack for the new Facebook.com","link":"https:\/\/engineering.fb.com\/web\/facebook-redesign\/","guid":"https:\/\/engineering.fb.com\/web\/facebook-redesign\/","description":"Case study by Meta","pubDate":"Fri, 08 May 2020 00:00:00 GMT"},{"title":"Making Facebook.com accessible to as many people as possible","link":"https:\/\/engineering.fb.com\/web\/facebook-com-accessibility\/","guid":"https:\/\/engineering.fb.com\/web\/facebook-com-accessibility\/","description":"Case study by Meta","pubDate":"Thu, 30 Jul 2020 00:00:00 GMT"},{"title":"How Facebook is bringing QUIC to billions","link":"https:\/\/engineering.fb.com\/2020\/10\/21\/networking-traffic\/how-facebook-is-bringing-quic-to-billions\/","guid":"https:\/\/engineering.fb.com\/2020\/10\/21\/networking-traffic\/how-facebook-is-bringing-quic-to-billions\/","description":"Case study by Meta","pubDate":"Wed, 21 Oct 2020 00:00:00 GMT"},{"title":"Implementing a secure web-based proxy service for Discover","link":"https:\/\/engineering.fb.com\/2020\/05\/05\/connectivity\/discover\/","guid":"https:\/\/engineering.fb.com\/2020\/05\/05\/connectivity\/discover\/","description":"Case study by Meta","pubDate":"Tue, 05 May 2020 00:00:00 GMT"},{"title":"ARIA Grid: Supporting nonvisual layout and keyboard traversal","link":"https:\/\/engineering.fb.com\/2017\/03\/28\/web\/aria-grid-supporting-nonvisual-layout-and-keyboard-traversal\/","guid":"https:\/\/engineering.fb.com\/2017\/03\/28\/web\/aria-grid-supporting-nonvisual-layout-and-keyboard-traversal\/","description":"Case study by Meta","pubDate":"Tue, 28 Mar 2017 00:00:00 GMT"},{"title":"MemLab: An open source framework for finding JavaScript memory leaks","link":"https:\/\/engineering.fb.com\/2022\/09\/12\/open-source\/memlab\/","guid":"https:\/\/engineering.fb.com\/2022\/09\/12\/open-source\/memlab\/","description":"Case study by Meta","pubDate":"Mon, 12 Sep 2022 00:00:00 GMT"},{"title":"Behind the scenes of Threads for web","link":"https:\/\/engineering.fb.com\/2024\/05\/14\/web\/threads-for-web-behind-the-scenes\/","guid":"https:\/\/engineering.fb.com\/2024\/05\/14\/web\/threads-for-web-behind-the-scenes\/","description":"Case study by Meta","pubDate":"Tue, 14 May 2024 00:00:00 GMT"},{"title":"React at Meta Connect 2024","link":"https:\/\/engineering.fb.com\/2024\/10\/02\/android\/react-at-meta-connect-2024\/","guid":"https:\/\/engineering.fb.com\/2024\/10\/02\/android\/react-at-meta-connect-2024\/","description":"Case study by Meta","pubDate":"Wed, 02 Oct 2024 00:00:00 GMT"},{"title":"StyleX: A Styling Library for CSS at Scale","link":"https:\/\/engineering.fb.com\/2025\/11\/11\/web\/stylex-a-styling-library-for-css-at-scale\/","guid":"https:\/\/engineering.fb.com\/2025\/11\/11\/web\/stylex-a-styling-library-for-css-at-scale\/","description":"Case study by Meta","pubDate":"Tue, 11 Nov 2025 00:00:00 GMT"},{"title":"The need for speed\u00a0\u2014 1: measuring today\u2019s web performance","link":"https:\/\/www.linkedin.com\/pulse\/need-speed-1-measuring-todays-web-performance-manuel-garcia\/","guid":"https:\/\/www.linkedin.com\/pulse\/need-speed-1-measuring-todays-web-performance-manuel-garcia\/","description":"Case study by FARFETCH","pubDate":"Tue, 19 Feb 2019 00:00:00 GMT"},{"title":"The need for speed\u00a0\u2014 2: call for metrics","link":"https:\/\/www.linkedin.com\/pulse\/need-speed-2-call-metrics-manuel-garcia\/","guid":"https:\/\/www.linkedin.com\/pulse\/need-speed-2-call-metrics-manuel-garcia\/","description":"Case study by FARFETCH","pubDate":"Tue, 19 Feb 2019 00:00:00 GMT"},{"title":"How to build a performance culture at scale","link":"https:\/\/www.linkedin.com\/pulse\/how-build-performance-culture-scale-manuel-garcia\/","guid":"https:\/\/www.linkedin.com\/pulse\/how-build-performance-culture-scale-manuel-garcia\/","description":"Case study by FARFETCH","pubDate":"Wed, 11 Sep 2019 00:00:00 GMT"},{"title":"One less second for the page, one giant leap for the business","link":"https:\/\/www.linkedin.com\/pulse\/one-less-second-page-giant-leap-business-manuel-garcia","guid":"https:\/\/www.linkedin.com\/pulse\/one-less-second-page-giant-leap-business-manuel-garcia","description":"Case study by FARFETCH","pubDate":"Thu, 02 Jul 2020 00:00:00 GMT"},{"title":"GraphQL sessions: powering farfetch.com","link":"https:\/\/farfetchtech.medium.com\/graphql-sessions-powering-farfetch-com-305e7c0901e7","guid":"https:\/\/farfetchtech.medium.com\/graphql-sessions-powering-farfetch-com-305e7c0901e7","description":"Case study by FARFETCH","pubDate":"Fri, 06 May 2022 00:00:00 GMT"},{"title":"Lessons learned when building product-agnostic reusable UI Components","link":"https:\/\/medium.com\/farfetch-tech-blog\/lessons-learned-when-building-product-agnostic-reusable-ui-components-d58e1d96534d","guid":"https:\/\/medium.com\/farfetch-tech-blog\/lessons-learned-when-building-product-agnostic-reusable-ui-components-d58e1d96534d","description":"Case study by FARFETCH","pubDate":"Thu, 14 Mar 2019 00:00:00 GMT"},{"title":"How We Used WebAssembly To Speed Up Our Web App By 20X","link":"https:\/\/www.smashingmagazine.com\/2019\/04\/webassembly-speed-web-app\/","guid":"https:\/\/www.smashingmagazine.com\/2019\/04\/webassembly-speed-web-app\/","description":"Case study by fastq.bio","pubDate":"Fri, 05 Apr 2019 00:00:00 GMT"},{"title":"Building a professional design tool on the web","link":"https:\/\/www.figma.com\/blog\/building-a-professional-design-tool-on-the-web\/","guid":"https:\/\/www.figma.com\/blog\/building-a-professional-design-tool-on-the-web\/","description":"Case study by Figma","pubDate":"Mon, 07 Dec 2015 00:00:00 GMT"},{"title":"Debugging Data Corruption with Emscripten","link":"https:\/\/www.figma.com\/blog\/debugging-data-corruption-with-emscripten\/","guid":"https:\/\/www.figma.com\/blog\/debugging-data-corruption-with-emscripten\/","description":"Case study by Figma","pubDate":"Mon, 07 Nov 2016 00:00:00 GMT"},{"title":"WebAssembly cut Figma\u2019s load time by 3x","link":"https:\/\/blog.figma.com\/webassembly-cut-figmas-load-time-by-3x-76f3f2395164","guid":"https:\/\/blog.figma.com\/webassembly-cut-figmas-load-time-by-3x-76f3f2395164","description":"Case study by Figma","pubDate":"Thu, 08 Jun 2017 00:00:00 GMT"},{"title":"Introducing BrowserView for Electron","link":"https:\/\/www.figma.com\/blog\/introducing-browserview-for-electron\/","guid":"https:\/\/www.figma.com\/blog\/introducing-browserview-for-electron\/","description":"Case study by Figma","pubDate":"Thu, 29 Jun 2017 00:00:00 GMT"},{"title":"Introducing: Figma to React","link":"https:\/\/www.figma.com\/blog\/introducing-figma-to-react\/","guid":"https:\/\/www.figma.com\/blog\/introducing-figma-to-react\/","description":"Case study by Figma","pubDate":"Thu, 26 Apr 2018 00:00:00 GMT"},{"title":"Figma, faster \ud83c\udfce","link":"https:\/\/www.figma.com\/blog\/figma-faster\/","guid":"https:\/\/www.figma.com\/blog\/figma-faster\/","description":"Case study by Figma","pubDate":"Mon, 13 Aug 2018 00:00:00 GMT"},{"title":"How to build a plugin system on the web and also sleep well at night","link":"https:\/\/www.figma.com\/blog\/how-we-built-the-figma-plugin-system\/","guid":"https:\/\/www.figma.com\/blog\/how-we-built-the-figma-plugin-system\/","description":"Case study by Figma","pubDate":"Thu, 22 Aug 2019 00:00:00 GMT"},{"title":"React at 60fps: improving scrolling comments in Figma","link":"https:\/\/www.figma.com\/blog\/improving-scrolling-comments-in-figma\/","guid":"https:\/\/www.figma.com\/blog\/improving-scrolling-comments-in-figma\/","description":"Case study by Figma","pubDate":"Wed, 19 Aug 2020 00:00:00 GMT"},{"title":"Inside Figma: a case study on strict null checks","link":"https:\/\/www.figma.com\/blog\/inside-figma-a-case-study-on-strict-null-checks\/#what-are-strict-null-checks","guid":"https:\/\/www.figma.com\/blog\/inside-figma-a-case-study-on-strict-null-checks\/#what-are-strict-null-checks","description":"Case study by Figma","pubDate":"Thu, 17 Dec 2020 00:00:00 GMT"},{"title":"Illuminating dark mode","link":"https:\/\/www.figma.com\/blog\/illuminating-dark-mode","guid":"https:\/\/www.figma.com\/blog\/illuminating-dark-mode","description":"Case study by Figma","pubDate":"Thu, 21 Jul 2022 00:00:00 GMT"},{"title":"The evolution of Figma\u2019s mobile engine: Compiling away our custom programming language","link":"https:\/\/www.figma.com\/blog\/figmas-journey-to-typescript-compiling-away-our-custom-programming-language\/","guid":"https:\/\/www.figma.com\/blog\/figmas-journey-to-typescript-compiling-away-our-custom-programming-language\/","description":"Case study by Figma","pubDate":"Wed, 01 May 2024 00:00:00 GMT"},{"title":"Building The New Financial Times Web App","link":"https:\/\/www.smashingmagazine.com\/2013\/05\/building-the-new-financial-times-web-app-a-case-study","guid":"https:\/\/www.smashingmagazine.com\/2013\/05\/building-the-new-financial-times-web-app-a-case-study","description":"Case study by Financial Times","pubDate":"Thu, 23 May 2013 00:00:00 GMT"},{"title":"Free-market software development","link":"http:\/\/matt.chadburn.co.uk\/notes\/teams-as-services.html","guid":"http:\/\/matt.chadburn.co.uk\/notes\/teams-as-services.html","description":"Case study by Financial Times","pubDate":"Fri, 21 Aug 2015 00:00:00 GMT"},{"title":"SVG icons are easy but the fallbacks aren't","link":"https:\/\/www.maketea.co.uk\/2015\/12\/14\/svg-icons-are-easy-but-the-fallbacks-arent.html","guid":"https:\/\/www.maketea.co.uk\/2015\/12\/14\/svg-icons-are-easy-but-the-fallbacks-arent.html","description":"Case study by Financial Times","pubDate":"Tue, 01 Dec 2015 00:00:00 GMT"},{"title":"A faster FT.com","link":"https:\/\/medium.com\/ft-product-technology\/a-faster-ft-com-10e7c077dc1c","guid":"https:\/\/medium.com\/ft-product-technology\/a-faster-ft-com-10e7c077dc1c","description":"Case study by Financial Times","pubDate":"Mon, 04 Apr 2016 00:00:00 GMT"},{"title":"YES, your site too can (and should) be accessible","link":"https:\/\/www.youtube.com\/watch?v=H4FzW9oFObs","guid":"https:\/\/www.youtube.com\/watch?v=H4FzW9oFObs","description":"Case study by Financial Times","pubDate":"Tue, 23 May 2017 00:00:00 GMT"},{"title":"Can't You Just Make It More like Bootstrap?","link":"https:\/\/vimeo.com\/226575101","guid":"https:\/\/vimeo.com\/226575101","description":"Case study by Financial Times","pubDate":"Sat, 22 Jul 2017 00:00:00 GMT"},{"title":"Speeding up without slowing down","link":"https:\/\/ldnwebperf.org\/sessions\/speeding-up-without-slowing-down\/","guid":"https:\/\/ldnwebperf.org\/sessions\/speeding-up-without-slowing-down\/","description":"Case study by Financial Times","pubDate":"Tue, 07 Nov 2017 00:00:00 GMT"},{"title":"What happens when you visit ft.com?","link":"https:\/\/medium.com\/ft-product-technology\/making-a-request-to-the-financial-times-b2119a2f422d","guid":"https:\/\/medium.com\/ft-product-technology\/making-a-request-to-the-financial-times-b2119a2f422d","description":"Case study by Financial Times","pubDate":"Fri, 24 Nov 2017 00:00:00 GMT"},{"title":"Tips for in-house teams in a free market software culture","link":"https:\/\/medium.com\/ft-product-technology\/tips-for-in-house-teams-in-a-free-market-software-culture-d18ba80c8c4","guid":"https:\/\/medium.com\/ft-product-technology\/tips-for-in-house-teams-in-a-free-market-software-culture-d18ba80c8c4","description":"Case study by Financial Times","pubDate":"Tue, 30 Jan 2018 00:00:00 GMT"},{"title":"An outbreak of Accessibility anti-patterns","link":"https:\/\/medium.com\/ft-product-technology\/an-outbreak-of-accessibility-anti-patterns-e73577242ee8","guid":"https:\/\/medium.com\/ft-product-technology\/an-outbreak-of-accessibility-anti-patterns-e73577242ee8","description":"Case study by Financial Times","pubDate":"Fri, 18 May 2018 00:00:00 GMT"},{"title":"This one line of Javascript made FT.com 10 times slower","link":"https:\/\/medium.com\/ft-product-technology\/this-one-line-of-javascript-made-ft-com-10-times-slower-5afb02bfd93f","guid":"https:\/\/medium.com\/ft-product-technology\/this-one-line-of-javascript-made-ft-com-10-times-slower-5afb02bfd93f","description":"Case study by Financial Times","pubDate":"Mon, 16 Jul 2018 00:00:00 GMT"},{"title":"Designing a sustainable front-end toolset for FT.com","link":"https:\/\/medium.com\/ft-product-technology\/designing-a-sustainable-front-end-toolset-for-ft-com-f37c59d27eeb","guid":"https:\/\/medium.com\/ft-product-technology\/designing-a-sustainable-front-end-toolset-for-ft-com-f37c59d27eeb","description":"Case study by Financial Times","pubDate":"Mon, 27 Apr 2020 00:00:00 GMT"},{"title":"Animating list reordering with React Hooks","link":"https:\/\/medium.com\/ft-product-technology\/animating-list-reordering-with-react-hooks-1aa0d78a24dc","guid":"https:\/\/medium.com\/ft-product-technology\/animating-list-reordering-with-react-hooks-1aa0d78a24dc","description":"Case study by Financial Times","pubDate":"Wed, 26 Aug 2020 00:00:00 GMT"},{"title":"Taming Webpack\u02bcs content hashes","link":"https:\/\/www.matthinchliffe.dev\/2020\/06\/03\/taming-webpacks-content-hashes.html","guid":"https:\/\/www.matthinchliffe.dev\/2020\/06\/03\/taming-webpacks-content-hashes.html","description":"Case study by Financial Times","pubDate":"Wed, 03 Jun 2020 00:00:00 GMT"},{"title":"Lessons Learned from the Flickr Touch Lightbox","link":"http:\/\/code.flickr.net\/2011\/07\/20\/lessons-learned-from-the-flickr-touch-lightbox\/","guid":"http:\/\/code.flickr.net\/2011\/07\/20\/lessons-learned-from-the-flickr-touch-lightbox\/","description":"Case study by Flickr","pubDate":"Wed, 20 Jul 2011 00:00:00 GMT"},{"title":"Creating an interface for geofences","link":"http:\/\/code.flickr.net\/2011\/09\/06\/creating-an-interface-for-geofences\/","guid":"http:\/\/code.flickr.net\/2011\/09\/06\/creating-an-interface-for-geofences\/","description":"Case study by Flickr","pubDate":"Tue, 06 Sep 2011 00:00:00 GMT"},{"title":"Raising the bar on web uploads","link":"http:\/\/code.flickr.net\/2012\/04\/25\/raising-the-bar-on-web-uploads\/","guid":"http:\/\/code.flickr.net\/2012\/04\/25\/raising-the-bar-on-web-uploads\/","description":"Case study by Flickr","pubDate":"Wed, 25 Apr 2012 00:00:00 GMT"},{"title":"Building an HTML5 Photo Editor","link":"http:\/\/code.flickr.net\/2012\/04\/18\/building-an-html5-photo-editor\/","guid":"http:\/\/code.flickr.net\/2012\/04\/18\/building-an-html5-photo-editor\/","description":"Case study by Flickr","pubDate":"Wed, 18 Apr 2012 00:00:00 GMT"},{"title":"Building The Flickr Web Uploadr: The Grid","link":"http:\/\/code.flickr.net\/2012\/05\/11\/building-the-flickr-web-uploadr-the-grid\/","guid":"http:\/\/code.flickr.net\/2012\/05\/11\/building-the-flickr-web-uploadr-the-grid\/","description":"Case study by Flickr","pubDate":"Fri, 11 May 2012 00:00:00 GMT"},{"title":"Parsing Exif client-side using JavaScript","link":"http:\/\/code.flickr.net\/2012\/06\/01\/parsing-exif-client-side-using-javascript-2\/","guid":"http:\/\/code.flickr.net\/2012\/06\/01\/parsing-exif-client-side-using-javascript-2\/","description":"Case study by Flickr","pubDate":"Fri, 01 Jun 2012 00:00:00 GMT"},{"title":"Adventures in Jank Busting: Parallax, performance, and the new Flickr Home Page","link":"http:\/\/code.flickr.net\/2013\/06\/04\/adventures-in-jank-busting-parallax-performance-and-the-new-flickr-home-page\/","guid":"http:\/\/code.flickr.net\/2013\/06\/04\/adventures-in-jank-busting-parallax-performance-and-the-new-flickr-home-page\/","description":"Case study by Flickr","pubDate":"Tue, 04 Jun 2013 00:00:00 GMT"},{"title":"Building Flickr\u2019s new Hybrid Signed-Out Homepage","link":"http:\/\/code.flickr.net\/2014\/04\/23\/building-flickrs-new-hybrid-signed-out-homepage\/","guid":"http:\/\/code.flickr.net\/2014\/04\/23\/building-flickrs-new-hybrid-signed-out-homepage\/","description":"Case study by Flickr","pubDate":"Wed, 23 Apr 2014 00:00:00 GMT"},{"title":"Perceptual Image Compression at Flickr","link":"http:\/\/code.flickr.net\/2015\/09\/25\/perceptual-image-compression-at-flickr\/","guid":"http:\/\/code.flickr.net\/2015\/09\/25\/perceptual-image-compression-at-flickr\/","description":"Case study by Flickr","pubDate":"Fri, 25 Sep 2015 00:00:00 GMT"},{"title":"Introducing yakbak: Record and playback HTTP interactions in NodeJS","link":"http:\/\/code.flickr.net\/2016\/04\/25\/introducing-yakbak-record-and-playback-http-interactions-in-nodejs\/","guid":"http:\/\/code.flickr.net\/2016\/04\/25\/introducing-yakbak-record-and-playback-http-interactions-in-nodejs\/","description":"Case study by Flickr","pubDate":"Mon, 25 Apr 2016 00:00:00 GMT"},{"title":"Layout in Flipboard for Web and Windows","link":"https:\/\/engineering.flipboard.com\/2014\/03\/web-layouts","guid":"https:\/\/engineering.flipboard.com\/2014\/03\/web-layouts","description":"Case study by Flipboard","pubDate":"Mon, 24 Mar 2014 00:00:00 GMT"},{"title":"60 FPS on the mobile web","link":"https:\/\/engineering.flipboard.com\/2015\/02\/mobile-web","guid":"https:\/\/engineering.flipboard.com\/2015\/02\/mobile-web","description":"Case study by Flipboard","pubDate":"Tue, 10 Feb 2015 00:00:00 GMT"},{"title":"Building Flipkart Lite: A Progressive Web App","link":"https:\/\/medium.com\/progressive-web-apps\/building-flipkart-lite-a-progressive-web-app-2c211e641883","guid":"https:\/\/medium.com\/progressive-web-apps\/building-flipkart-lite-a-progressive-web-app-2c211e641883","description":"Case study by Flipkart","pubDate":"Wed, 11 Nov 2015 00:00:00 GMT"},{"title":"Third party libraries","link":"http:\/\/slonoed.net\/third-party-js","guid":"http:\/\/slonoed.net\/third-party-js","description":"Case study by Flocktory","pubDate":"Mon, 22 May 2017 00:00:00 GMT"},{"title":"How Elm made our work better","link":"https:\/\/futurice.com\/blog\/elm-in-the-real-world","guid":"https:\/\/futurice.com\/blog\/elm-in-the-real-world","description":"Case study by Futurice","pubDate":"Tue, 01 Nov 2016 00:00:00 GMT"},{"title":"Building a PWA in Argentina","link":"https:\/\/medium.com\/@leopittelli\/building-a-pwa-in-argentina-3ac669eabbeb","guid":"https:\/\/medium.com\/@leopittelli\/building-a-pwa-in-argentina-3ac669eabbeb","description":"Case study by Garbarino","pubDate":"Mon, 24 Jul 2017 00:00:00 GMT"},{"title":"GitHub's CSS","link":"https:\/\/markdotto.com\/blog\/githubs-css\/","guid":"https:\/\/markdotto.com\/blog\/githubs-css\/","description":"Case study by GitHub","pubDate":"Wed, 23 Jul 2014 00:00:00 GMT"},{"title":"How GitHub is using Web Components in production","link":"https:\/\/www.webcomponents.org\/community\/articles\/interview-with-joshua-peek","guid":"https:\/\/www.webcomponents.org\/community\/articles\/interview-with-joshua-peek","description":"Case study by GitHub","pubDate":"Tue, 30 Sep 2014 00:00:00 GMT"},{"title":"Browser Monitoring for GitHub.com","link":"https:\/\/githubengineering.com\/browser-monitoring-for-github-com\/","guid":"https:\/\/githubengineering.com\/browser-monitoring-for-github-com\/","description":"Case study by GitHub","pubDate":"Tue, 19 May 2015 00:00:00 GMT"},{"title":"GitHub's CSP journey","link":"https:\/\/githubengineering.com\/githubs-csp-journey\/","guid":"https:\/\/githubengineering.com\/githubs-csp-journey\/","description":"Case study by GitHub","pubDate":"Tue, 12 Apr 2016 00:00:00 GMT"},{"title":"GitHub's post-CSP journey","link":"https:\/\/githubengineering.com\/githubs-post-csp-journey\/","guid":"https:\/\/githubengineering.com\/githubs-post-csp-journey\/","description":"Case study by GitHub","pubDate":"Thu, 19 Jan 2017 00:00:00 GMT"},{"title":"Shipping system fonts to GitHub.com","link":"https:\/\/markdotto.com\/blog\/github-system-fonts\/","guid":"https:\/\/markdotto.com\/blog\/github-system-fonts\/","description":"Case study by GitHub","pubDate":"Wed, 07 Feb 2018 00:00:00 GMT"},{"title":"Design Systems at GitHub","link":"https:\/\/medium.com\/@broccolini\/design-systems-at-github-c8e5378d2542","guid":"https:\/\/medium.com\/@broccolini\/design-systems-at-github-c8e5378d2542","description":"Case study by GitHub","pubDate":"Fri, 06 Jul 2018 00:00:00 GMT"},{"title":"Removing jQuery from GitHub.com frontend","link":"https:\/\/githubengineering.com\/removing-jquery-from-github-frontend\/","guid":"https:\/\/githubengineering.com\/removing-jquery-from-github-frontend\/","description":"Case study by GitHub","pubDate":"Thu, 06 Sep 2018 00:00:00 GMT"},{"title":"From 48k lines of code to 10\u2014the story of GitHub\u2019s JavaScript SDK","link":"https:\/\/github.blog\/2020-04-09-from-48k-lines-of-code-to-10-the-story-of-githubs-javascript-sdk","guid":"https:\/\/github.blog\/2020-04-09-from-48k-lines-of-code-to-10-the-story-of-githubs-javascript-sdk","description":"Case study by GitHub","pubDate":"Thu, 09 Apr 2020 00:00:00 GMT"},{"title":"How we built the GitHub globe","link":"https:\/\/github.blog\/2020-12-21-how-we-built-the-github-globe\/","guid":"https:\/\/github.blog\/2020-12-21-how-we-built-the-github-globe\/","description":"Case study by GitHub","pubDate":"Mon, 21 Dec 2020 00:00:00 GMT"},{"title":"How GitHub Actions renders large-scale logs","link":"https:\/\/github.blog\/2021-03-25-how-github-actions-renders-large-scale-logs\/","guid":"https:\/\/github.blog\/2021-03-25-how-github-actions-renders-large-scale-logs\/","description":"Case study by GitHub","pubDate":"Thu, 25 Mar 2021 00:00:00 GMT"},{"title":"How we use Web Components at GitHub","link":"https:\/\/github.blog\/engineering\/architecture-optimization\/how-we-use-web-components-at-github\/","guid":"https:\/\/github.blog\/engineering\/architecture-optimization\/how-we-use-web-components-at-github\/","description":"Case study by GitHub","pubDate":"Tue, 04 May 2021 00:00:00 GMT"},{"title":"How we think about browsers","link":"https:\/\/github.blog\/engineering\/infrastructure\/how-we-think-about-browsers\/","guid":"https:\/\/github.blog\/engineering\/infrastructure\/how-we-think-about-browsers\/","description":"Case study by GitHub","pubDate":"Fri, 10 Jun 2022 00:00:00 GMT"},{"title":"Creating an accessible search experience with the QueryBuilder component","link":"https:\/\/github.blog\/engineering\/user-experience\/creating-an-accessible-search-experience-with-the-querybuilder-component\/","guid":"https:\/\/github.blog\/engineering\/user-experience\/creating-an-accessible-search-experience-with-the-querybuilder-component\/","description":"Case study by GitHub","pubDate":"Tue, 13 Dec 2022 00:00:00 GMT"},{"title":"Accessibility considerations behind code search and code view","link":"https:\/\/github.blog\/engineering\/user-experience\/accessibility-considerations-behind-code-search-and-code-view\/","guid":"https:\/\/github.blog\/engineering\/user-experience\/accessibility-considerations-behind-code-search-and-code-view\/","description":"Case study by GitHub","pubDate":"Thu, 06 Jul 2023 00:00:00 GMT"},{"title":"Exploring the challenges in creating an accessible sortable list (drag-and-drop)","link":"https:\/\/github.blog\/engineering\/user-experience\/exploring-the-challenges-in-creating-an-accessible-sortable-list-drag-and-drop\/","guid":"https:\/\/github.blog\/engineering\/user-experience\/exploring-the-challenges-in-creating-an-accessible-sortable-list-drag-and-drop\/","description":"Case study by GitHub","pubDate":"Tue, 09 Jul 2024 00:00:00 GMT"},{"title":"Considerations for making a tree view component accessible","link":"https:\/\/github.blog\/engineering\/user-experience\/considerations-for-making-a-tree-view-component-accessible\/","guid":"https:\/\/github.blog\/engineering\/user-experience\/considerations-for-making-a-tree-view-component-accessible\/","description":"Case study by GitHub","pubDate":"Tue, 28 Jan 2025 00:00:00 GMT"},{"title":"Design system annotations, part 1: How accessibility gets left out of components","link":"https:\/\/github.blog\/engineering\/user-experience\/design-system-annotations-part-1-how-accessibility-gets-left-out-of-components\/","guid":"https:\/\/github.blog\/engineering\/user-experience\/design-system-annotations-part-1-how-accessibility-gets-left-out-of-components\/","description":"Case study by GitHub","pubDate":"Fri, 09 May 2025 00:00:00 GMT"},{"title":"Design system annotations, part 2: Advanced methods of annotating components","link":"https:\/\/github.blog\/engineering\/user-experience\/design-system-annotations-part-2-advanced-methods-of-annotating-components\/","guid":"https:\/\/github.blog\/engineering\/user-experience\/design-system-annotations-part-2-advanced-methods-of-annotating-components\/","description":"Case study by GitHub","pubDate":"Fri, 09 May 2025 00:00:00 GMT"},{"title":"Why We Chose Vue.js","link":"https:\/\/youtu.be\/ioogrvs2Ejc","guid":"https:\/\/youtu.be\/ioogrvs2Ejc","description":"Case study by GitLab","pubDate":"Thu, 01 Dec 2016 00:00:00 GMT"},{"title":"Our big Frontend plan revealed","link":"https:\/\/about.gitlab.com\/2017\/02\/06\/vue-big-plan\/","guid":"https:\/\/about.gitlab.com\/2017\/02\/06\/vue-big-plan\/","description":"Case study by GitLab","pubDate":"Mon, 06 Feb 2017 00:00:00 GMT"},{"title":"How we do Vue: one year later","link":"https:\/\/about.gitlab.com\/2017\/11\/09\/gitlab-vue-one-year-later\/","guid":"https:\/\/about.gitlab.com\/2017\/11\/09\/gitlab-vue-one-year-later\/","description":"Case study by GitLab","pubDate":"Thu, 09 Nov 2017 00:00:00 GMT"},{"title":"How GitLab switched to Headless Chrome for testing","link":"https:\/\/about.gitlab.com\/2017\/12\/19\/moving-to-headless-chrome","guid":"https:\/\/about.gitlab.com\/2017\/12\/19\/moving-to-headless-chrome","description":"Case study by GitLab","pubDate":"Tue, 19 Dec 2017 00:00:00 GMT"},{"title":"Our journey in switching to native Unicode emoji","link":"https:\/\/about.gitlab.com\/blog\/2018\/05\/30\/journey-in-native-unicode-emoji\/","guid":"https:\/\/about.gitlab.com\/blog\/2018\/05\/30\/journey-in-native-unicode-emoji\/","description":"Case study by GitLab","pubDate":"Wed, 30 May 2018 00:00:00 GMT"},{"title":"How we iterated and improved our frontend team culture","link":"https:\/\/about.gitlab.com\/2018\/06\/26\/iterating-improving-frontend-culture\/","guid":"https:\/\/about.gitlab.com\/2018\/06\/26\/iterating-improving-frontend-culture\/","description":"Case study by GitLab","pubDate":"Tue, 26 Jun 2018 00:00:00 GMT"},{"title":"Why we chose ECharts for data visualizations","link":"https:\/\/about.gitlab.com\/2019\/09\/30\/why-we-chose-echarts\/","guid":"https:\/\/about.gitlab.com\/2019\/09\/30\/why-we-chose-echarts\/","description":"Case study by GitLab","pubDate":"Mon, 30 Sep 2019 00:00:00 GMT"},{"title":"How GitLab Pages made our Sketch design handoffs easier and faster","link":"https:\/\/about.gitlab.com\/blog\/2019\/11\/07\/how-gitlab-pages-made-our-sketch-design-handoffs-easier-and-faster\/","guid":"https:\/\/about.gitlab.com\/blog\/2019\/11\/07\/how-gitlab-pages-made-our-sketch-design-handoffs-easier-and-faster\/","description":"Case study by GitLab","pubDate":"Thu, 07 Nov 2019 00:00:00 GMT"},{"title":"How we created a dark UI for GitLab's Web IDE","link":"https:\/\/about.gitlab.com\/blog\/2020\/05\/20\/creating-a-dark-ui-for-gitlabs-web-ide\/","guid":"https:\/\/about.gitlab.com\/blog\/2020\/05\/20\/creating-a-dark-ui-for-gitlabs-web-ide\/","description":"Case study by GitLab","pubDate":"Wed, 20 May 2020 00:00:00 GMT"},{"title":"How Goibibo's PWA improved conversions by 60%","link":"https:\/\/web.dev\/goibibo\/","guid":"https:\/\/web.dev\/goibibo\/","description":"Case study by Goibibo","pubDate":"Tue, 29 Sep 2020 00:00:00 GMT"},{"title":"Designing very large (JavaScript) applications","link":"https:\/\/medium.com\/@cramforce\/designing-very-large-javascript-applications-6e013a3291a3","guid":"https:\/\/medium.com\/@cramforce\/designing-very-large-javascript-applications-6e013a3291a3","description":"Case study by Google","pubDate":"Sun, 15 Apr 2018 00:00:00 GMT"},{"title":"Building the Google Photos Web UI","link":"https:\/\/medium.com\/google-design\/google-photos-45b714dfbed1","guid":"https:\/\/medium.com\/google-design\/google-photos-45b714dfbed1","description":"Case study by Google","pubDate":"Tue, 10 Jul 2018 00:00:00 GMT"},{"title":"TypeScript at Google","link":"http:\/\/neugierig.org\/software\/blog\/2018\/09\/typescript-at-google.html","guid":"http:\/\/neugierig.org\/software\/blog\/2018\/09\/typescript-at-google.html","description":"Case study by Google","pubDate":"Sat, 01 Sep 2018 00:00:00 GMT"},{"title":"TypeScript at Google (TSConf 2018)","link":"https:\/\/youtu.be\/sjov1k5jexA","guid":"https:\/\/youtu.be\/sjov1k5jexA","description":"Case study by Google","pubDate":"Tue, 01 May 2018 00:00:00 GMT"},{"title":"The Chrome Dev Summit site: case study","link":"https:\/\/dev.to\/chromiumdev\/the-chrome-dev-summit-site-case-study-15ng","guid":"https:\/\/dev.to\/chromiumdev\/the-chrome-dev-summit-site-case-study-15ng","description":"Case study by Google","pubDate":"Tue, 12 Mar 2019 00:00:00 GMT"},{"title":"The new AdWords UI uses Dart \u2014 we asked why","link":"https:\/\/news.dartlang.org\/2016\/03\/the-new-adwords-ui-uses-dart-we-asked.html","guid":"https:\/\/news.dartlang.org\/2016\/03\/the-new-adwords-ui-uses-dart-we-asked.html","description":"Case study by Google","pubDate":"Thu, 31 Mar 2016 00:00:00 GMT"},{"title":"A Recipe for Designing Animations \u2014 Without Sacrificing Performance","link":"https:\/\/medium.com\/google-design\/a-streamlined-workflow-for-performative-animations-be0a6ff3df7a","guid":"https:\/\/medium.com\/google-design\/a-streamlined-workflow-for-performative-animations-be0a6ff3df7a","description":"Case study by Google","pubDate":"Tue, 04 Jun 2019 00:00:00 GMT"},{"title":"Bringing service workers to Google Search","link":"https:\/\/web.dev\/google-search-sw\/","guid":"https:\/\/web.dev\/google-search-sw\/","description":"Case study by Google","pubDate":"Thu, 20 Jun 2019 00:00:00 GMT"},{"title":"How we built the Chrome DevTools WebAuthn tab","link":"https:\/\/developer.chrome.com\/blog\/webauthn-tab\/","guid":"https:\/\/developer.chrome.com\/blog\/webauthn-tab\/","description":"Case study by Google","pubDate":"Thu, 22 Oct 2020 00:00:00 GMT"},{"title":"Migrating Puppeteer to TypeScript","link":"https:\/\/developers.google.com\/web\/updates\/2021\/01\/puppeteer-typescript","guid":"https:\/\/developers.google.com\/web\/updates\/2021\/01\/puppeteer-typescript","description":"Case study by Google","pubDate":"Thu, 21 Jan 2021 00:00:00 GMT"},{"title":"DevTools architecture refresh: migrating DevTools to TypeScript","link":"https:\/\/developer.chrome.com\/blog\/migrating-to-typescript\/","guid":"https:\/\/developer.chrome.com\/blog\/migrating-to-typescript\/","description":"Case study by Google","pubDate":"Thu, 08 Apr 2021 00:00:00 GMT"},{"title":"Implementing CSP and Trusted Types debugging in Chrome DevTools","link":"https:\/\/developer.chrome.com\/en\/blog\/csp-issues\/","guid":"https:\/\/developer.chrome.com\/en\/blog\/csp-issues\/","description":"Case study by Google","pubDate":"Mon, 01 Nov 2021 00:00:00 GMT"},{"title":"Why Google Sheets ported its calculation worker from JavaScript to WasmGC","link":"https:\/\/web.dev\/case-studies\/google-sheets-wasmgc","guid":"https:\/\/web.dev\/case-studies\/google-sheets-wasmgc","description":"Case study by Google","pubDate":"Wed, 26 Jun 2024 00:00:00 GMT"},{"title":"Scaling TypeScript compilation","link":"https:\/\/neugierig.org\/software\/blog\/2020\/10\/scaling-typescript.html","guid":"https:\/\/neugierig.org\/software\/blog\/2020\/10\/scaling-typescript.html","description":"Case study by Google","pubDate":"Wed, 28 Oct 2020 00:00:00 GMT"},{"title":"Accessibility for developers: building a frontend that everyone can use","link":"https:\/\/frontendne.co.uk\/talks\/accessibility-for-developers-building-a-frontend-that-everyone-can-use","guid":"https:\/\/frontendne.co.uk\/talks\/accessibility-for-developers-building-a-frontend-that-everyone-can-use","description":"Case study by GOV.UK","pubDate":"Thu, 06 Oct 2016 00:00:00 GMT"},{"title":"Patterns for accessible webchats","link":"https:\/\/accessibility.blog.gov.uk\/2016\/12\/09\/patterns-for-accessible-webchats","guid":"https:\/\/accessibility.blog.gov.uk\/2016\/12\/09\/patterns-for-accessible-webchats","description":"Case study by GOV.UK","pubDate":"Fri, 09 Dec 2016 00:00:00 GMT"},{"title":"How to create content that works well with screen readers","link":"https:\/\/accessibility.blog.gov.uk\/2017\/02\/08\/advice-for-creating-content-that-works-well-with-screen-readers","guid":"https:\/\/accessibility.blog.gov.uk\/2017\/02\/08\/advice-for-creating-content-that-works-well-with-screen-readers","description":"Case study by GOV.UK","pubDate":"Wed, 08 Feb 2017 00:00:00 GMT"},{"title":"How we\u2019ve made GOV.UK Elements even more accessible","link":"https:\/\/accessibility.blog.gov.uk\/2018\/02\/28\/how-weve-made-gov-uk-elements-even-more-accessible","guid":"https:\/\/accessibility.blog.gov.uk\/2018\/02\/28\/how-weve-made-gov-uk-elements-even-more-accessible","description":"Case study by GOV.UK","pubDate":"Wed, 28 Feb 2018 00:00:00 GMT"},{"title":"What we learned from getting our autocomplete tested for accessibility","link":"https:\/\/accessibility.blog.gov.uk\/2018\/05\/15\/what-we-learned-from-getting-our-autocomplete-tested-for-accessibility","guid":"https:\/\/accessibility.blog.gov.uk\/2018\/05\/15\/what-we-learned-from-getting-our-autocomplete-tested-for-accessibility","description":"Case study by GOV.UK","pubDate":"Tue, 15 May 2018 00:00:00 GMT"},{"title":"Accessibility lessons: dealing with a large amount of form inputs","link":"https:\/\/accessibility.blog.gov.uk\/2019\/04\/08\/accessibility-lessons-dealing-with-a-large-amount-of-form-inputs","guid":"https:\/\/accessibility.blog.gov.uk\/2019\/04\/08\/accessibility-lessons-dealing-with-a-large-amount-of-form-inputs","description":"Case study by GOV.UK","pubDate":"Mon, 08 Apr 2019 00:00:00 GMT"},{"title":"Why the GOV.UK Design System team changed the input type for numbers","link":"https:\/\/technology.blog.gov.uk\/2020\/02\/24\/why-the-gov-uk-design-system-team-changed-the-input-type-for-numbers\/","guid":"https:\/\/technology.blog.gov.uk\/2020\/02\/24\/why-the-gov-uk-design-system-team-changed-the-input-type-for-numbers\/","description":"Case study by GOV.UK","pubDate":"Mon, 24 Feb 2020 00:00:00 GMT"},{"title":"Why videos on GOV.UK use the YouTube video player","link":"https:\/\/accessibility.blog.gov.uk\/2020\/03\/16\/why-videos-on-gov-uk-use-the-youtube-video-player\/","guid":"https:\/\/accessibility.blog.gov.uk\/2020\/03\/16\/why-videos-on-gov-uk-use-the-youtube-video-player\/","description":"Case study by GOV.UK","pubDate":"Mon, 16 Mar 2020 00:00:00 GMT"},{"title":"How we reduced CSS size and improved performance across GOV.UK","link":"https:\/\/gds.blog.gov.uk\/2023\/12\/15\/how-we-reduced-css-size-and-improved-performance-across-gov-uk\/","guid":"https:\/\/gds.blog.gov.uk\/2023\/12\/15\/how-we-reduced-css-size-and-improved-performance-across-gov-uk\/","description":"Case study by GOV.UK","pubDate":"Fri, 15 Dec 2023 00:00:00 GMT"},{"title":"Building Browser Extensions At Scale","link":"https:\/\/web.archive.org\/web\/20190304201001\/https:\/\/tech.grammarly.com\/blog\/building-browser-extensions-at-scale","guid":"https:\/\/web.archive.org\/web\/20190304201001\/https:\/\/tech.grammarly.com\/blog\/building-browser-extensions-at-scale","description":"Case study by grammarly","pubDate":"Fri, 06 Oct 2017 00:00:00 GMT"},{"title":"Introducing Embrace: A Framework for Building Declarative UIs","link":"https:\/\/www.grammarly.com\/blog\/engineering\/introducing-embrace\/","guid":"https:\/\/www.grammarly.com\/blog\/engineering\/introducing-embrace\/","description":"Case study by grammarly","pubDate":"Fri, 03 Sep 2021 00:00:00 GMT"},{"title":"Real-Time Collaborative Text Editing","link":"https:\/\/www.grammarly.com\/blog\/engineering\/real-time-collaborative-text-editing\/","guid":"https:\/\/www.grammarly.com\/blog\/engineering\/real-time-collaborative-text-editing\/","description":"Case study by grammarly","pubDate":"Fri, 22 Apr 2022 00:00:00 GMT"},{"title":"Making Grammarly Feel Native On Every Website","link":"https:\/\/www.grammarly.com\/blog\/engineering\/making-grammarly-feel-native-on-every-website\/","guid":"https:\/\/www.grammarly.com\/blog\/engineering\/making-grammarly-feel-native-on-every-website\/","description":"Case study by grammarly","pubDate":"Mon, 07 Mar 2022 00:00:00 GMT"},{"title":"Part 1: How Grammarly Tackles Hidden Complexity in Front-End Applications","link":"https:\/\/www.grammarly.com\/blog\/engineering\/part-1-how-grammarly-tackles-hidden-complexity-in-front-end-applications\/","guid":"https:\/\/www.grammarly.com\/blog\/engineering\/part-1-how-grammarly-tackles-hidden-complexity-in-front-end-applications\/","description":"Case study by grammarly","pubDate":"Mon, 07 Mar 2022 00:00:00 GMT"},{"title":"Part 2: How Grammarly Tackles Hidden Complexity in Front-End Applications","link":"https:\/\/www.grammarly.com\/blog\/engineering\/part-2-how-grammarly-tackles-hidden-complexity-in-front-end-applications\/","guid":"https:\/\/www.grammarly.com\/blog\/engineering\/part-2-how-grammarly-tackles-hidden-complexity-in-front-end-applications\/","description":"Case study by grammarly","pubDate":"Mon, 07 Mar 2022 00:00:00 GMT"},{"title":"Signals With @grammarly\/focal","link":"https:\/\/www.grammarly.com\/blog\/engineering\/signals-with-focal-library\/","guid":"https:\/\/www.grammarly.com\/blog\/engineering\/signals-with-focal-library\/","description":"Case study by grammarly","pubDate":"Mon, 21 Aug 2023 00:00:00 GMT"},{"title":"How We Reduced Text Input Lag to Improve Web Performance","link":"https:\/\/www.grammarly.com\/blog\/engineering\/reducing-text-input-lag\/","guid":"https:\/\/www.grammarly.com\/blog\/engineering\/reducing-text-input-lag\/","description":"Case study by grammarly","pubDate":"Wed, 12 Feb 2025 00:00:00 GMT"},{"title":"Solving the double-click in Backbone.js","link":"https:\/\/engineering.gusto.com\/solving-the-double-click-in-backbone-js-41452da08169","guid":"https:\/\/engineering.gusto.com\/solving-the-double-click-in-backbone-js-41452da08169","description":"Case study by Gusto","pubDate":"Wed, 02 Apr 2014 00:00:00 GMT"},{"title":"Scaling Front-end Architecture","link":"https:\/\/engineering.gusto.com\/gusto-tech-talk-41d221b12d9a","guid":"https:\/\/engineering.gusto.com\/gusto-tech-talk-41d221b12d9a","description":"Case study by Gusto","pubDate":"Fri, 10 Jun 2016 00:00:00 GMT"},{"title":"Evolving JavaScript Part 1: Goodbye Backbone","link":"https:\/\/engineering.gusto.com\/evolving-javascript-478451d08793","guid":"https:\/\/engineering.gusto.com\/evolving-javascript-478451d08793","description":"Case study by Gusto","pubDate":"Tue, 12 Jul 2016 00:00:00 GMT"},{"title":"Evolving JavaScript Part 2: Hello React","link":"https:\/\/engineering.gusto.com\/evolving-javascript-7e3ffbd9819b","guid":"https:\/\/engineering.gusto.com\/evolving-javascript-7e3ffbd9819b","description":"Case study by Gusto","pubDate":"Tue, 12 Jul 2016 00:00:00 GMT"},{"title":"Evolving JavaScript Part 3: Building a React Application","link":"https:\/\/engineering.gusto.com\/evolving-javascript-be0338eb0d38","guid":"https:\/\/engineering.gusto.com\/evolving-javascript-be0338eb0d38","description":"Case study by Gusto","pubDate":"Tue, 12 Jul 2016 00:00:00 GMT"},{"title":"Taking off with Apollo","link":"https:\/\/engineering.gusto.com\/taking-off-with-apollo-5a0d5f11a2fc","guid":"https:\/\/engineering.gusto.com\/taking-off-with-apollo-5a0d5f11a2fc","description":"Case study by Gusto","pubDate":"Wed, 12 Sep 2018 00:00:00 GMT"},{"title":"How I fell out of love with HOCs","link":"https:\/\/engineering.gusto.com\/how-i-fell-out-of-love-with-hocs-cc25e1ca65fd","guid":"https:\/\/engineering.gusto.com\/how-i-fell-out-of-love-with-hocs-cc25e1ca65fd","description":"Case study by Gusto","pubDate":"Sun, 09 Dec 2018 00:00:00 GMT"},{"title":"How We Made Gusto Page Loads 40% Faster","link":"https:\/\/engineering.gusto.com\/how-we-made-gusto-page-loads-40-faster-245cea3d090e","guid":"https:\/\/engineering.gusto.com\/how-we-made-gusto-page-loads-40-faster-245cea3d090e","description":"Case study by Gusto","pubDate":"Thu, 15 Jun 2023 00:00:00 GMT"},{"title":"Building a design system for HealthCare.gov","link":"https:\/\/blog.navapbc.com\/building-a-design-system-for-healthcare-gov-20dc1a833ab3","guid":"https:\/\/blog.navapbc.com\/building-a-design-system-for-healthcare-gov-20dc1a833ab3","description":"Case study by HealthCare.gov","pubDate":"Tue, 29 Aug 2017 00:00:00 GMT"},{"title":"Goodbye CoffeeScript, Hello TypeScript","link":"https:\/\/www.heap.io\/blog\/goodbye-coffeescript-hello-typescript","guid":"https:\/\/www.heap.io\/blog\/goodbye-coffeescript-hello-typescript","description":"Case study by Heap","pubDate":"Wed, 07 Oct 2015 00:00:00 GMT"},{"title":"Migrating To React + MobX While Shipping New Features","link":"https:\/\/www.heap.io\/blog\/migrating-react-mobx-while-shipping-new-features","guid":"https:\/\/www.heap.io\/blog\/migrating-react-mobx-while-shipping-new-features","description":"Case study by Heap","pubDate":"Wed, 16 Aug 2017 00:00:00 GMT"},{"title":"How We Write Front-end Code","link":"https:\/\/www.heap.io\/blog\/how-we-write-front-end-code","guid":"https:\/\/www.heap.io\/blog\/how-we-write-front-end-code","description":"Case study by Heap","pubDate":"Tue, 20 Feb 2018 00:00:00 GMT"},{"title":"Redesigning Heap Without a Feature Branch","link":"https:\/\/www.heap.io\/blog\/redesigning-heap-without-a-feature-branch","guid":"https:\/\/www.heap.io\/blog\/redesigning-heap-without-a-feature-branch","description":"Case study by Heap","pubDate":"Wed, 10 Apr 2019 00:00:00 GMT"},{"title":"How we failed, then succeeded, at migrating to TypeScript","link":"https:\/\/www.heap.io\/blog\/migrating-to-typescript","guid":"https:\/\/www.heap.io\/blog\/migrating-to-typescript","description":"Case study by Heap","pubDate":"Thu, 10 Oct 2019 00:00:00 GMT"},{"title":"Using Babel Transforms to Inject Analytics Code in React Native Apps","link":"https:\/\/www.heap.io\/blog\/how-we-leveraged-asts-and-babel-to-capture-everything-on-react-native-apps","guid":"https:\/\/www.heap.io\/blog\/how-we-leveraged-asts-and-babel-to-capture-everything-on-react-native-apps","description":"Case study by Heap","pubDate":"Tue, 23 Jun 2020 00:00:00 GMT"},{"title":"We Turned Our Front-End Code Into a Component Library (and You Can, Too)","link":"https:\/\/www.heap.io\/blog\/turning-front-end-code-into-component-library","guid":"https:\/\/www.heap.io\/blog\/turning-front-end-code-into-component-library","description":"Case study by Heap","pubDate":"Thu, 02 Sep 2021 00:00:00 GMT"},{"title":"Farewell, Google Maps","link":"https:\/\/www.inderapotheke.de\/blog\/farewell-google-maps","guid":"https:\/\/www.inderapotheke.de\/blog\/farewell-google-maps","description":"Case study by in der Apotheke","pubDate":"Wed, 18 Jul 2018 00:00:00 GMT"},{"title":"Switching from Ava to Jest for TypeScript","link":"https:\/\/shift.infinite.red\/switching-from-ava-to-jest-for-typescript-a6dac7d1712f","guid":"https:\/\/shift.infinite.red\/switching-from-ava-to-jest-for-typescript-a6dac7d1712f","description":"Case study by Infinite Red","pubDate":"Mon, 06 Nov 2017 00:00:00 GMT"},{"title":"Using TypeScript to upgrade Ignite without losing my mind","link":"https:\/\/shift.infinite.red\/using-typescript-to-upgrade-ignite-without-losing-my-mind-352d8076d331","guid":"https:\/\/shift.infinite.red\/using-typescript-to-upgrade-ignite-without-losing-my-mind-352d8076d331","description":"Case study by Infinite Red","pubDate":"Wed, 20 Mar 2019 00:00:00 GMT"},{"title":"Yarn 1 vs Yarn 2 vs NPM","link":"https:\/\/shift.infinite.red\/yarn-1-vs-yarn-2-vs-npm-a69ccf0229cd","guid":"https:\/\/shift.infinite.red\/yarn-1-vs-yarn-2-vs-npm-a69ccf0229cd","description":"Case study by Infinite Red","pubDate":"Thu, 06 Feb 2020 00:00:00 GMT"},{"title":"Why Infinite Red uses MobX-State-Tree instead of Redux","link":"https:\/\/shift.infinite.red\/why-infinite-red-uses-mobx-state-tree-instead-of-redux-d6c1407dead","guid":"https:\/\/shift.infinite.red\/why-infinite-red-uses-mobx-state-tree-instead-of-redux-d6c1407dead","description":"Case study by Infinite Red","pubDate":"Tue, 16 Jun 2020 00:00:00 GMT"},{"title":"How to style different sites with one CSS collection","link":"https:\/\/medium.com\/insider-inc-engineering\/how-to-style-different-sites-with-one-css-collection-6f33126d4cdb","guid":"https:\/\/medium.com\/insider-inc-engineering\/how-to-style-different-sites-with-one-css-collection-6f33126d4cdb","description":"Case study by Insider Inc.","pubDate":"Mon, 17 Dec 2018 00:00:00 GMT"},{"title":"Why we got rid of all our front-end and back-end engineers","link":"https:\/\/medium.com\/insider-inc-engineering\/why-we-got-rid-of-all-our-front-end-and-back-end-engineers-f9c06034548","guid":"https:\/\/medium.com\/insider-inc-engineering\/why-we-got-rid-of-all-our-front-end-and-back-end-engineers-f9c06034548","description":"Case study by Insider Inc.","pubDate":"Wed, 13 Feb 2019 00:00:00 GMT"},{"title":"Delightful ways to write reusable CSS using subclasses","link":"https:\/\/medium.com\/insider-inc-engineering\/delightful-ways-to-write-reusable-css-using-subclasses-903e90c9cf87","guid":"https:\/\/medium.com\/insider-inc-engineering\/delightful-ways-to-write-reusable-css-using-subclasses-903e90c9cf87","description":"Case study by Insider Inc.","pubDate":"Fri, 01 Mar 2019 00:00:00 GMT"},{"title":"Building a real-time websocket app using SvelteKit","link":"https:\/\/www.inngest.com\/blog\/building-a-realtime-websocket-app-using-sveltekit","guid":"https:\/\/www.inngest.com\/blog\/building-a-realtime-websocket-app-using-sveltekit","description":"Case study by Inngest","pubDate":"Tue, 22 Feb 2022 00:00:00 GMT"},{"title":"Building educational TypeScript tooling","link":"https:\/\/www.inngest.com\/blog\/building-educational-typescript-tooling","guid":"https:\/\/www.inngest.com\/blog\/building-educational-typescript-tooling","description":"Case study by Inngest","pubDate":"Wed, 28 Sep 2022 00:00:00 GMT"},{"title":"5 Lessons Learned From Taking Next.js App Router to Production","link":"https:\/\/www.inngest.com\/blog\/5-lessons-learned-from-taking-next-js-app-router-to-production","guid":"https:\/\/www.inngest.com\/blog\/5-lessons-learned-from-taking-next-js-app-router-to-production","description":"Case study by Inngest","pubDate":"Fri, 05 May 2023 00:00:00 GMT"},{"title":"Migrating from Vite to Next.js","link":"https:\/\/www.inngest.com\/blog\/migrating-from-vite-to-nextjs","guid":"https:\/\/www.inngest.com\/blog\/migrating-from-vite-to-nextjs","description":"Case study by Inngest","pubDate":"Thu, 20 Jul 2023 00:00:00 GMT"},{"title":"Reducing local dev time by 83%: Why we migrated off Next.js","link":"https:\/\/www.inngest.com\/blog\/migrating-off-nextjs-tanstack-start","guid":"https:\/\/www.inngest.com\/blog\/migrating-off-nextjs-tanstack-start","description":"Case study by Inngest","pubDate":"Fri, 30 Jan 2026 00:00:00 GMT"},{"title":"Typescript For Apps Vs Typescript For SDKs","link":"https:\/\/www.inngest.com\/blog\/typescript-types-as-api","guid":"https:\/\/www.inngest.com\/blog\/typescript-types-as-api","description":"Case study by Inngest","pubDate":"Fri, 13 Mar 2026 00:00:00 GMT"},{"title":"React Native at Instagram","link":"https:\/\/instagram-engineering.com\/react-native-at-instagram-dd828a9a90c7","guid":"https:\/\/instagram-engineering.com\/react-native-at-instagram-dd828a9a90c7","description":"Case study by Instagram","pubDate":"Tue, 07 Feb 2017 00:00:00 GMT"},{"title":"Making Instagram.com faster: Part 1","link":"https:\/\/instagram-engineering.com\/making-instagram-com-faster-part-1-62cc0c327538","guid":"https:\/\/instagram-engineering.com\/making-instagram-com-faster-part-1-62cc0c327538","description":"Case study by Instagram","pubDate":"Thu, 01 Aug 2019 00:00:00 GMT"},{"title":"Making Instagram.com faster: Part 2","link":"https:\/\/instagram-engineering.com\/making-instagram-com-faster-part-2-f350c8fba0d4","guid":"https:\/\/instagram-engineering.com\/making-instagram-com-faster-part-2-f350c8fba0d4","description":"Case study by Instagram","pubDate":"Fri, 06 Sep 2019 00:00:00 GMT"},{"title":"Making Instagram.com faster: Part 3 \u2014 cache first","link":"https:\/\/instagram-engineering.com\/making-instagram-com-faster-part-3-cache-first-6f3f130b9669","guid":"https:\/\/instagram-engineering.com\/making-instagram-com-faster-part-3-cache-first-6f3f130b9669","description":"Case study by Instagram","pubDate":"Fri, 11 Oct 2019 00:00:00 GMT"},{"title":"Making instagram.com faster: Code size and execution optimizations (Part 4)","link":"https:\/\/instagram-engineering.com\/making-instagram-com-faster-code-size-and-execution-optimizations-part-4-57668be796a8","guid":"https:\/\/instagram-engineering.com\/making-instagram-com-faster-code-size-and-execution-optimizations-part-4-57668be796a8","description":"Case study by Instagram","pubDate":"Fri, 01 Nov 2019 00:00:00 GMT"},{"title":"Launching Instagram Messaging on desktop","link":"https:\/\/engineering.fb.com\/2022\/07\/26\/web\/launching-instagram-messaging-on-desktop\/","guid":"https:\/\/engineering.fb.com\/2022\/07\/26\/web\/launching-instagram-messaging-on-desktop\/","description":"Case study by Instagram","pubDate":"Tue, 26 Jul 2022 00:00:00 GMT"},{"title":"Pixels vs. Ems: Users DO Change Font Size","link":"https:\/\/medium.com\/@vamptvo\/pixels-vs-ems-users-do-change-font-size-5cfb20831773","guid":"https:\/\/medium.com\/@vamptvo\/pixels-vs-ems-users-do-change-font-size-5cfb20831773","description":"Case study by Internet Archive","pubDate":"Wed, 13 Jun 2018 00:00:00 GMT"},{"title":"Making Accessibility an Integral Part of the Creative Workflow","link":"https:\/\/medium.com\/blueprint-by-intuit\/making-accessibility-an-integral-part-of-the-creative-workflow-ca78767dd05b","guid":"https:\/\/medium.com\/blueprint-by-intuit\/making-accessibility-an-integral-part-of-the-creative-workflow-ca78767dd05b","description":"Case study by Intuit","pubDate":"Sun, 15 Apr 2018 00:00:00 GMT"},{"title":"TurboTax Live\u2019s Approach to a Gender-Neutral Design System","link":"https:\/\/medium.com\/blueprint-by-intuit\/turbotax-lives-approach-to-a-gender-neutral-design-system-bed0c45ece44","guid":"https:\/\/medium.com\/blueprint-by-intuit\/turbotax-lives-approach-to-a-gender-neutral-design-system-bed0c45ece44","description":"Case study by Intuit","pubDate":"Thu, 21 Feb 2019 00:00:00 GMT"},{"title":"Delivering Consistent Animations with a Design System Library","link":"https:\/\/medium.com\/blueprint-by-intuit\/delivering-consistent-animations-with-a-design-system-library-323f29f5efc6","guid":"https:\/\/medium.com\/blueprint-by-intuit\/delivering-consistent-animations-with-a-design-system-library-323f29f5efc6","description":"Case study by Intuit","pubDate":"Thu, 25 Apr 2019 00:00:00 GMT"},{"title":"GraphQL: Intuit\u2019s Path to ONE API System","link":"https:\/\/medium.com\/blueprint-by-intuit\/graphql-intuits-path-to-one-api-system-b8495e4dd281","guid":"https:\/\/medium.com\/blueprint-by-intuit\/graphql-intuits-path-to-one-api-system-b8495e4dd281","description":"Case study by Intuit","pubDate":"Wed, 13 Mar 2019 00:00:00 GMT"},{"title":"Sharing ESLint Across Teams","link":"https:\/\/web.archive.org\/web\/20240930154734\/https:\/\/engineering.invisionapp.com\/post\/sharing-eslint-across-teams\/","guid":"https:\/\/web.archive.org\/web\/20240930154734\/https:\/\/engineering.invisionapp.com\/post\/sharing-eslint-across-teams\/","description":"Case study by InVision","pubDate":"Tue, 05 Apr 2016 00:00:00 GMT"},{"title":"Optimizing Webpack for Faster React Builds","link":"https:\/\/web.archive.org\/web\/20240930155356\/https:\/\/engineering.invisionapp.com\/post\/optimizing-webpack\/","guid":"https:\/\/web.archive.org\/web\/20240930155356\/https:\/\/engineering.invisionapp.com\/post\/optimizing-webpack\/","description":"Case study by InVision","pubDate":"Tue, 12 Apr 2016 00:00:00 GMT"},{"title":"Persist Redux State by Using Sagas","link":"https:\/\/web.archive.org\/web\/20240930154747\/https:\/\/engineering.invisionapp.com\/post\/persist-redux-state-by-using-sagas\/","guid":"https:\/\/web.archive.org\/web\/20240930154747\/https:\/\/engineering.invisionapp.com\/post\/persist-redux-state-by-using-sagas\/","description":"Case study by InVision","pubDate":"Tue, 26 Apr 2016 00:00:00 GMT"},{"title":"Testing Our Shared ESLint Configs","link":"https:\/\/web.archive.org\/web\/20240930155237\/https:\/\/engineering.invisionapp.com\/post\/testing-eslint\/","guid":"https:\/\/web.archive.org\/web\/20240930155237\/https:\/\/engineering.invisionapp.com\/post\/testing-eslint\/","description":"Case study by InVision","pubDate":"Thu, 12 May 2016 00:00:00 GMT"},{"title":"How ESLint Saved Our Soul","link":"https:\/\/web.archive.org\/web\/20240930154708\/https:\/\/engineering.invisionapp.com\/post\/how-eslint-saved-our-soul\/","guid":"https:\/\/web.archive.org\/web\/20240930154708\/https:\/\/engineering.invisionapp.com\/post\/how-eslint-saved-our-soul\/","description":"Case study by InVision","pubDate":"Fri, 12 Aug 2016 00:00:00 GMT"},{"title":"React Performance Tune-Up","link":"https:\/\/web.archive.org\/web\/20240930155305\/https:\/\/engineering.invisionapp.com\/post\/react-performance-tune-up\/","guid":"https:\/\/web.archive.org\/web\/20240930155305\/https:\/\/engineering.invisionapp.com\/post\/react-performance-tune-up\/","description":"Case study by InVision","pubDate":"Fri, 23 Sep 2016 00:00:00 GMT"},{"title":"Building the inspect measurement engine","link":"https:\/\/web.archive.org\/web\/20240930154803\/https:\/\/engineering.invisionapp.com\/post\/building-the-inspect-measurement-engine\/","guid":"https:\/\/web.archive.org\/web\/20240930154803\/https:\/\/engineering.invisionapp.com\/post\/building-the-inspect-measurement-engine\/","description":"Case study by InVision","pubDate":"Wed, 17 Jul 2019 00:00:00 GMT"},{"title":"Babel in Khan Academy's i18n Toolchain","link":"https:\/\/blog.khanacademy.org\/babel-in-khan-academys-i18n-toolchain\/","guid":"https:\/\/blog.khanacademy.org\/babel-in-khan-academys-i18n-toolchain\/","description":"Case study by Khan Academy","pubDate":"Mon, 22 Jun 2015 00:00:00 GMT"},{"title":"Fun with slope fields, css and react","link":"https:\/\/blog.khanacademy.org\/fun-with-slope-fields-css-and-react\/","guid":"https:\/\/blog.khanacademy.org\/fun-with-slope-fields-css-and-react\/","description":"Case study by Khan Academy","pubDate":"Wed, 05 Aug 2015 00:00:00 GMT"},{"title":"Copy-pasting more than just text","link":"https:\/\/blog.khanacademy.org\/copy-pasting-more-than-just-text\/","guid":"https:\/\/blog.khanacademy.org\/copy-pasting-more-than-just-text\/","description":"Case study by Khan Academy","pubDate":"Mon, 31 Aug 2015 00:00:00 GMT"},{"title":"i18nize-templates: Internationalization After the Fact","link":"https:\/\/blog.khanacademy.org\/i18nize-templates-internationalization-after-the-fact\/","guid":"https:\/\/blog.khanacademy.org\/i18nize-templates-internationalization-after-the-fact\/","description":"Case study by Khan Academy","pubDate":"Mon, 28 Sep 2015 00:00:00 GMT"},{"title":"Schr\u00f6dinger's deploys no more: how we update translations","link":"https:\/\/blog.khanacademy.org\/schrodingers-deploys-no-more-how-we-update-translations\/","guid":"https:\/\/blog.khanacademy.org\/schrodingers-deploys-no-more-how-we-update-translations\/","description":"Case study by Khan Academy","pubDate":"Mon, 12 Oct 2015 00:00:00 GMT"},{"title":"Forgo JS packaging? Not so fast","link":"https:\/\/blog.khanacademy.org\/forgo-js-packaging-not-so-fast\/","guid":"https:\/\/blog.khanacademy.org\/forgo-js-packaging-not-so-fast\/","description":"Case study by Khan Academy","pubDate":"Mon, 23 Nov 2015 00:00:00 GMT"},{"title":"Inline CSS at Khan Academy: Aphrodite","link":"https:\/\/blog.khanacademy.org\/inline-css-at-khan-academy-aphrodite\/","guid":"https:\/\/blog.khanacademy.org\/inline-css-at-khan-academy-aphrodite\/","description":"Case study by Khan Academy","pubDate":"Tue, 29 Mar 2016 00:00:00 GMT"},{"title":"Migrating to a Mobile Monorepo for React Native","link":"https:\/\/blog.khanacademy.org\/migrating-to-a-mobile-monorepo-for-react-native\/","guid":"https:\/\/blog.khanacademy.org\/migrating-to-a-mobile-monorepo-for-react-native\/","description":"Case study by Khan Academy","pubDate":"Mon, 29 May 2017 00:00:00 GMT"},{"title":"Creating Query Components with Apollo","link":"https:\/\/blog.khanacademy.org\/creating-query-components-with-apollo\/","guid":"https:\/\/blog.khanacademy.org\/creating-query-components-with-apollo\/","description":"Case study by Khan Academy","pubDate":"Mon, 12 Jun 2017 00:00:00 GMT"},{"title":"tota11y - an accessibility visualization toolkit","link":"https:\/\/blog.khanacademy.org\/tota11y-an-accessibility-visualization-toolkit\/","guid":"https:\/\/blog.khanacademy.org\/tota11y-an-accessibility-visualization-toolkit\/","description":"Case study by Khan Academy","pubDate":"Sun, 15 Apr 2018 00:00:00 GMT"},{"title":"Making Websites Work with Windows High Contrast Mode","link":"https:\/\/blog.khanacademy.org\/making-websites-work-with-windows-high-contrast-mode\/","guid":"https:\/\/blog.khanacademy.org\/making-websites-work-with-windows-high-contrast-mode\/","description":"Case study by Khan Academy","pubDate":"Thu, 21 Mar 2019 00:00:00 GMT"},{"title":"How to upgrade hundreds of React components without breaking production","link":"https:\/\/blog.khanacademy.org\/how-to-upgrade-hundreds-of-react-components-without-breaking-production\/","guid":"https:\/\/blog.khanacademy.org\/how-to-upgrade-hundreds-of-react-components-without-breaking-production\/","description":"Case study by Khan Academy","pubDate":"Mon, 23 Sep 2019 00:00:00 GMT"},{"title":"Overcoming a false sense of security when using Flow types","link":"https:\/\/blog.khanacademy.org\/overcoming-a-false-sense-of-security-when-using-flow-types\/","guid":"https:\/\/blog.khanacademy.org\/overcoming-a-false-sense-of-security-when-using-flow-types\/","description":"Case study by Khan Academy","pubDate":"Wed, 13 Jan 2021 00:00:00 GMT"},{"title":"Communication for Custom Developer Tools","link":"https:\/\/blog.khanacademy.org\/communication-for-custom-developer-tools\/","guid":"https:\/\/blog.khanacademy.org\/communication-for-custom-developer-tools\/","description":"Case study by Khan Academy","pubDate":"Thu, 04 Jan 2024 00:00:00 GMT"},{"title":"Namespacing Actions for Redux","link":"https:\/\/kickstarter.engineering\/namespacing-actions-for-redux-d9b55a88b1b1","guid":"https:\/\/kickstarter.engineering\/namespacing-actions-for-redux-d9b55a88b1b1","description":"Case study by Kickstarter","pubDate":"Mon, 20 Nov 2017 00:00:00 GMT"},{"title":"How removing caching improved mobile performance by 25%","link":"https:\/\/engineering.klarna.com\/how-removing-caching-improved-mobile-performance-by-25-52a17cc339a2","guid":"https:\/\/engineering.klarna.com\/how-removing-caching-improved-mobile-performance-by-25-52a17cc339a2","description":"Case study by Klarna","pubDate":"Tue, 10 Jan 2017 00:00:00 GMT"},{"title":"Improving Communication and Confidence with Visual Snapshot Testing","link":"https:\/\/engineering.klarna.com\/improving-communication-and-confidence-with-visual-snapshot-testing-b04154c3aaf0","guid":"https:\/\/engineering.klarna.com\/improving-communication-and-confidence-with-visual-snapshot-testing-b04154c3aaf0","description":"Case study by Klarna","pubDate":"Tue, 14 Mar 2017 00:00:00 GMT"},{"title":"6 Lessons learned from optimizing the performance of a Node.js service","link":"https:\/\/engineering.klarna.com\/6-lessons-learned-from-optimizing-the-performance-of-a-node-js-service-f163cac20473","guid":"https:\/\/engineering.klarna.com\/6-lessons-learned-from-optimizing-the-performance-of-a-node-js-service-f163cac20473","description":"Case study by Klarna","pubDate":"Thu, 09 Jan 2020 00:00:00 GMT"},{"title":"LINE MANGA: Smooth page transition with Page Stack","link":"https:\/\/engineering.linecorp.com\/en\/blog\/line-manga-smooth-page-transition-with-page-stack\/","guid":"https:\/\/engineering.linecorp.com\/en\/blog\/line-manga-smooth-page-transition-with-page-stack\/","description":"Case study by Line","pubDate":"Thu, 18 Jan 2018 00:00:00 GMT"},{"title":"Easy code-splitting with grow-loader","link":"https:\/\/engineering.linecorp.com\/en\/blog\/easy-code-splitting-with-grow-loader","guid":"https:\/\/engineering.linecorp.com\/en\/blog\/easy-code-splitting-with-grow-loader","description":"Case study by Line","pubDate":"Wed, 24 Jan 2018 00:00:00 GMT"},{"title":"LINE Animation Sticker Checker on Web browser","link":"https:\/\/engineering.linecorp.com\/en\/blog\/line-animation-sticker-checker-on-web-browser","guid":"https:\/\/engineering.linecorp.com\/en\/blog\/line-animation-sticker-checker-on-web-browser","description":"Case study by Line","pubDate":"Mon, 04 Jun 2018 00:00:00 GMT"},{"title":"LINE Securities: Page Stack revisited","link":"https:\/\/engineering.linecorp.com\/en\/blog\/page-stack-revisited","guid":"https:\/\/engineering.linecorp.com\/en\/blog\/page-stack-revisited","description":"Case study by Line","pubDate":"Mon, 15 Jun 2020 00:00:00 GMT"},{"title":"How and what front-end developers actually do at LINE?","link":"https:\/\/engineering.linecorp.com\/en\/blog\/how-and-what-front-end-developers-actually-do-at-line","guid":"https:\/\/engineering.linecorp.com\/en\/blog\/how-and-what-front-end-developers-actually-do-at-line","description":"Case study by Line","pubDate":"Wed, 19 Jun 2019 00:00:00 GMT"},{"title":"LINE's Web-based services and technology. Isn't LINE an app developer?","link":"https:\/\/engineering.linecorp.com\/en\/blog\/line-web-services-technology","guid":"https:\/\/engineering.linecorp.com\/en\/blog\/line-web-services-technology","description":"Case study by Line","pubDate":"Mon, 30 Sep 2019 00:00:00 GMT"},{"title":"LINE Developers site: From Middleman to VuePress","link":"https:\/\/engineering.linecorp.com\/en\/blog\/line-developers-site-from-middleman-to-vuepress","guid":"https:\/\/engineering.linecorp.com\/en\/blog\/line-developers-site-from-middleman-to-vuepress","description":"Case study by Line","pubDate":"Tue, 10 Mar 2020 00:00:00 GMT"},{"title":"How I made a Figma translation plugin with Vue.js after a couple of drinks","link":"https:\/\/engineering.linecorp.com\/en\/blog\/create-figma-translation-plugin-with-vuejs","guid":"https:\/\/engineering.linecorp.com\/en\/blog\/create-figma-translation-plugin-with-vuejs","description":"Case study by Line","pubDate":"Fri, 28 Jul 2023 00:00:00 GMT"},{"title":"LINE has started to donate to Prettier - why companies should support OSS","link":"https:\/\/engineering.linecorp.com\/en\/blog\/support-prettier-and-oss","guid":"https:\/\/engineering.linecorp.com\/en\/blog\/support-prettier-and-oss","description":"Case study by Line","pubDate":"Tue, 15 Feb 2022 00:00:00 GMT"},{"title":"Web Styling with ReactJS","link":"https:\/\/engineering.linecorp.com\/en\/blog\/web-styling-with-reactjs","guid":"https:\/\/engineering.linecorp.com\/en\/blog\/web-styling-with-reactjs","description":"Case study by Line","pubDate":"Thu, 29 Apr 2021 00:00:00 GMT"},{"title":"Introducing the Team Developing Web Front-end for LINE User Services","link":"https:\/\/engineering.linecorp.com\/en\/blog\/team-and-project-introducing-the-team-developing-web-frontend-for-line-user-services","guid":"https:\/\/engineering.linecorp.com\/en\/blog\/team-and-project-introducing-the-team-developing-web-frontend-for-line-user-services","description":"Case study by Line","pubDate":"Mon, 24 May 2021 00:00:00 GMT"},{"title":"Floor map management system on web, with Leaflet","link":"https:\/\/engineering.linecorp.com\/en\/blog\/floor-map-management-system-on-web-with-leaflet","guid":"https:\/\/engineering.linecorp.com\/en\/blog\/floor-map-management-system-on-web-with-leaflet","description":"Case study by Line","pubDate":"Mon, 02 Apr 2018 00:00:00 GMT"},{"title":"How We Rearchitected A\/B Testing at LINE NEWS","link":"https:\/\/techblog.lycorp.co.jp\/en\/20231005a","guid":"https:\/\/techblog.lycorp.co.jp\/en\/20231005a","description":"Case study by Line","pubDate":"Thu, 05 Oct 2023 00:00:00 GMT"},{"title":"State of LY Frontend 2024 report: Unveiling LY Corporation's frontend technology","link":"https:\/\/techblog.lycorp.co.jp\/en\/20250321a","guid":"https:\/\/techblog.lycorp.co.jp\/en\/20250321a","description":"Case study by Line","pubDate":"Fri, 21 Mar 2025 00:00:00 GMT"},{"title":"Improving the product development environment using Flutter Web","link":"https:\/\/techblog.lycorp.co.jp\/en\/improve-development-experience-with-flutter-web","guid":"https:\/\/techblog.lycorp.co.jp\/en\/improve-development-experience-with-flutter-web","description":"Case study by Line","pubDate":"Wed, 21 May 2025 00:00:00 GMT"},{"title":"Bringing a Modern Javascript Build Pipeline to LinkedIn","link":"https:\/\/engineering.linkedin.com\/blog\/2016\/01\/smashing-the-monolith","guid":"https:\/\/engineering.linkedin.com\/blog\/2016\/01\/smashing-the-monolith","description":"Case study by LinkedIn","pubDate":"Wed, 20 Jan 2016 00:00:00 GMT"},{"title":"Sleek and Fast: Speeding Up your Fat Web Client","link":"https:\/\/engineering.linkedin.com\/blog\/2017\/10\/sleek-and-fast--speeding-up-your-fat-web-client","guid":"https:\/\/engineering.linkedin.com\/blog\/2017\/10\/sleek-and-fast--speeding-up-your-fat-web-client","description":"Case study by LinkedIn","pubDate":"Thu, 19 Oct 2017 00:00:00 GMT"},{"title":"The Glimmer Binary Experience","link":"https:\/\/engineering.linkedin.com\/blog\/2017\/12\/the-glimmer-binary-experience","guid":"https:\/\/engineering.linkedin.com\/blog\/2017\/12\/the-glimmer-binary-experience","description":"Case study by LinkedIn","pubDate":"Thu, 07 Dec 2017 00:00:00 GMT"},{"title":"Ember Timer Leaks: The Bad Apples in Your Test Infrastructure","link":"https:\/\/engineering.linkedin.com\/blog\/2018\/01\/ember-timer-leaks","guid":"https:\/\/engineering.linkedin.com\/blog\/2018\/01\/ember-timer-leaks","description":"Case study by LinkedIn","pubDate":"Wed, 03 Jan 2018 00:00:00 GMT"},{"title":"Lighter than Lightweight: How We Built the Same App Twice with Preact and Glimmer.js","link":"https:\/\/engineering.linkedin.com\/blog\/2018\/03\/how-we-built-the-same-app-twice-with-preact-and-glimmerjs","guid":"https:\/\/engineering.linkedin.com\/blog\/2018\/03\/how-we-built-the-same-app-twice-with-preact-and-glimmerjs","description":"Case study by LinkedIn","pubDate":"Mon, 12 Mar 2018 00:00:00 GMT"},{"title":"LinkedIn\u2019s approach to automated accessibility (A11y) testing","link":"https:\/\/engineering.linkedin.com\/blog\/2020\/automated-accessibility-testing","guid":"https:\/\/engineering.linkedin.com\/blog\/2020\/automated-accessibility-testing","description":"Case study by LinkedIn","pubDate":"Thu, 21 May 2020 00:00:00 GMT"},{"title":"Leveraging configurable components to scale LinkedIn's Profile experience","link":"https:\/\/www.linkedin.com\/blog\/engineering\/profile\/leveraging-configurable-components-to-scale-linkedin-s-profile-e","guid":"https:\/\/www.linkedin.com\/blog\/engineering\/profile\/leveraging-configurable-components-to-scale-linkedin-s-profile-e","description":"Case study by LinkedIn","pubDate":"Tue, 05 Apr 2022 00:00:00 GMT"},{"title":"Building a next-generation forms framework at LinkedIn","link":"https:\/\/www.linkedin.com\/blog\/engineering\/member-customer-experience\/building-a-next-generation-forms-framework-at-linkedin","guid":"https:\/\/www.linkedin.com\/blog\/engineering\/member-customer-experience\/building-a-next-generation-forms-framework-at-linkedin","description":"Case study by LinkedIn","pubDate":"Thu, 31 Mar 2022 00:00:00 GMT"},{"title":"Under the hood: Updating LinkedIn's UI","link":"https:\/\/www.linkedin.com\/blog\/engineering\/product-design\/updating-linkedins-ui","guid":"https:\/\/www.linkedin.com\/blog\/engineering\/product-design\/updating-linkedins-ui","description":"Case study by LinkedIn","pubDate":"Thu, 22 Oct 2020 00:00:00 GMT"},{"title":"Accelerating Code Delivery By 97% With Yarn Workspaces","link":"https:\/\/www.linkedin.com\/blog\/engineering\/infrastructure\/accelerating-code-delivery-by-97-with-yarn-workspaces","guid":"https:\/\/www.linkedin.com\/blog\/engineering\/infrastructure\/accelerating-code-delivery-by-97-with-yarn-workspaces","description":"Case study by LinkedIn","pubDate":"Thu, 15 Dec 2022 00:00:00 GMT"},{"title":"IE10: How does it really stack up?","link":"https:\/\/www.lucidchart.com\/techblog\/2012\/11\/14\/ie10-how-does-it-really-stack-up\/","guid":"https:\/\/www.lucidchart.com\/techblog\/2012\/11\/14\/ie10-how-does-it-really-stack-up\/","description":"Case study by Lucidchart","pubDate":"Wed, 14 Nov 2012 00:00:00 GMT"},{"title":"Atomic CSS as a tool set","link":"https:\/\/www.lucidchart.com\/techblog\/2014\/01\/31\/atomic-css-tool-set\/","guid":"https:\/\/www.lucidchart.com\/techblog\/2014\/01\/31\/atomic-css-tool-set\/","description":"Case study by Lucidchart","pubDate":"Fri, 31 Jan 2014 00:00:00 GMT"},{"title":"The Definitive Guide to Copying and Pasting in JavaScript","link":"https:\/\/www.lucidchart.com\/techblog\/2014\/12\/02\/definitive-guide-copying-pasting-javascript\/","guid":"https:\/\/www.lucidchart.com\/techblog\/2014\/12\/02\/definitive-guide-copying-pasting-javascript\/","description":"Case study by Lucidchart","pubDate":"Tue, 02 Dec 2014 00:00:00 GMT"},{"title":"Big content in a little canvas","link":"https:\/\/www.lucidchart.com\/techblog\/2015\/05\/19\/big-content-in-a-little-canvas\/","guid":"https:\/\/www.lucidchart.com\/techblog\/2015\/05\/19\/big-content-in-a-little-canvas\/","description":"Case study by Lucidchart","pubDate":"Tue, 19 May 2015 00:00:00 GMT"},{"title":"Improving Angular 2 Load Times and a 29KB Hello World App","link":"https:\/\/www.lucidchart.com\/techblog\/2016\/09\/26\/improving-angular-2-load-times\/","guid":"https:\/\/www.lucidchart.com\/techblog\/2016\/09\/26\/improving-angular-2-load-times\/","description":"Case study by Lucidchart","pubDate":"Mon, 26 Sep 2016 00:00:00 GMT"},{"title":"Angular 2 and Observables: Data Sharing in a Multi-View Application","link":"https:\/\/www.lucidchart.com\/techblog\/2016\/11\/08\/angular-2-and-observables-data-sharing-in-a-multi-view-application\/","guid":"https:\/\/www.lucidchart.com\/techblog\/2016\/11\/08\/angular-2-and-observables-data-sharing-in-a-multi-view-application\/","description":"Case study by Lucidchart","pubDate":"Tue, 08 Nov 2016 00:00:00 GMT"},{"title":"Using Angular 2 Components In a Non-Angular App","link":"https:\/\/www.lucidchart.com\/techblog\/2017\/04\/10\/using-angular-2-components-in-a-non-angular-app\/","guid":"https:\/\/www.lucidchart.com\/techblog\/2017\/04\/10\/using-angular-2-components-in-a-non-angular-app\/","description":"Case study by Lucidchart","pubDate":"Mon, 10 Apr 2017 00:00:00 GMT"},{"title":"Converting 600k lines to TypeScript in 72 hours","link":"https:\/\/www.lucidchart.com\/techblog\/2017\/11\/16\/converting-600k-lines-to-typescript-in-72-hours\/","guid":"https:\/\/www.lucidchart.com\/techblog\/2017\/11\/16\/converting-600k-lines-to-typescript-in-72-hours\/","description":"Case study by Lucidchart","pubDate":"Thu, 16 Nov 2017 00:00:00 GMT"},{"title":"How to handle folder uploads in Angular 2+","link":"https:\/\/www.lucidchart.com\/techblog\/2018\/01\/03\/folder-upload-in-an-angular-app\/","guid":"https:\/\/www.lucidchart.com\/techblog\/2018\/01\/03\/folder-upload-in-an-angular-app\/","description":"Case study by Lucidchart","pubDate":"Wed, 03 Jan 2018 00:00:00 GMT"},{"title":"JavaScriptCore \u2013 The Holy Grail of Cross Platform","link":"https:\/\/www.lucidchart.com\/techblog\/2018\/02\/14\/javascriptcore-the-holy-grail-of-cross-platform\/","guid":"https:\/\/www.lucidchart.com\/techblog\/2018\/02\/14\/javascriptcore-the-holy-grail-of-cross-platform\/","description":"Case study by Lucidchart","pubDate":"Wed, 14 Feb 2018 00:00:00 GMT"},{"title":"How to Actually Improve Type Safety with the TypeScript Strict Flags","link":"https:\/\/www.lucidchart.com\/techblog\/2018\/06\/20\/how-to-actually-improve-type-safety-with-the-typescript-strict-flags\/","guid":"https:\/\/www.lucidchart.com\/techblog\/2018\/06\/20\/how-to-actually-improve-type-safety-with-the-typescript-strict-flags\/","description":"Case study by Lucidchart","pubDate":"Wed, 20 Jun 2018 00:00:00 GMT"},{"title":"ZoneTracker: Tracking JavaScript Performance with Zone.js","link":"https:\/\/www.lucidchart.com\/techblog\/2018\/11\/09\/tracking-javascript-performance-zone-js\/","guid":"https:\/\/www.lucidchart.com\/techblog\/2018\/11\/09\/tracking-javascript-performance-zone-js\/","description":"Case study by Lucidchart","pubDate":"Fri, 09 Nov 2018 00:00:00 GMT"},{"title":"JavaScriptCore\u201410 Months Later","link":"https:\/\/www.lucidchart.com\/techblog\/2019\/01\/03\/javascriptcore-10-months-later\/","guid":"https:\/\/www.lucidchart.com\/techblog\/2019\/01\/03\/javascriptcore-10-months-later\/","description":"Case study by Lucidchart","pubDate":"Thu, 03 Jan 2019 00:00:00 GMT"},{"title":"What you should know before making a service worker","link":"https:\/\/lucid.co\/techblog\/2019\/01\/22\/what-you-should-know-before-making-a-service-worker","guid":"https:\/\/lucid.co\/techblog\/2019\/01\/22\/what-you-should-know-before-making-a-service-worker","description":"Case study by Lucidchart","pubDate":"Tue, 22 Jan 2019 00:00:00 GMT"},{"title":"An Angular Change Detection Challenge","link":"https:\/\/lucid.co\/techblog\/2019\/09\/17\/angular-change-detection-challenge","guid":"https:\/\/lucid.co\/techblog\/2019\/09\/17\/angular-change-detection-challenge","description":"Case study by Lucidchart","pubDate":"Tue, 17 Sep 2019 00:00:00 GMT"},{"title":"Design for canvas-based applications","link":"https:\/\/lucid.co\/techblog\/2023\/08\/25\/design-for-canvas-based-applications","guid":"https:\/\/lucid.co\/techblog\/2023\/08\/25\/design-for-canvas-based-applications","description":"Case study by Lucidchart","pubDate":"Fri, 25 Aug 2023 00:00:00 GMT"},{"title":"Internationalizing Your Software Part One: The Process","link":"https:\/\/lucid.co\/techblog\/2019\/04\/18\/internationalizing-software-part-one","guid":"https:\/\/lucid.co\/techblog\/2019\/04\/18\/internationalizing-software-part-one","description":"Case study by Lucidchart","pubDate":"Thu, 18 Apr 2019 00:00:00 GMT"},{"title":"Internationalizing Your Software Part Two: Handling Language Differences","link":"https:\/\/lucid.co\/techblog\/2019\/05\/29\/internationalizing-your-software-part-two-handling-language-differences","guid":"https:\/\/lucid.co\/techblog\/2019\/05\/29\/internationalizing-your-software-part-two-handling-language-differences","description":"Case study by Lucidchart","pubDate":"Wed, 29 May 2019 00:00:00 GMT"},{"title":"Internationalizing Your Software Part Three: Final Thoughts","link":"https:\/\/lucid.co\/techblog\/2019\/06\/17\/internationalizing-software-part-three","guid":"https:\/\/lucid.co\/techblog\/2019\/06\/17\/internationalizing-software-part-three","description":"Case study by Lucidchart","pubDate":"Mon, 17 Jun 2019 00:00:00 GMT"},{"title":"TypeScript at Lyft","link":"https:\/\/eng.lyft.com\/typescript-at-lyft-64f0702346ea","guid":"https:\/\/eng.lyft.com\/typescript-at-lyft-64f0702346ea","description":"Case study by Lyft","pubDate":"Wed, 27 Sep 2017 00:00:00 GMT"},{"title":"Re-approaching Color","link":"https:\/\/design.lyft.com\/re-approaching-color-9e604ba22c88","guid":"https:\/\/design.lyft.com\/re-approaching-color-9e604ba22c88","description":"Case study by Lyft","pubDate":"Fri, 21 Sep 2018 00:00:00 GMT"},{"title":"Changing Lanes: How Lyft is Migrating 100+ Frontend Microservices to Next.js","link":"https:\/\/eng.lyft.com\/changing-lanes-how-lyft-is-migrating-100-frontend-microservices-to-next-js-42199aaebd5f","guid":"https:\/\/eng.lyft.com\/changing-lanes-how-lyft-is-migrating-100-frontend-microservices-to-next-js-42199aaebd5f","description":"Case study by Lyft","pubDate":"Mon, 30 Nov 2020 00:00:00 GMT"},{"title":"Frontend at Lyft: An Overview","link":"https:\/\/eng.lyft.com\/frontend-at-lyft-an-overview-f934c1524370","guid":"https:\/\/eng.lyft.com\/frontend-at-lyft-an-overview-f934c1524370","description":"Case study by Lyft","pubDate":"Tue, 09 Mar 2021 00:00:00 GMT"},{"title":"The Journey to Server Driven UI At Lyft Bikes and Scooters","link":"https:\/\/eng.lyft.com\/the-journey-to-server-driven-ui-at-lyft-bikes-and-scooters-c19264a0378e#1467","guid":"https:\/\/eng.lyft.com\/the-journey-to-server-driven-ui-at-lyft-bikes-and-scooters-c19264a0378e#1467","description":"Case study by Lyft","pubDate":"Thu, 09 Mar 2023 00:00:00 GMT"},{"title":"Speeding Ahead with a Systematic Approach to Web Performance","link":"https:\/\/eng.lyft.com\/speeding-ahead-with-a-systematic-approach-to-web-performance-282b6cf8ae2","guid":"https:\/\/eng.lyft.com\/speeding-ahead-with-a-systematic-approach-to-web-performance-282b6cf8ae2","description":"Case study by Lyft","pubDate":"Wed, 28 Apr 2021 00:00:00 GMT"},{"title":"Improving Core Web Vitals on the Mail.ru home page resulted in an average 10% increase in conversion rates","link":"https:\/\/web.dev\/mailru-cwv\/","guid":"https:\/\/web.dev\/mailru-cwv\/","description":"Case study by Mail.ru","pubDate":"Mon, 15 Nov 2021 00:00:00 GMT"},{"title":"Designing automated tests for React","link":"https:\/\/increment.com\/testing\/designing-automated-tests-for-react\/","guid":"https:\/\/increment.com\/testing\/designing-automated-tests-for-react\/","description":"Case study by Mailchimp","pubDate":"Sat, 10 Aug 2019 00:00:00 GMT"},{"title":"Refactoring MDN macros with async, await, and Object.freeze()","link":"https:\/\/hacks.mozilla.org\/2019\/02\/refactoring-mdn-macros-with-async-await-and-object-freeze\/","guid":"https:\/\/hacks.mozilla.org\/2019\/02\/refactoring-mdn-macros-with-async-await-and-object-freeze\/","description":"Case study by MDN","pubDate":"Thu, 07 Feb 2019 00:00:00 GMT"},{"title":"Why ContentEditable is Terrible","link":"https:\/\/medium.engineering\/why-contenteditable-is-terrible-122d8a40e480","guid":"https:\/\/medium.engineering\/why-contenteditable-is-terrible-122d8a40e480","description":"Case study by Medium","pubDate":"Wed, 14 May 2014 00:00:00 GMT"},{"title":"Wait, Don\u2019t Touch That! Mutual Exclusion Locks & JavaScript","link":"https:\/\/medium.engineering\/wait-dont-touch-that-a211832adc3a","guid":"https:\/\/medium.engineering\/wait-dont-touch-that-a211832adc3a","description":"Case study by Medium","pubDate":"Sat, 17 Jan 2015 00:00:00 GMT"},{"title":"The curious case of the disappearing Polish S","link":"https:\/\/medium.engineering\/the-curious-case-of-disappearing-polish-s-fa398313d4df","guid":"https:\/\/medium.engineering\/the-curious-case-of-disappearing-polish-s-fa398313d4df","description":"Case study by Medium","pubDate":"Mon, 02 Feb 2015 00:00:00 GMT"},{"title":"Five Goofy Things Medium Did That Break Accessibility","link":"https:\/\/medium.engineering\/five-goofy-things-medium-did-that-break-accessibility-3bc804ae818d","guid":"https:\/\/medium.engineering\/five-goofy-things-medium-did-that-break-accessibility-3bc804ae818d","description":"Case study by Medium","pubDate":"Mon, 29 Jun 2015 00:00:00 GMT"},{"title":"The Unluckiest Paragraphs: A Tale of CSS and Why Parts of Medium Sometimes Disappear","link":"https:\/\/medium.engineering\/the-unluckiest-paragraphs-751dd36d2d30","guid":"https:\/\/medium.engineering\/the-unluckiest-paragraphs-751dd36d2d30","description":"Case study by Medium","pubDate":"Sat, 05 Dec 2015 00:00:00 GMT"},{"title":"Simple Style Sheets, Or How to Improve Your Sleep by Dropping the Cascade","link":"https:\/\/medium.engineering\/simple-style-sheets-c3b588867899","guid":"https:\/\/medium.engineering\/simple-style-sheets-c3b588867899","description":"Case study by Medium","pubDate":"Wed, 28 Sep 2016 00:00:00 GMT"},{"title":"2 Fast 2 Furious: migrating Medium\u2019s codebase without slowing down","link":"https:\/\/medium.engineering\/2-fast-2-furious-migrating-mediums-codebase-without-slowing-down-84b1e33d81f4","guid":"https:\/\/medium.engineering\/2-fast-2-furious-migrating-mediums-codebase-without-slowing-down-84b1e33d81f4","description":"Case study by Medium","pubDate":"Thu, 22 Mar 2018 00:00:00 GMT"},{"title":"The case of the eternal blur: a bug hunt horror novella","link":"https:\/\/medium.engineering\/the-case-of-the-eternal-blur-ab350b9653ea","guid":"https:\/\/medium.engineering\/the-case-of-the-eternal-blur-ab350b9653ea","description":"Case study by Medium","pubDate":"Wed, 02 May 2018 00:00:00 GMT"},{"title":"GraphQL Server Design @ Medium","link":"https:\/\/medium.engineering\/graphql-server-design-medium-34862677b4b8","guid":"https:\/\/medium.engineering\/graphql-server-design-medium-34862677b4b8","description":"Case study by Medium","pubDate":"Fri, 02 Nov 2018 00:00:00 GMT"},{"title":"Porting 30K lines of code from Flow to TypeScript","link":"https:\/\/davidgomes.com\/porting-30k-lines-of-code-from-flow-to-typescript\/","guid":"https:\/\/davidgomes.com\/porting-30k-lines-of-code-from-flow-to-typescript\/","description":"Case study by MemSQL","pubDate":"Sun, 13 Jan 2019 00:00:00 GMT"},{"title":"How Mercado Libre optimized for Web Vitals (TBT\/FID)","link":"https:\/\/web.dev\/how-mercadolibre-optimized-web-vitals\/","guid":"https:\/\/web.dev\/how-mercadolibre-optimized-web-vitals\/","description":"Case study by Mercado Libre","pubDate":"Mon, 21 Sep 2020 00:00:00 GMT"},{"title":"Fast Front-End Performance for Microsoft Bing","link":"https:\/\/blogs.bing.com\/search-quality-insights\/august-2022\/Fast-Front-End-Performance-for-Microsoft-Bing","guid":"https:\/\/blogs.bing.com\/search-quality-insights\/august-2022\/Fast-Front-End-Performance-for-Microsoft-Bing","description":"Case study by Microsoft","pubDate":"Thu, 25 Aug 2022 00:00:00 GMT"},{"title":"How We React at Microsoft To-Do","link":"https:\/\/youtu.be\/CWxc3AYja1I","guid":"https:\/\/youtu.be\/CWxc3AYja1I","description":"Case study by Microsoft","pubDate":"Fri, 05 Jan 2018 00:00:00 GMT"},{"title":"Deminifying JavaScript call stacks","link":"https:\/\/medium.com\/web-on-the-edge\/deminifying-javascript-call-stacks-ef600d01bd4a","guid":"https:\/\/medium.com\/web-on-the-edge\/deminifying-javascript-call-stacks-ef600d01bd4a","description":"Case study by Microsoft","pubDate":"Thu, 30 Mar 2017 00:00:00 GMT"},{"title":"Performance gains from switching to Closure Compiler","link":"https:\/\/medium.com\/web-on-the-edge\/performance-gains-from-switching-to-closure-compiler-8b97b7e434e5","guid":"https:\/\/medium.com\/web-on-the-edge\/performance-gains-from-switching-to-closure-compiler-8b97b7e434e5","description":"Case study by Microsoft","pubDate":"Wed, 15 Mar 2017 00:00:00 GMT"},{"title":"Thinking in TypeScript","link":"https:\/\/medium.com\/web-on-the-edge\/thinking-in-typescript-cb7f8a6434c0","guid":"https:\/\/medium.com\/web-on-the-edge\/thinking-in-typescript-cb7f8a6434c0","description":"Case study by Microsoft","pubDate":"Tue, 19 Sep 2017 00:00:00 GMT"},{"title":"Modernizing Word Online\u2019s UX platform","link":"https:\/\/medium.com\/web-on-the-edge\/modernizing-word-onlines-ux-platform-df1050344e3a","guid":"https:\/\/medium.com\/web-on-the-edge\/modernizing-word-onlines-ux-platform-df1050344e3a","description":"Case study by Microsoft","pubDate":"Wed, 29 Aug 2018 00:00:00 GMT"},{"title":"Creating the Microsoft Edge DevTools 3D View","link":"https:\/\/medium.com\/web-on-the-edge\/creating-the-microsoft-edge-devtools-3d-view-d27c7bdffc9d","guid":"https:\/\/medium.com\/web-on-the-edge\/creating-the-microsoft-edge-devtools-3d-view-d27c7bdffc9d","description":"Case study by Microsoft","pubDate":"Tue, 03 Mar 2020 00:00:00 GMT"},{"title":"How we built the DevTools Tooltips","link":"https:\/\/medium.com\/web-on-the-edge\/how-we-built-the-devtools-tooltips-4e9933abbd8a","guid":"https:\/\/medium.com\/web-on-the-edge\/how-we-built-the-devtools-tooltips-4e9933abbd8a","description":"Case study by Microsoft","pubDate":"Mon, 08 Mar 2021 00:00:00 GMT"},{"title":"Bing and React on Amazon Tablets","link":"https:\/\/blogs.bing.com\/search-quality-insights\/2019-03\/Bing-and-React-on-Amazon-Tablets","guid":"https:\/\/blogs.bing.com\/search-quality-insights\/2019-03\/Bing-and-React-on-Amazon-Tablets","description":"Case study by Microsoft","pubDate":"Mon, 18 Mar 2019 00:00:00 GMT"},{"title":"Scaling Mixmax: Front-end performance","link":"https:\/\/mixmax.com\/blog\/scaling-mixmax-front-end","guid":"https:\/\/mixmax.com\/blog\/scaling-mixmax-front-end","description":"Case study by Mixmax","pubDate":"Tue, 05 May 2015 00:00:00 GMT"},{"title":"How we built \u2018instant\u2019 autocomplete for Mixmax","link":"https:\/\/mixmax.com\/blog\/autocomplete-search-performance","guid":"https:\/\/mixmax.com\/blog\/autocomplete-search-performance","description":"Case study by Mixmax","pubDate":"Thu, 05 Nov 2015 00:00:00 GMT"},{"title":"Yarn-ifying Mixmax: why and how we moved from npm to Yarn","link":"https:\/\/mixmax.com\/blog\/yarn-ifying-mixmax","guid":"https:\/\/mixmax.com\/blog\/yarn-ifying-mixmax","description":"Case study by Mixmax","pubDate":"Mon, 24 Apr 2017 00:00:00 GMT"},{"title":"Using CORS policies to implement CSRF protection","link":"https:\/\/mixmax.com\/blog\/modern-csrf","guid":"https:\/\/mixmax.com\/blog\/modern-csrf","description":"Case study by Mixmax","pubDate":"Tue, 13 Jun 2017 00:00:00 GMT"},{"title":"React without Redux: how we moved from Backbone to React without rewriting","link":"https:\/\/mixmax.com\/blog\/backbone-to-react-without-rewriting","guid":"https:\/\/mixmax.com\/blog\/backbone-to-react-without-rewriting","description":"Case study by Mixmax","pubDate":"Wed, 26 Jul 2017 00:00:00 GMT"},{"title":"Handling 3rd-party JavaScript with Rollup: how and when to leave JS out of the bundle","link":"https:\/\/mixmax.com\/blog\/rollup-externals","guid":"https:\/\/mixmax.com\/blog\/rollup-externals","description":"Case study by Mixmax","pubDate":"Sun, 03 Dec 2017 00:00:00 GMT"},{"title":"Precisely observing structural page changes","link":"https:\/\/mixmax.com\/blog\/precisely-observing-structural-page-changes","guid":"https:\/\/mixmax.com\/blog\/precisely-observing-structural-page-changes","description":"Case study by Mixmax","pubDate":"Thu, 07 Dec 2017 00:00:00 GMT"},{"title":"Choosing (and using) Javascript static typing: how Mixmax Engineering adopted Flow","link":"https:\/\/mixmax.com\/blog\/flow-vs-typescript","guid":"https:\/\/mixmax.com\/blog\/flow-vs-typescript","description":"Case study by Mixmax","pubDate":"Tue, 15 May 2018 00:00:00 GMT"},{"title":"To Yarn and Back (to npm) Again","link":"https:\/\/mixmax.com\/blog\/to-yarn-and-back-again-npm","guid":"https:\/\/mixmax.com\/blog\/to-yarn-and-back-again-npm","description":"Case study by Mixmax","pubDate":"Tue, 29 May 2018 00:00:00 GMT"},{"title":"Straightening our Backbone: A lesson in event-driven UI development","link":"https:\/\/engineering.mixpanel.com\/straightening-our-backbone-a-lesson-in-event-driven-ui-development-11894835604f","guid":"https:\/\/engineering.mixpanel.com\/straightening-our-backbone-a-lesson-in-event-driven-ui-development-11894835604f","description":"Case study by Mixpanel","pubDate":"Wed, 08 Apr 2015 00:00:00 GMT"},{"title":"Making Web Components Work, or: How We Learned to Stop Worrying and Love the DOM","link":"https:\/\/web.archive.org\/web\/20181022045420\/https:\/\/engineering.mixpanel.com\/2018\/06\/12\/making-web-components-work\/","guid":"https:\/\/web.archive.org\/web\/20181022045420\/https:\/\/engineering.mixpanel.com\/2018\/06\/12\/making-web-components-work\/","description":"Case study by Mixpanel","pubDate":"Tue, 12 Jun 2018 00:00:00 GMT"},{"title":"How does CSS Grid work with Height\/Width, Margin and Padding?","link":"https:\/\/engineering.mixpanel.com\/how-does-css-grid-work-with-height-width-margin-and-padding-e3dc3afdea2b","guid":"https:\/\/engineering.mixpanel.com\/how-does-css-grid-work-with-height-width-margin-and-padding-e3dc3afdea2b","description":"Case study by Mixpanel","pubDate":"Thu, 24 Aug 2023 00:00:00 GMT"},{"title":"Best Javascript Charting Libraries","link":"https:\/\/engineering.mixpanel.com\/best-javascript-charting-libraries-72e30974fc88","guid":"https:\/\/engineering.mixpanel.com\/best-javascript-charting-libraries-72e30974fc88","description":"Case study by Mixpanel","pubDate":"Sat, 18 Sep 2010 00:00:00 GMT"},{"title":"Building Heatmaps at Scale","link":"https:\/\/mixpanel.substack.com\/p\/building-heatmaps-at-scale","guid":"https:\/\/mixpanel.substack.com\/p\/building-heatmaps-at-scale","description":"Case study by Mixpanel","pubDate":"Tue, 19 Aug 2025 00:00:00 GMT"},{"title":"Building a Bank with Next.js: How We Use Next.js at Monzo","link":"https:\/\/youtu.be\/UXpY3-DlZ9c","guid":"https:\/\/youtu.be\/UXpY3-DlZ9c","description":"Case study by Monzo","pubDate":"Wed, 02 Dec 2020 00:00:00 GMT"},{"title":"The Art of UI Skeletons","link":"http:\/\/farmdev.com\/thoughts\/108\/the-art-of-ui-skeletons","guid":"http:\/\/farmdev.com\/thoughts\/108\/the-art-of-ui-skeletons","description":"Case study by Mozilla","pubDate":"Tue, 23 Apr 2019 00:00:00 GMT"},{"title":"To Eleventy and Beyond","link":"https:\/\/hacks.mozilla.org\/2020\/10\/to-eleventy-and-beyond\/","guid":"https:\/\/hacks.mozilla.org\/2020\/10\/to-eleventy-and-beyond\/","description":"Case study by Mozilla","pubDate":"Thu, 01 Oct 2020 00:00:00 GMT"},{"title":"A Year of Utility Classes","link":"https:\/\/css-irl.info\/a-year-of-utility-classes\/","guid":"https:\/\/css-irl.info\/a-year-of-utility-classes\/","description":"Case study by Mud","pubDate":"Mon, 28 Jan 2019 00:00:00 GMT"},{"title":"Myntra\u2019s Web UI Journey\u200a\u2014\u200aAMP and PWA","link":"https:\/\/medium.com\/@nvkudva\/myntras-web-ui-journey-amp-and-pwa-77b87523ee7d","guid":"https:\/\/medium.com\/@nvkudva\/myntras-web-ui-journey-amp-and-pwa-77b87523ee7d","description":"Case study by Myntra","pubDate":"Wed, 31 Jan 2018 00:00:00 GMT"},{"title":"HTML5 Video Playback UI","link":"https:\/\/medium.com\/netflix-techblog\/html5-video-playback-ui-62cfdd9b5d19","guid":"https:\/\/medium.com\/netflix-techblog\/html5-video-playback-ui-62cfdd9b5d19","description":"Case study by Netflix","pubDate":"Mon, 21 Oct 2013 00:00:00 GMT"},{"title":"Improving the performance of our JavaScript inheritance model","link":"https:\/\/medium.com\/netflix-techblog\/improving-the-performance-of-our-javascript-inheritance-model-af376d75665","guid":"https:\/\/medium.com\/netflix-techblog\/improving-the-performance-of-our-javascript-inheritance-model-af376d75665","description":"Case study by Netflix","pubDate":"Fri, 16 May 2014 00:00:00 GMT"},{"title":"Node.js in Flames","link":"https:\/\/medium.com\/netflix-techblog\/node-js-in-flames-ddd073803aa4","guid":"https:\/\/medium.com\/netflix-techblog\/node-js-in-flames-ddd073803aa4","description":"Case study by Netflix","pubDate":"Wed, 19 Nov 2014 00:00:00 GMT"},{"title":"JSON Graph: Reactive REST at Netflix","link":"https:\/\/youtu.be\/hOE6nVVr14c","guid":"https:\/\/youtu.be\/hOE6nVVr14c","description":"Case study by Netflix","pubDate":"Wed, 01 Apr 2015 00:00:00 GMT"},{"title":"Localization Technologies at Netflix","link":"https:\/\/medium.com\/netflix-techblog\/localization-technologies-at-netflix-d033e7b13cf","guid":"https:\/\/medium.com\/netflix-techblog\/localization-technologies-at-netflix-d033e7b13cf","description":"Case study by Netflix","pubDate":"Thu, 04 Jun 2015 00:00:00 GMT"},{"title":"Making Netflix.com Faster","link":"https:\/\/medium.com\/netflix-techblog\/making-netflix-com-faster-f95d15f2e972","guid":"https:\/\/medium.com\/netflix-techblog\/making-netflix-com-faster-f95d15f2e972","description":"Case study by Netflix","pubDate":"Wed, 05 Aug 2015 00:00:00 GMT"},{"title":"Crafting a high-performance TV user interface using React","link":"https:\/\/medium.com\/netflix-techblog\/crafting-a-high-performance-tv-user-interface-using-react-3350e5a6ad3b","guid":"https:\/\/medium.com\/netflix-techblog\/crafting-a-high-performance-tv-user-interface-using-react-3350e5a6ad3b","description":"Case study by Netflix","pubDate":"Thu, 12 Jan 2017 00:00:00 GMT"},{"title":"Netflix's approach to ES6 feature detection","link":"https:\/\/gist.github.com\/DaBs\/89ccc2ffd1d435efdacff05248514f38","guid":"https:\/\/gist.github.com\/DaBs\/89ccc2ffd1d435efdacff05248514f38","description":"Case study by Netflix","pubDate":"Fri, 20 Jan 2017 00:00:00 GMT"},{"title":"Pass the Remote: User Input on TV Devices","link":"https:\/\/medium.com\/netflix-techblog\/pass-the-remote-user-input-on-tv-devices-923f6920c9a8","guid":"https:\/\/medium.com\/netflix-techblog\/pass-the-remote-user-input-on-tv-devices-923f6920c9a8","description":"Case study by Netflix","pubDate":"Wed, 17 May 2017 00:00:00 GMT"},{"title":"Shop Talk podcast #264: React with Netflix","link":"https:\/\/shoptalkshow.com\/episodes\/264-react-netflix","guid":"https:\/\/shoptalkshow.com\/episodes\/264-react-netflix","description":"Case study by Netflix","pubDate":"Mon, 22 May 2017 00:00:00 GMT"},{"title":"Performance Signup in React & Transactional Apps with Redux","link":"https:\/\/youtu.be\/V8oTJ8OZ5S0","guid":"https:\/\/youtu.be\/V8oTJ8OZ5S0","description":"Case study by Netflix","pubDate":"Wed, 25 Oct 2017 00:00:00 GMT"},{"title":"Implementing Japanese Subtitles on Netflix","link":"https:\/\/medium.com\/netflix-techblog\/implementing-japanese-subtitles-on-netflix-c165fbe61989","guid":"https:\/\/medium.com\/netflix-techblog\/implementing-japanese-subtitles-on-netflix-c165fbe61989","description":"Case study by Netflix","pubDate":"Mon, 11 Dec 2017 00:00:00 GMT"},{"title":"Integrating imperative APIs into a React application","link":"https:\/\/medium.com\/netflix-techblog\/integrating-imperative-apis-into-a-react-application-1257e1b45ac6","guid":"https:\/\/medium.com\/netflix-techblog\/integrating-imperative-apis-into-a-react-application-1257e1b45ac6","description":"Case study by Netflix","pubDate":"Wed, 20 Dec 2017 00:00:00 GMT"},{"title":"Pseudo Localization @ Netflix","link":"https:\/\/medium.com\/netflix-techblog\/pseudo-localization-netflix-12fff76fbcbe","guid":"https:\/\/medium.com\/netflix-techblog\/pseudo-localization-netflix-12fff76fbcbe","description":"Case study by Netflix","pubDate":"Mon, 06 Aug 2018 00:00:00 GMT"},{"title":"Delivering Meaning with Previews on Web","link":"https:\/\/medium.com\/netflix-techblog\/delivering-meaning-with-previews-on-web-3cedc0341b9e","guid":"https:\/\/medium.com\/netflix-techblog\/delivering-meaning-with-previews-on-web-3cedc0341b9e","description":"Case study by Netflix","pubDate":"Mon, 12 Nov 2018 00:00:00 GMT"},{"title":"Enhancing the Netflix UI Experience with HDR","link":"https:\/\/medium.com\/netflix-techblog\/enhancing-the-netflix-ui-experience-with-hdr-1e7506ad3e8","guid":"https:\/\/medium.com\/netflix-techblog\/enhancing-the-netflix-ui-experience-with-hdr-1e7506ad3e8","description":"Case study by Netflix","pubDate":"Mon, 24 Sep 2018 00:00:00 GMT"},{"title":"Our learnings from adopting GraphQL","link":"https:\/\/medium.com\/netflix-techblog\/our-learnings-from-adopting-graphql-f099de39ae5f","guid":"https:\/\/medium.com\/netflix-techblog\/our-learnings-from-adopting-graphql-f099de39ae5f","description":"Case study by Netflix","pubDate":"Mon, 10 Dec 2018 00:00:00 GMT"},{"title":"Modernizing the Web Playback UI","link":"https:\/\/medium.com\/netflix-techblog\/modernizing-the-web-playback-ui-1ad2f184a5a0","guid":"https:\/\/medium.com\/netflix-techblog\/modernizing-the-web-playback-ui-1ad2f184a5a0","description":"Case study by Netflix","pubDate":"Wed, 12 Dec 2018 00:00:00 GMT"},{"title":"Architecting UI for Netflix Studio Technology","link":"https:\/\/youtu.be\/LtrXwX81CPE","guid":"https:\/\/youtu.be\/LtrXwX81CPE","description":"Case study by Netflix","pubDate":"Thu, 14 Nov 2019 00:00:00 GMT"},{"title":"Delightful User Interfaces: Easter Eggs","link":"https:\/\/netflixtechblog.medium.com\/delightful-user-interfaces-easter-eggs-ae5e8107d09b","guid":"https:\/\/netflixtechblog.medium.com\/delightful-user-interfaces-easter-eggs-ae5e8107d09b","description":"Case study by Netflix","pubDate":"Mon, 24 Jun 2019 00:00:00 GMT"},{"title":"Bringing Rich Experiences to Memory-Constrained TV Devices","link":"https:\/\/netflixtechblog.com\/bringing-rich-experiences-to-memory-constrained-tv-devices-6de771eabb16","guid":"https:\/\/netflixtechblog.com\/bringing-rich-experiences-to-memory-constrained-tv-devices-6de771eabb16","description":"Case study by Netflix","pubDate":"Tue, 02 Jul 2019 00:00:00 GMT"},{"title":"Making Bandersnatch","link":"https:\/\/youtu.be\/WLqc0EX8Bmg","guid":"https:\/\/youtu.be\/WLqc0EX8Bmg","description":"Case study by Netflix","pubDate":"Fri, 01 Feb 2019 00:00:00 GMT"},{"title":"React.js for TV UIs","link":"https:\/\/youtu.be\/5sETJs2_jwo","guid":"https:\/\/youtu.be\/5sETJs2_jwo","description":"Case study by Netflix","pubDate":"Thu, 17 Mar 2016 00:00:00 GMT"},{"title":"Hawkins: Diving into the Reasoning Behind our Design System","link":"https:\/\/netflixtechblog.com\/hawkins-diving-into-the-reasoning-behind-our-design-system-964a7357547","guid":"https:\/\/netflixtechblog.com\/hawkins-diving-into-the-reasoning-behind-our-design-system-964a7357547","description":"Case study by Netflix","pubDate":"Wed, 10 Feb 2021 00:00:00 GMT"},{"title":"How We Build Micro Frontends With Lattice","link":"https:\/\/netflixtechblog.com\/how-we-build-micro-frontends-with-lattice-22b8635f77ea","guid":"https:\/\/netflixtechblog.com\/how-we-build-micro-frontends-with-lattice-22b8635f77ea","description":"Case study by Netflix","pubDate":"Mon, 27 Sep 2021 00:00:00 GMT"},{"title":"Building the New Netflix Experience for TV","link":"https:\/\/netflixtechblog.com\/building-the-new-netflix-experience-for-tv-920d71d875de","guid":"https:\/\/netflixtechblog.com\/building-the-new-netflix-experience-for-tv-920d71d875de","description":"Case study by Netflix","pubDate":"Mon, 18 Nov 2013 00:00:00 GMT"},{"title":"Introducing SafeTest: A Novel Approach to Front End Testing","link":"https:\/\/netflixtechblog.com\/introducing-safetest-a-novel-approach-to-front-end-testing-37f9f88c152d","guid":"https:\/\/netflixtechblog.com\/introducing-safetest-a-novel-approach-to-front-end-testing-37f9f88c152d","description":"Case study by Netflix","pubDate":"Tue, 13 Feb 2024 00:00:00 GMT"},{"title":"A Netflix Web Performance Case Study","link":"https:\/\/medium.com\/dev-channel\/a-netflix-web-performance-case-study-c0bcde26a9d9","guid":"https:\/\/medium.com\/dev-channel\/a-netflix-web-performance-case-study-c0bcde26a9d9","description":"Case study by Netflix","pubDate":"Mon, 05 Nov 2018 00:00:00 GMT"},{"title":"Migrating Notion's marketing site to Next.js","link":"https:\/\/www.notion.so\/blog\/migrating-notion-marketing-to-next-js","guid":"https:\/\/www.notion.so\/blog\/migrating-notion-marketing-to-next-js","description":"Case study by Notion","pubDate":"Thu, 12 Aug 2021 00:00:00 GMT"},{"title":"How we sped up Notion in the browser with WASM SQLite","link":"https:\/\/www.notion.com\/blog\/how-we-sped-up-notion-in-the-browser-with-wasm-sqlite","guid":"https:\/\/www.notion.com\/blog\/how-we-sped-up-notion-in-the-browser-with-wasm-sqlite","description":"Case study by Notion","pubDate":"Wed, 10 Jul 2024 00:00:00 GMT"},{"title":"How we evolve code: Notion\u2019s \u201cratcheting\u201d system using custom ESLint rules","link":"https:\/\/www.notion.com\/blog\/how-we-evolved-our-code-notions-ratcheting-system-using-custom-eslint-rules","guid":"https:\/\/www.notion.com\/blog\/how-we-evolved-our-code-notions-ratcheting-system-using-custom-eslint-rules","description":"Case study by Notion","pubDate":"Mon, 03 Mar 2025 00:00:00 GMT"},{"title":"Re-inventing npmjs.com","link":"http:\/\/blog.npmjs.org\/post\/172567815935\/re-inventing-npmjscom","guid":"http:\/\/blog.npmjs.org\/post\/172567815935\/re-inventing-npmjscom","description":"Case study by npm","pubDate":"Tue, 03 Apr 2018 00:00:00 GMT"},{"title":"JavaScript Usage by Industry","link":"https:\/\/blog.npmjs.org\/post\/175311966445\/javascript-usage-by-industry","guid":"https:\/\/blog.npmjs.org\/post\/175311966445\/javascript-usage-by-industry","description":"Case study by npm","pubDate":"Wed, 27 Jun 2018 00:00:00 GMT"},{"title":"Migrating from Iron Router to FlowRouter (with Blaze)","link":"https:\/\/web.archive.org\/web\/20191002194257\/https:\/\/www.okgrow.com\/posts\/flow-router-migration-guide","guid":"https:\/\/web.archive.org\/web\/20191002194257\/https:\/\/www.okgrow.com\/posts\/flow-router-migration-guide","description":"Case study by OK GROW!","pubDate":"Thu, 17 Sep 2015 00:00:00 GMT"},{"title":"Where does Redux fit in Meteor?","link":"https:\/\/web.archive.org\/web\/20191003010638\/https:\/\/www.okgrow.com\/posts\/where-does-redux-fit-in-meteor","guid":"https:\/\/web.archive.org\/web\/20191003010638\/https:\/\/www.okgrow.com\/posts\/where-does-redux-fit-in-meteor","description":"Case study by OK GROW!","pubDate":"Fri, 15 Jul 2016 00:00:00 GMT"},{"title":"Real-world Unit Testing with Meteor and Jest","link":"https:\/\/blog.meteor.com\/real-world-unit-tests-with-meteor-and-jest-3d557e84e84a","guid":"https:\/\/blog.meteor.com\/real-world-unit-tests-with-meteor-and-jest-3d557e84e84a","description":"Case study by OK GROW!","pubDate":"Tue, 17 Oct 2017 00:00:00 GMT"},{"title":"OYO on a User Experience Quest with AMP \u26a1","link":"https:\/\/medium.com\/oyotech\/oyo-on-a-user-experience-quest-with-amp-cff515cf849e","guid":"https:\/\/medium.com\/oyotech\/oyo-on-a-user-experience-quest-with-amp-cff515cf849e","description":"Case study by OYO","pubDate":"Thu, 11 Jan 2018 00:00:00 GMT"},{"title":"Brotli vs Gzip Compression. How we improved our latency by 37%","link":"https:\/\/medium.com\/oyotech\/how-brotli-compression-gave-us-37-latency-improvement-14d41e50fee4","guid":"https:\/\/medium.com\/oyotech\/how-brotli-compression-gave-us-37-latency-improvement-14d41e50fee4","description":"Case study by OYO","pubDate":"Fri, 29 Jun 2018 00:00:00 GMT"},{"title":"AMP for Email - Interactive and Dynamic Email Experiences at OYO","link":"https:\/\/medium.com\/oyotech\/amp-for-email-making-interactive-and-dynamic-email-experiences-at-oyo-ed7a6d8754b3","guid":"https:\/\/medium.com\/oyotech\/amp-for-email-making-interactive-and-dynamic-email-experiences-at-oyo-ed7a6d8754b3","description":"Case study by OYO","pubDate":"Tue, 26 Mar 2019 00:00:00 GMT"},{"title":"Shipping ES6 in browsers without Polyfill","link":"https:\/\/medium.com\/oyotech\/shipping-es6-in-browsers-without-polyfill-90d1fb440a55","guid":"https:\/\/medium.com\/oyotech\/shipping-es6-in-browsers-without-polyfill-90d1fb440a55","description":"Case study by OYO","pubDate":"Wed, 17 Apr 2019 00:00:00 GMT"},{"title":"Signed-Exchange: Solving the AMP URLs Display Problem","link":"https:\/\/medium.com\/oyotech\/implementing-signed-exchange-for-better-amp-urls-38abd64c6766","guid":"https:\/\/medium.com\/oyotech\/implementing-signed-exchange-for-better-amp-urls-38abd64c6766","description":"Case study by OYO","pubDate":"Tue, 07 May 2019 00:00:00 GMT"},{"title":"Building Chrome Extension with ReactJs: Beginner\u2019s Guide","link":"https:\/\/medium.com\/oyotech\/building-chrome-extension-with-reactjs-beginners-guide-ca44acdf9ffc","guid":"https:\/\/medium.com\/oyotech\/building-chrome-extension-with-reactjs-beginners-guide-ca44acdf9ffc","description":"Case study by OYO","pubDate":"Mon, 13 May 2019 00:00:00 GMT"},{"title":"A complete implementation guide to Trusted Web Activity(TWA)- OYO Lite","link":"https:\/\/medium.com\/oyotech\/a-complete-guide-to-trusted-web-activity-twa-oyo-case-study-3dd327d7afc5","guid":"https:\/\/medium.com\/oyotech\/a-complete-guide-to-trusted-web-activity-twa-oyo-case-study-3dd327d7afc5","description":"Case study by OYO","pubDate":"Thu, 07 Nov 2019 00:00:00 GMT"},{"title":"Migrating to webpack 5 to improve build time and reduce chunk sizes","link":"https:\/\/tech.oyorooms.com\/migrating-to-webpack-5-to-improve-build-time-and-reduce-chunk-sizes-50486918d348","guid":"https:\/\/tech.oyorooms.com\/migrating-to-webpack-5-to-improve-build-time-and-reduce-chunk-sizes-50486918d348","description":"Case study by OYO","pubDate":"Wed, 30 Jun 2021 00:00:00 GMT"},{"title":"Oyster Shots on the Front End","link":"https:\/\/web.archive.org\/web\/20230927214246\/http:\/\/tech.oyster.com\/oyster-shots-on-the-front-end\/","guid":"https:\/\/web.archive.org\/web\/20230927214246\/http:\/\/tech.oyster.com\/oyster-shots-on-the-front-end\/","description":"Case study by Oyster","pubDate":"Fri, 29 Jul 2011 00:00:00 GMT"},{"title":"Using React and jQuery Together","link":"https:\/\/web.archive.org\/web\/20230131055805\/http:\/\/tech.oyster.com\/using-react-and-jquery-together\/","guid":"https:\/\/web.archive.org\/web\/20230131055805\/http:\/\/tech.oyster.com\/using-react-and-jquery-together\/","description":"Case study by Oyster","pubDate":"Tue, 22 Mar 2016 00:00:00 GMT"},{"title":"Scaling product design with Blueprint","link":"https:\/\/medium.com\/palantir\/scaling-product-design-with-blueprint-25492827bb4a","guid":"https:\/\/medium.com\/palantir\/scaling-product-design-with-blueprint-25492827bb4a","description":"Case study by Palantir","pubDate":"Fri, 06 Jan 2017 00:00:00 GMT"},{"title":"TSLint in 2019","link":"https:\/\/medium.com\/palantir\/tslint-in-2019-1a144c2317a9","guid":"https:\/\/medium.com\/palantir\/tslint-in-2019-1a144c2317a9","description":"Case study by Palantir","pubDate":"Tue, 19 Feb 2019 00:00:00 GMT"},{"title":"Sane, scalable Angular apps are tricky, but not impossible. Lessons learned from PayPal Checkout","link":"https:\/\/medium.com\/@bluepnume\/sane-scalable-angular-apps-are-tricky-but-not-impossible-lessons-learned-from-paypal-checkout-c5320558d4ef","guid":"https:\/\/medium.com\/@bluepnume\/sane-scalable-angular-apps-are-tricky-but-not-impossible-lessons-learned-from-paypal-checkout-c5320558d4ef","description":"Case study by PayPal","pubDate":"Sat, 26 Sep 2015 00:00:00 GMT"},{"title":"Auto-shrink-wrapping in PayPal Checkout, and how it\u2019s saved us more than once","link":"https:\/\/medium.com\/@bluepnume\/how-we-manage-sane-tagging-releasing-and-shrink-wrapping-for-paypal-checkout-d1e37f20533a","guid":"https:\/\/medium.com\/@bluepnume\/how-we-manage-sane-tagging-releasing-and-shrink-wrapping-for-paypal-checkout-d1e37f20533a","description":"Case study by PayPal","pubDate":"Wed, 10 Feb 2016 00:00:00 GMT"},{"title":"Dependency injection in Angular isn\u2019t worth it. More lessons learned from scaling PayPal Checkout","link":"https:\/\/medium.com\/@bluepnume\/dependency-injection-in-angular-isn-t-worth-it-more-lessons-learned-from-scaling-paypal-checkout-2189ec9c21a0","guid":"https:\/\/medium.com\/@bluepnume\/dependency-injection-in-angular-isn-t-worth-it-more-lessons-learned-from-scaling-paypal-checkout-2189ec9c21a0","description":"Case study by PayPal","pubDate":"Sun, 03 Apr 2016 00:00:00 GMT"},{"title":"Less is more: reducing thousands of PayPal buttons into a single iframe, using zoid","link":"https:\/\/medium.com\/@bluepnume\/less-is-more-reducing-thousands-of-paypal-buttons-into-a-single-iframe-using-xcomponent-d902d71d8875","guid":"https:\/\/medium.com\/@bluepnume\/less-is-more-reducing-thousands-of-paypal-buttons-into-a-single-iframe-using-xcomponent-d902d71d8875","description":"Case study by PayPal","pubDate":"Fri, 17 Mar 2017 00:00:00 GMT"},{"title":"Safari\u2019s new third party tracking rules, and enabling cross-domain data storage","link":"https:\/\/medium.com\/@bluepnume\/safaris-new-tracking-rules-and-enabling-cross-domain-data-storage-85241eea7483","guid":"https:\/\/medium.com\/@bluepnume\/safaris-new-tracking-rules-and-enabling-cross-domain-data-storage-85241eea7483","description":"Case study by PayPal","pubDate":"Wed, 30 Aug 2017 00:00:00 GMT"},{"title":"Reinventing cross-origin requests, without CORS","link":"https:\/\/medium.com\/@bluepnume\/reinventing-cross-origin-requests-without-cors-b9c4cb645376","guid":"https:\/\/medium.com\/@bluepnume\/reinventing-cross-origin-requests-without-cors-b9c4cb645376","description":"Case study by PayPal","pubDate":"Wed, 06 Sep 2017 00:00:00 GMT"},{"title":"Introducing PayPal\u2019s open-source cross-domain javascript suite","link":"https:\/\/medium.com\/@bluepnume\/introducing-paypals-open-source-cross-domain-javascript-suite-95f991b2731d","guid":"https:\/\/medium.com\/@bluepnume\/introducing-paypals-open-source-cross-domain-javascript-suite-95f991b2731d","description":"Case study by PayPal","pubDate":"Mon, 16 Oct 2017 00:00:00 GMT"},{"title":"GraphQL: A success story for PayPal Checkout","link":"https:\/\/medium.com\/paypal-engineering\/graphql-a-success-story-for-paypal-checkout-3482f724fb53","guid":"https:\/\/medium.com\/paypal-engineering\/graphql-a-success-story-for-paypal-checkout-3482f724fb53","description":"Case study by PayPal","pubDate":"Wed, 17 Oct 2018 00:00:00 GMT"},{"title":"Why every new web app at PayPal starts with TypeScript","link":"https:\/\/medium.com\/paypal-engineering\/why-every-new-web-app-at-paypal-starts-with-typescript-9d1acc07c839","guid":"https:\/\/medium.com\/paypal-engineering\/why-every-new-web-app-at-paypal-starts-with-typescript-9d1acc07c839","description":"Case study by PayPal","pubDate":"Mon, 21 Jan 2019 00:00:00 GMT"},{"title":"Scaling GraphQL at PayPal","link":"https:\/\/medium.com\/paypal-engineering\/scaling-graphql-at-paypal-b5b5ac098810","guid":"https:\/\/medium.com\/paypal-engineering\/scaling-graphql-at-paypal-b5b5ac098810","description":"Case study by PayPal","pubDate":"Wed, 30 Oct 2019 00:00:00 GMT"},{"title":"Sharing UI Components at an Enterprise Level","link":"https:\/\/medium.com\/paypal-tech\/reusing-ui-components-at-enterprise-level-a7df1ea1f8dd","guid":"https:\/\/medium.com\/paypal-tech\/reusing-ui-components-at-enterprise-level-a7df1ea1f8dd","description":"Case study by PayPal","pubDate":"Tue, 02 Jun 2020 00:00:00 GMT"},{"title":"How Micro Frontend Has Changed Our Team Dynamic","link":"https:\/\/medium.com\/paypal-engineering\/how-micro-frontend-has-changed-our-team-dynamic-ba2f01597f48","guid":"https:\/\/medium.com\/paypal-engineering\/how-micro-frontend-has-changed-our-team-dynamic-ba2f01597f48","description":"Case study by PayPal","pubDate":"Mon, 10 Aug 2020 00:00:00 GMT"},{"title":"GraphQL at PayPal: An Adoption Story","link":"https:\/\/medium.com\/paypal-tech\/graphql-at-paypal-an-adoption-story-b7e01175f2b7","guid":"https:\/\/medium.com\/paypal-tech\/graphql-at-paypal-an-adoption-story-b7e01175f2b7","description":"Case study by PayPal","pubDate":"Wed, 01 Sep 2021 00:00:00 GMT"},{"title":"Introducing Pinafore for Mastodon","link":"https:\/\/nolanlawson.com\/2018\/04\/09\/introducing-pinafore-for-mastodon","guid":"https:\/\/nolanlawson.com\/2018\/04\/09\/introducing-pinafore-for-mastodon","description":"Case study by Pinafore","pubDate":"Mon, 09 Apr 2018 00:00:00 GMT"},{"title":"Scrolling the main document is better for performance, accessibility, and usability","link":"https:\/\/nolanlawson.com\/2018\/11\/18\/scrolling-the-main-document-is-better-for-performance-accessibility-and-usability","guid":"https:\/\/nolanlawson.com\/2018\/11\/18\/scrolling-the-main-document-is-better-for-performance-accessibility-and-usability","description":"Case study by Pinafore","pubDate":"Sun, 18 Nov 2018 00:00:00 GMT"},{"title":"Building a modern carousel with CSS scroll snap, smooth scrolling, and pinch-zoom","link":"https:\/\/nolanlawson.com\/2019\/02\/10\/building-a-modern-carousel-with-css-scroll-snap-smooth-scrolling-and-pinch-zoom","guid":"https:\/\/nolanlawson.com\/2019\/02\/10\/building-a-modern-carousel-with-css-scroll-snap-smooth-scrolling-and-pinch-zoom","description":"Case study by Pinafore","pubDate":"Sun, 10 Feb 2019 00:00:00 GMT"},{"title":"One year of Pinafore","link":"https:\/\/nolanlawson.com\/2019\/06\/02\/one-year-of-pinafore","guid":"https:\/\/nolanlawson.com\/2019\/06\/02\/one-year-of-pinafore","description":"Case study by Pinafore","pubDate":"Sun, 02 Jun 2019 00:00:00 GMT"},{"title":"The joy and challenge of developing for KaiOS","link":"https:\/\/nolanlawson.com\/2019\/09\/22\/the-joy-and-challenge-of-developing-for-kaios","guid":"https:\/\/nolanlawson.com\/2019\/09\/22\/the-joy-and-challenge-of-developing-for-kaios","description":"Case study by Pinafore","pubDate":"Sun, 22 Sep 2019 00:00:00 GMT"},{"title":"What I\u2019ve learned about accessibility in SPAs","link":"https:\/\/nolanlawson.com\/2019\/11\/05\/what-ive-learned-about-accessibility-in-spas","guid":"https:\/\/nolanlawson.com\/2019\/11\/05\/what-ive-learned-about-accessibility-in-spas","description":"Case study by Pinafore","pubDate":"Tue, 05 Nov 2019 00:00:00 GMT"},{"title":"Gone In 60 Frames Per Second: A Pinterest Paint Performance Case Study","link":"https:\/\/www.smashingmagazine.com\/2013\/06\/pinterest-paint-performance-case-study\/","guid":"https:\/\/www.smashingmagazine.com\/2013\/06\/pinterest-paint-performance-case-study\/","description":"Case study by Pinterest","pubDate":"Mon, 10 Jun 2013 00:00:00 GMT"},{"title":"Demystifying SEO with experiments","link":"https:\/\/medium.com\/@Pinterest_Engineering\/demystifying-seo-with-experiments-a183b325cf4c","guid":"https:\/\/medium.com\/@Pinterest_Engineering\/demystifying-seo-with-experiments-a183b325cf4c","description":"Case study by Pinterest","pubDate":"Tue, 27 Jan 2015 00:00:00 GMT"},{"title":"How we made JavaScript testing 15x faster","link":"https:\/\/medium.com\/@Pinterest_Engineering\/how-we-made-javascript-testing-15x-faster-5ba35b5d3947","guid":"https:\/\/medium.com\/@Pinterest_Engineering\/how-we-made-javascript-testing-15x-faster-5ba35b5d3947","description":"Case study by Pinterest","pubDate":"Tue, 03 Feb 2015 00:00:00 GMT"},{"title":"Making Pinterest HTTPS","link":"https:\/\/medium.com\/@Pinterest_Engineering\/making-pinterest-https-637ec925a8ad","guid":"https:\/\/medium.com\/@Pinterest_Engineering\/making-pinterest-https-637ec925a8ad","description":"Case study by Pinterest","pubDate":"Fri, 13 Mar 2015 00:00:00 GMT"},{"title":"How we switched our template rendering engine to React","link":"https:\/\/medium.com\/@Pinterest_Engineering\/how-we-switched-our-template-rendering-engine-to-react-a799a3d540b0","guid":"https:\/\/medium.com\/@Pinterest_Engineering\/how-we-switched-our-template-rendering-engine-to-react-a799a3d540b0","description":"Case study by Pinterest","pubDate":"Fri, 18 Nov 2016 00:00:00 GMT"},{"title":"Introducing Bonsai: an open source Webpack analyzer","link":"https:\/\/medium.com\/@Pinterest_Engineering\/introducing-bonsai-an-open-source-webpack-analyzer-6bdfe22f8984","guid":"https:\/\/medium.com\/@Pinterest_Engineering\/introducing-bonsai-an-open-source-webpack-analyzer-6bdfe22f8984","description":"Case study by Pinterest","pubDate":"Fri, 02 Jun 2017 00:00:00 GMT"},{"title":"Migrating Pinterest profiles to React","link":"https:\/\/medium.com\/@Pinterest_Engineering\/migrating-pinterest-profiles-to-react-479f4f7306aa","guid":"https:\/\/medium.com\/@Pinterest_Engineering\/migrating-pinterest-profiles-to-react-479f4f7306aa","description":"Case study by Pinterest","pubDate":"Fri, 23 Sep 2016 00:00:00 GMT"},{"title":"A Pinterest Progressive Web App Performance Case Study","link":"https:\/\/medium.com\/dev-channel\/a-pinterest-progressive-web-app-performance-case-study-3bd6ed2e6154","guid":"https:\/\/medium.com\/dev-channel\/a-pinterest-progressive-web-app-performance-case-study-3bd6ed2e6154","description":"Case study by Pinterest","pubDate":"Thu, 30 Nov 2017 00:00:00 GMT"},{"title":"Supporting React Native at Pinterest","link":"https:\/\/medium.com\/@Pinterest_Engineering\/supporting-react-native-at-pinterest-f8c2233f90e6","guid":"https:\/\/medium.com\/@Pinterest_Engineering\/supporting-react-native-at-pinterest-f8c2233f90e6","description":"Case study by Pinterest","pubDate":"Thu, 10 May 2018 00:00:00 GMT"},{"title":"A one year PWA retrospective","link":"https:\/\/medium.com\/@Pinterest_Engineering\/a-one-year-pwa-retrospective-f4a2f4129e05","guid":"https:\/\/medium.com\/@Pinterest_Engineering\/a-one-year-pwa-retrospective-f4a2f4129e05","description":"Case study by Pinterest","pubDate":"Fri, 20 Jul 2018 00:00:00 GMT"},{"title":"Using Elm in Production at Pivotal Tracker","link":"https:\/\/www.pivotaltracker.com\/blog\/Elm-pivotal-tracker\/","guid":"https:\/\/www.pivotaltracker.com\/blog\/Elm-pivotal-tracker\/","description":"Case study by Pivotal Tracker","pubDate":"Tue, 31 Jan 2017 00:00:00 GMT"},{"title":"Improving Accessibility in Pivotal Tracker","link":"https:\/\/www.pivotaltracker.com\/blog\/improving-accessibility-in-pivotal-tracker","guid":"https:\/\/www.pivotaltracker.com\/blog\/improving-accessibility-in-pivotal-tracker","description":"Case study by Pivotal Tracker","pubDate":"Thu, 01 Feb 2018 00:00:00 GMT"},{"title":"Securing WebViews with Chrome Custom Tabs","link":"https:\/\/blog.plaid.com\/securing-webviews-with-chrome-custom-tabs","guid":"https:\/\/blog.plaid.com\/securing-webviews-with-chrome-custom-tabs","description":"Case study by Plaid","pubDate":"Thu, 09 Apr 2020 00:00:00 GMT"},{"title":"React @ Product Hunt","link":"https:\/\/youtu.be\/F38nRMktS9Q","guid":"https:\/\/youtu.be\/F38nRMktS9Q","description":"Case study by Product Hunt","pubDate":"Tue, 30 May 2017 00:00:00 GMT"},{"title":"GraphQL @ Product Hunt","link":"https:\/\/www.youtube.com\/watch?v=H0YCeHeHbr0","guid":"https:\/\/www.youtube.com\/watch?v=H0YCeHeHbr0","description":"Case study by Product Hunt","pubDate":"Thu, 02 Nov 2017 00:00:00 GMT"},{"title":"Deploying CSS Logical Properties On Web Apps","link":"https:\/\/www.smashingmagazine.com\/2022\/12\/deploying-css-logical-properties-on-web-apps\/","guid":"https:\/\/www.smashingmagazine.com\/2022\/12\/deploying-css-logical-properties-on-web-apps\/","description":"Case study by Proton","pubDate":"Fri, 23 Dec 2022 00:00:00 GMT"},{"title":"Smooth Game Animations in React","link":"https:\/\/medium.com\/tech-quizlet\/smooth-game-animations-in-react-df43ece916c8","guid":"https:\/\/medium.com\/tech-quizlet\/smooth-game-animations-in-react-df43ece916c8","description":"Case study by Quizlet","pubDate":"Thu, 18 Feb 2016 00:00:00 GMT"},{"title":"Launching A Successful Redesign For 20 Million Students","link":"https:\/\/medium.com\/tech-quizlet\/launching-a-successful-redesign-for-20-million-students-2f4c4b518b6e","guid":"https:\/\/medium.com\/tech-quizlet\/launching-a-successful-redesign-for-20-million-students-2f4c4b518b6e","description":"Case study by Quizlet","pubDate":"Tue, 13 Jun 2017 00:00:00 GMT"},{"title":"Cypress: The future of end-to-end testing for web applications","link":"https:\/\/medium.com\/tech-quizlet\/cypress-the-future-of-end-to-end-testing-for-web-applications-8ee108c5b255","guid":"https:\/\/medium.com\/tech-quizlet\/cypress-the-future-of-end-to-end-testing-for-web-applications-8ee108c5b255","description":"Case study by Quizlet","pubDate":"Thu, 08 Feb 2018 00:00:00 GMT"},{"title":"Now or Never: Migrating 300k LOC from Flow to TypeScript at Quizlet","link":"https:\/\/medium.com\/tech-quizlet\/now-or-never-migrating-300k-loc-from-flow-to-typescript-at-quizlet-d3bae5830a1","guid":"https:\/\/medium.com\/tech-quizlet\/now-or-never-migrating-300k-loc-from-flow-to-typescript-at-quizlet-d3bae5830a1","description":"Case study by Quizlet","pubDate":"Tue, 18 Jun 2019 00:00:00 GMT"},{"title":"Faster Paint Times","link":"https:\/\/www.quora.com\/q\/quoraengineering\/Faster-Paint-Times","guid":"https:\/\/www.quora.com\/q\/quoraengineering\/Faster-Paint-Times","description":"Case study by Quora","pubDate":"Thu, 18 Aug 2016 00:00:00 GMT"},{"title":"Choosing Quora\u2019s GraphQL client","link":"https:\/\/www.quora.com\/q\/quoraengineering\/Choosing-Quora-s-GraphQL-client","guid":"https:\/\/www.quora.com\/q\/quoraengineering\/Choosing-Quora-s-GraphQL-client","description":"Case study by Quora","pubDate":"Wed, 22 Jul 2020 00:00:00 GMT"},{"title":"Loading Google Maps with RequireJS","link":"https:\/\/www.rea-group.com\/about-us\/news-and-insights\/blog\/loading-google-maps-with-requirejs\/","guid":"https:\/\/www.rea-group.com\/about-us\/news-and-insights\/blog\/loading-google-maps-with-requirejs\/","description":"Case study by REA Group","pubDate":"Mon, 15 Oct 2012 00:00:00 GMT"},{"title":"Are you responsive to your users?","link":"https:\/\/www.rea-group.com\/about-us\/news-and-insights\/blog\/are-you-responsive-to-your-users\/","guid":"https:\/\/www.rea-group.com\/about-us\/news-and-insights\/blog\/are-you-responsive-to-your-users\/","description":"Case study by REA Group","pubDate":"Tue, 30 Jul 2013 00:00:00 GMT"},{"title":"Playing with Flux","link":"https:\/\/www.rea-group.com\/about-us\/news-and-insights\/blog\/playing-with-flux\/","guid":"https:\/\/www.rea-group.com\/about-us\/news-and-insights\/blog\/playing-with-flux\/","description":"Case study by REA Group","pubDate":"Fri, 03 Jul 2015 00:00:00 GMT"},{"title":"Painless JavaScript testing? Surely you Jest!","link":"https:\/\/www.rea-group.com\/about-us\/news-and-insights\/blog\/painless-javascript-testing-surely-you-jest\/","guid":"https:\/\/www.rea-group.com\/about-us\/news-and-insights\/blog\/painless-javascript-testing-surely-you-jest\/","description":"Case study by REA Group","pubDate":"Fri, 30 Oct 2015 00:00:00 GMT"},{"title":"Automated visual checking of deployments with ImageMagick","link":"https:\/\/www.rea-group.com\/about-us\/news-and-insights\/blog\/checking-deployments-visually-with-imagemagick\/","guid":"https:\/\/www.rea-group.com\/about-us\/news-and-insights\/blog\/checking-deployments-visually-with-imagemagick\/","description":"Case study by REA Group","pubDate":"Fri, 22 Jan 2016 00:00:00 GMT"},{"title":"ReactJS \u2013 Real World Examples of Higher-Order Components","link":"https:\/\/www.rea-group.com\/about-us\/news-and-insights\/blog\/reactjs-real-world-examples-of-higher-order-components\/","guid":"https:\/\/www.rea-group.com\/about-us\/news-and-insights\/blog\/reactjs-real-world-examples-of-higher-order-components\/","description":"Case study by REA Group","pubDate":"Fri, 06 May 2016 00:00:00 GMT"},{"title":"Singletons Suck (aka Flux to Redux)","link":"https:\/\/www.rea-group.com\/about-us\/news-and-insights\/blog\/singletons-suck-aka-flux-to-redux\/","guid":"https:\/\/www.rea-group.com\/about-us\/news-and-insights\/blog\/singletons-suck-aka-flux-to-redux\/","description":"Case study by REA Group","pubDate":"Wed, 17 Aug 2016 00:00:00 GMT"},{"title":"ReactJS Performance Debugging (aka The Magic of Reselect Selectors)","link":"https:\/\/www.rea-group.com\/about-us\/news-and-insights\/blog\/reactjs-performance-debugging-aka-the-magic-of-reselect-selectors\/","guid":"https:\/\/www.rea-group.com\/about-us\/news-and-insights\/blog\/reactjs-performance-debugging-aka-the-magic-of-reselect-selectors\/","description":"Case study by REA Group","pubDate":"Fri, 09 Sep 2016 00:00:00 GMT"},{"title":"Functions as Child Components and Higher Order Components","link":"https:\/\/www.rea-group.com\/about-us\/news-and-insights\/blog\/functions-as-child-components-and-higher-order-components\/","guid":"https:\/\/www.rea-group.com\/about-us\/news-and-insights\/blog\/functions-as-child-components-and-higher-order-components\/","description":"Case study by REA Group","pubDate":"Fri, 07 Oct 2016 00:00:00 GMT"},{"title":"My Journey in a UI Project (aka front-end is the new back-end)","link":"https:\/\/www.rea-group.com\/about-us\/news-and-insights\/blog\/my-journey-in-a-ui-project-aka-front-end-is-the-new-back-end\/","guid":"https:\/\/www.rea-group.com\/about-us\/news-and-insights\/blog\/my-journey-in-a-ui-project-aka-front-end-is-the-new-back-end\/","description":"Case study by REA Group","pubDate":"Fri, 23 Jun 2017 00:00:00 GMT"},{"title":"Static assets in an eventually consistent webapp deployment","link":"https:\/\/www.rea-group.com\/about-us\/news-and-insights\/blog\/static-assets-in-an-eventually-consistent-webapp-deployment\/","guid":"https:\/\/www.rea-group.com\/about-us\/news-and-insights\/blog\/static-assets-in-an-eventually-consistent-webapp-deployment\/","description":"Case study by REA Group","pubDate":"Fri, 11 Aug 2017 00:00:00 GMT"},{"title":"Measure Core Web Vitals Score During Development","link":"https:\/\/www.rea-group.com\/about-us\/news-and-insights\/blog\/measure-core-web-vitals-score-during-development\/","guid":"https:\/\/www.rea-group.com\/about-us\/news-and-insights\/blog\/measure-core-web-vitals-score-during-development\/","description":"Case study by REA Group","pubDate":"Fri, 23 Apr 2021 00:00:00 GMT"},{"title":"Saving 300k hours for teams with REA\u2019s design system","link":"https:\/\/www.rea-group.com\/about-us\/news-and-insights\/blog\/the-value-of-reas-design-system\/","guid":"https:\/\/www.rea-group.com\/about-us\/news-and-insights\/blog\/the-value-of-reas-design-system\/","description":"Case study by REA Group","pubDate":"Mon, 23 Jan 2023 00:00:00 GMT"},{"title":"Introduction to fp-ts \u2013 Part 1","link":"https:\/\/www.rea-group.com\/about-us\/news-and-insights\/blog\/introduction-to-fp-ts-part-1\/","guid":"https:\/\/www.rea-group.com\/about-us\/news-and-insights\/blog\/introduction-to-fp-ts-part-1\/","description":"Case study by REA Group","pubDate":"Wed, 05 Apr 2023 00:00:00 GMT"},{"title":"Introduction to fp-ts \u2013 Part 2","link":"https:\/\/www.rea-group.com\/about-us\/news-and-insights\/blog\/introduction-to-fp-ts-part-2\/","guid":"https:\/\/www.rea-group.com\/about-us\/news-and-insights\/blog\/introduction-to-fp-ts-part-2\/","description":"Case study by REA Group","pubDate":"Wed, 26 Apr 2023 00:00:00 GMT"},{"title":"Introducing Argonaut \u2013 Part One. The micro-frontend platform for building web experiences at REA Group","link":"https:\/\/www.rea-group.com\/about-us\/news-and-insights\/blog\/introducing-argonaut-part-one\/","guid":"https:\/\/www.rea-group.com\/about-us\/news-and-insights\/blog\/introducing-argonaut-part-one\/","description":"Case study by REA Group","pubDate":"Tue, 05 Sep 2023 00:00:00 GMT"},{"title":"Introducing Argonaut \u2013 Part Two. A technical overview","link":"https:\/\/www.rea-group.com\/about-us\/news-and-insights\/blog\/introducing-argonaut-part-two\/","guid":"https:\/\/www.rea-group.com\/about-us\/news-and-insights\/blog\/introducing-argonaut-part-two\/","description":"Case study by REA Group","pubDate":"Tue, 05 Sep 2023 00:00:01 GMT"},{"title":"Introducing Argonaut \u2013 Part Three. A deep dive into rendering a micro-frontend","link":"https:\/\/www.rea-group.com\/about-us\/news-and-insights\/blog\/introducing-argonaut-part-three\/","guid":"https:\/\/www.rea-group.com\/about-us\/news-and-insights\/blog\/introducing-argonaut-part-three\/","description":"Case study by REA Group","pubDate":"Tue, 05 Sep 2023 00:00:02 GMT"},{"title":"Introducing Argonaut \u2013 Part Four. The developer experience","link":"https:\/\/www.rea-group.com\/about-us\/news-and-insights\/blog\/introducing-argonaut-part-four\/","guid":"https:\/\/www.rea-group.com\/about-us\/news-and-insights\/blog\/introducing-argonaut-part-four\/","description":"Case study by REA Group","pubDate":"Thu, 11 Jul 2024 00:00:00 GMT"},{"title":"Introducing Argonaut \u2013 Part Five. Resilience","link":"https:\/\/www.rea-group.com\/about-us\/news-and-insights\/blog\/introducing-argonaut-part-five\/","guid":"https:\/\/www.rea-group.com\/about-us\/news-and-insights\/blog\/introducing-argonaut-part-five\/","description":"Case study by REA Group","pubDate":"Thu, 11 Jul 2024 00:00:01 GMT"},{"title":"Introducing Argonaut: Part Six. Reflections","link":"https:\/\/www.rea-group.com\/about-us\/news-and-insights\/blog\/introducing-argonaut-part-six\/","guid":"https:\/\/www.rea-group.com\/about-us\/news-and-insights\/blog\/introducing-argonaut-part-six\/","description":"Case study by REA Group","pubDate":"Thu, 11 Jul 2024 00:00:02 GMT"},{"title":"Introducing Argonaut: Part Seven. The future","link":"https:\/\/www.rea-group.com\/about-us\/news-and-insights\/blog\/introducing-argonaut-part-seven\/","guid":"https:\/\/www.rea-group.com\/about-us\/news-and-insights\/blog\/introducing-argonaut-part-seven\/","description":"Case study by REA Group","pubDate":"Thu, 11 Jul 2024 00:00:03 GMT"},{"title":"Refactoring 30000 lines of JS with types","link":"https:\/\/www.reaktor.com\/blog\/refactoring-30000-lines-js-types\/","guid":"https:\/\/www.reaktor.com\/blog\/refactoring-30000-lines-js-types\/","description":"Case study by Reaktor","pubDate":"Tue, 24 Jan 2017 00:00:00 GMT"},{"title":"How We Built r\/Place","link":"https:\/\/redditinc.com\/blog\/how-we-built-rplace","guid":"https:\/\/redditinc.com\/blog\/how-we-built-rplace","description":"Case study by Reddit","pubDate":"Thu, 13 Apr 2017 00:00:00 GMT"},{"title":"Why We Chose Typescript","link":"https:\/\/web.archive.org\/web\/20210303213659\/https:\/\/redditblog.com\/2017\/06\/30\/why-we-chose-typescript\/\/","guid":"https:\/\/web.archive.org\/web\/20210303213659\/https:\/\/redditblog.com\/2017\/06\/30\/why-we-chose-typescript\/\/","description":"Case study by Reddit","pubDate":"Fri, 30 Jun 2017 00:00:00 GMT"},{"title":"Angular The Hard Way #1 Organise and manage domain data","link":"https:\/\/web.archive.org\/web\/20200117171244\/http:\/\/geeks.redmart.com\/2015\/04\/22\/angular-the-hard-way-1\/","guid":"https:\/\/web.archive.org\/web\/20200117171244\/http:\/\/geeks.redmart.com\/2015\/04\/22\/angular-the-hard-way-1\/","description":"Case study by Redmart","pubDate":"Wed, 22 Apr 2015 00:00:00 GMT"},{"title":"RedMart's experience with PWA","link":"https:\/\/medium.com\/redmart-engineering\/redmarts-experience-with-pwa-6dfbbb482912","guid":"https:\/\/medium.com\/redmart-engineering\/redmarts-experience-with-pwa-6dfbbb482912","description":"Case study by Redmart","pubDate":"Thu, 25 Oct 2018 00:00:00 GMT"},{"title":"How we use Storybook for documentation and code reviews","link":"https:\/\/medium.com\/redmart-engineering\/how-we-use-storybook-for-documentation-and-code-reviews-550a522543f1","guid":"https:\/\/medium.com\/redmart-engineering\/how-we-use-storybook-for-documentation-and-code-reviews-550a522543f1","description":"Case study by Redmart","pubDate":"Wed, 14 Nov 2018 00:00:00 GMT"},{"title":"Infinite Loops","link":"https:\/\/repl.it\/site\/blog\/infinite-loops","guid":"https:\/\/repl.it\/site\/blog\/infinite-loops","description":"Case study by repl.it","pubDate":"Mon, 23 Jan 2017 00:00:00 GMT"},{"title":"Modular, fast, small: how we built a server-rendered IDE","link":"https:\/\/repl.it\/site\/blog\/ide","guid":"https:\/\/repl.it\/site\/blog\/ide","description":"Case study by repl.it","pubDate":"Wed, 14 Feb 2018 00:00:00 GMT"},{"title":"How we learned to stop worrying and love GraphQL","link":"https:\/\/medium.com\/revolut\/how-we-learned-to-stop-worrying-and-love-graphql-80a5f83f36d9","guid":"https:\/\/medium.com\/revolut\/how-we-learned-to-stop-worrying-and-love-graphql-80a5f83f36d9","description":"Case study by Revolut","pubDate":"Thu, 08 Aug 2019 00:00:00 GMT"},{"title":"The fundamentals of web development at Revolut","link":"https:\/\/medium.com\/revolut\/the-fundamentals-of-web-development-at-revolut-bb5e2888e84f","guid":"https:\/\/medium.com\/revolut\/the-fundamentals-of-web-development-at-revolut-bb5e2888e84f","description":"Case study by Revolut","pubDate":"Mon, 04 Jan 2021 00:00:00 GMT"},{"title":"Canvas-based JavaScript Blur detection","link":"https:\/\/medium.com\/revolut\/canvas-based-javascript-blur-detection-b92ab1075acf","guid":"https:\/\/medium.com\/revolut\/canvas-based-javascript-blur-detection-b92ab1075acf","description":"Case study by Revolut","pubDate":"Mon, 22 Jan 2024 00:00:00 GMT"},{"title":"Building the Web that Moves Money: inside Web engineering at Revolut","link":"https:\/\/medium.com\/revolut\/building-the-web-that-moves-money-inside-web-engineering-at-revolut-3dd4fb78fbfa","guid":"https:\/\/medium.com\/revolut\/building-the-web-that-moves-money-inside-web-engineering-at-revolut-3dd4fb78fbfa","description":"Case study by Revolut","pubDate":"Thu, 16 Oct 2025 00:00:00 GMT"},{"title":"Elm In Production: 25,000 Lines Later","link":"https:\/\/charukiewi.cz\/posts\/elm\/","guid":"https:\/\/charukiewi.cz\/posts\/elm\/","description":"Case study by Roompact","pubDate":"Sun, 30 Jul 2017 00:00:00 GMT"},{"title":"Why we moved our graphQL server from Node.js to Golang","link":"https:\/\/medium.com\/safetycultureengineering\/why-we-moved-our-graphql-server-from-node-js-to-golang-645b00571535","guid":"https:\/\/medium.com\/safetycultureengineering\/why-we-moved-our-graphql-server-from-node-js-to-golang-645b00571535","description":"Case study by Safety Culture","pubDate":"Wed, 27 Jun 2018 00:00:00 GMT"},{"title":"Porting Scratch from Flash to JavaScript: Performance, Interoperability and Extensions","link":"https:\/\/bocoup.com\/blog\/porting-scratch-from-flash-to-javascript-performance-interoperability-and-extensions","guid":"https:\/\/bocoup.com\/blog\/porting-scratch-from-flash-to-javascript-performance-interoperability-and-extensions","description":"Case study by Scratch","pubDate":"Thu, 28 Feb 2019 00:00:00 GMT"},{"title":"Building Sentry: Source maps and their problems","link":"https:\/\/sentry.engineering\/blog\/building-sentry-source-maps-and-their-problems","guid":"https:\/\/sentry.engineering\/blog\/building-sentry-source-maps-and-their-problems","description":"Case study by Sentry","pubDate":"Tue, 16 Jul 2019 00:00:00 GMT"},{"title":"Slow and Steady: Converting Sentry\u2019s Entire Frontend to TypeScript","link":"https:\/\/sentry.engineering\/blog\/slow-and-steady-converting-sentrys-entire-frontend-to-typescript","guid":"https:\/\/sentry.engineering\/blog\/slow-and-steady-converting-sentrys-entire-frontend-to-typescript","description":"Case study by Sentry","pubDate":"Mon, 12 Apr 2021 00:00:00 GMT"},{"title":"How we trimmed the Sentry JavaScript SDK file size by 20%","link":"https:\/\/sentry.engineering\/blog\/js-browser-sdk-bundle-size-matters","guid":"https:\/\/sentry.engineering\/blog\/js-browser-sdk-bundle-size-matters","description":"Case study by Sentry","pubDate":"Mon, 28 Feb 2022 00:00:00 GMT"},{"title":"JavaScript SDK \u201cPackage Size is Massive\u201d - So we reduced it by 29%","link":"https:\/\/blog.sentry.io\/2022\/07\/19\/javascript-sdk-package-reduced","guid":"https:\/\/blog.sentry.io\/2022\/07\/19\/javascript-sdk-package-reduced","description":"Case study by Sentry","pubDate":"Tue, 19 Jul 2022 00:00:00 GMT"},{"title":"Understanding the Performance Impact of Generated JavaScript","link":"https:\/\/sentry.engineering\/blog\/understanding-the-performance-impact-of-generated-javascript","guid":"https:\/\/sentry.engineering\/blog\/understanding-the-performance-impact-of-generated-javascript","description":"Case study by Sentry","pubDate":"Fri, 22 Jul 2022 00:00:00 GMT"},{"title":"How We Made JavaScript Stack Traces Awesome","link":"https:\/\/sentry.engineering\/blog\/how-we-made-javascript-stack-traces-awesome","guid":"https:\/\/sentry.engineering\/blog\/how-we-made-javascript-stack-traces-awesome","description":"Case study by Sentry","pubDate":"Wed, 30 Nov 2022 00:00:00 GMT"},{"title":"Sentry\u2019s Frontend Tests: Migrating from Enzyme to React Testing Library","link":"https:\/\/sentry.engineering\/blog\/sentrys-frontend-tests-migrating-from-enzyme-to-react-testing-library","guid":"https:\/\/sentry.engineering\/blog\/sentrys-frontend-tests-migrating-from-enzyme-to-react-testing-library","description":"Case study by Sentry","pubDate":"Thu, 23 Feb 2023 00:00:00 GMT"},{"title":"How we reduced CI time by 35% with Nx Caching","link":"https:\/\/sentry.engineering\/blog\/reduce-ci-time-with-nx-caching","guid":"https:\/\/sentry.engineering\/blog\/reduce-ci-time-with-nx-caching","description":"Case study by Sentry","pubDate":"Fri, 31 Mar 2023 00:00:00 GMT"},{"title":"Measuring Session Replay Overhead","link":"https:\/\/sentry.engineering\/blog\/measuring-session-replay-overhead","guid":"https:\/\/sentry.engineering\/blog\/measuring-session-replay-overhead","description":"Case study by Sentry","pubDate":"Wed, 05 Jul 2023 00:00:00 GMT"},{"title":"How We Reduced Replay SDK Bundle Size by 35%","link":"https:\/\/sentry.engineering\/blog\/session-replay-sdk-bundle-size-optimizations","guid":"https:\/\/sentry.engineering\/blog\/session-replay-sdk-bundle-size-optimizations","description":"Case study by Sentry","pubDate":"Tue, 14 Nov 2023 00:00:00 GMT"},{"title":"Mutation-testing our JavaScript SDKs","link":"https:\/\/sentry.engineering\/blog\/js-mutation-testing-our-sdks","guid":"https:\/\/sentry.engineering\/blog\/js-mutation-testing-our-sdks","description":"Case study by Sentry","pubDate":"Fri, 23 Aug 2024 00:00:00 GMT"},{"title":"Preact or Svelte? An Embedded Widget Use Case","link":"https:\/\/sentry.engineering\/blog\/preact-or-svelte-an-embedded-widget-use-case","guid":"https:\/\/sentry.engineering\/blog\/preact-or-svelte-an-embedded-widget-use-case","description":"Case study by Sentry","pubDate":"Fri, 06 Sep 2024 00:00:00 GMT"},{"title":"Perfectly Fitting Text to Container in React","link":"https:\/\/sentry.engineering\/blog\/perfectly-fitting-text-to-container-in-react","guid":"https:\/\/sentry.engineering\/blog\/perfectly-fitting-text-to-container-in-react","description":"Case study by Sentry","pubDate":"Fri, 18 Oct 2024 00:00:00 GMT"},{"title":"Better Code Rendering Through Virtualization","link":"https:\/\/sentry.engineering\/blog\/better-code-rendering-through-virtualization","guid":"https:\/\/sentry.engineering\/blog\/better-code-rendering-through-virtualization","description":"Case study by Sentry","pubDate":"Tue, 03 Dec 2024 00:00:00 GMT"},{"title":"Formatting SQL in the Browser Using PEG","link":"https:\/\/sentry.engineering\/blog\/formatting-sql-on-the-frontend","guid":"https:\/\/sentry.engineering\/blog\/formatting-sql-on-the-frontend","description":"Case study by Sentry","pubDate":"Tue, 08 Apr 2025 00:00:00 GMT"},{"title":"Building a Product Tour in React","link":"https:\/\/sentry.engineering\/blog\/building-a-product-tour-in-react","guid":"https:\/\/sentry.engineering\/blog\/building-a-product-tour-in-react","description":"Case study by Sentry","pubDate":"Fri, 11 Apr 2025 00:00:00 GMT"},{"title":"How 17 lines of code improved shopify.com loading by 50%","link":"https:\/\/shopify.engineering\/how-17-lines-of-code-improved-shopify-com-loading-by-50","guid":"https:\/\/shopify.engineering\/how-17-lines-of-code-improved-shopify-com-loading-by-50","description":"Case study by Shopify","pubDate":"Wed, 24 May 2017 00:00:00 GMT"},{"title":"Building Shopify mobile with native and web technology","link":"https:\/\/shopify.engineering\/building-shopify-mobile-with-native-and-web-technology","guid":"https:\/\/shopify.engineering\/building-shopify-mobile-with-native-and-web-technology","description":"Case study by Shopify","pubDate":"Fri, 29 Sep 2017 00:00:00 GMT"},{"title":"Designing a GraphQL API","link":"https:\/\/gist.github.com\/swalkinshaw\/3a33e2d292b60e68fcebe12b62bbb3e2","guid":"https:\/\/gist.github.com\/swalkinshaw\/3a33e2d292b60e68fcebe12b62bbb3e2","description":"Case study by Shopify","pubDate":"Mon, 18 Jun 2018 00:00:00 GMT"},{"title":"Want to Improve UI Performance? Start by Understanding Your User","link":"https:\/\/shopify.engineering\/improve-ui-performance-understanding-your-user","guid":"https:\/\/shopify.engineering\/improve-ui-performance-understanding-your-user","description":"Case study by Shopify","pubDate":"Sun, 20 Oct 2019 00:00:00 GMT"},{"title":"How We Built Hydrogen: A React Framework for Building Custom Storefronts","link":"https:\/\/shopify.engineering\/how-we-built-hydrogen","guid":"https:\/\/shopify.engineering\/how-we-built-hydrogen","description":"Case study by Shopify","pubDate":"Wed, 22 Jun 2022 00:00:00 GMT"},{"title":"Lessons From Linguistics: i18n Best Practices for Front-End Developers","link":"https:\/\/shopify.engineering\/internationalization-i18n-best-practices-front-end-developers","guid":"https:\/\/shopify.engineering\/internationalization-i18n-best-practices-front-end-developers","description":"Case study by Shopify","pubDate":"Thu, 16 Mar 2023 00:00:00 GMT"},{"title":"Supporting Passkeys in Shop's Authentication Flows","link":"https:\/\/shopify.engineering\/supporting-passkeys-in-shop-authentication-flows","guid":"https:\/\/shopify.engineering\/supporting-passkeys-in-shop-authentication-flows","description":"Case study by Shopify","pubDate":"Fri, 24 Mar 2023 00:00:00 GMT"},{"title":"How Migrating from Vanilla Redux to Redux Toolkit Improved State Management in Shopify POS","link":"https:\/\/shopify.engineering\/react-redux-toolkit-migration","guid":"https:\/\/shopify.engineering\/react-redux-toolkit-migration","description":"Case study by Shopify","pubDate":"Fri, 31 Mar 2023 00:00:00 GMT"},{"title":"Building a ShopifyQL Code Editor","link":"https:\/\/shopify.engineering\/building-a-shopifyql-code-editor","guid":"https:\/\/shopify.engineering\/building-a-shopifyql-code-editor","description":"Case study by Shopify","pubDate":"Mon, 11 Sep 2023 00:00:00 GMT"},{"title":"Shipping support for module script integrity in Chrome & Safari","link":"https:\/\/shopify.engineering\/shipping-support-for-module-script-integrity-in-chrome-safari","guid":"https:\/\/shopify.engineering\/shipping-support-for-module-script-integrity-in-chrome-safari","description":"Case study by Shopify","pubDate":"Fri, 02 Aug 2024 00:00:00 GMT"},{"title":"Mobile Bridge: Making WebViews Feel Native","link":"https:\/\/shopify.engineering\/mobilebridge-native-webviews","guid":"https:\/\/shopify.engineering\/mobilebridge-native-webviews","description":"Case study by Shopify","pubDate":"Fri, 25 Apr 2025 00:00:00 GMT"},{"title":"Resilient Import Maps - Better Theme Development and Beyond","link":"https:\/\/shopify.engineering\/resilient-import-maps","guid":"https:\/\/shopify.engineering\/resilient-import-maps","description":"Case study by Shopify","pubDate":"Wed, 28 May 2025 00:00:00 GMT"},{"title":"Remixing Shopify's Admin: How We Made It 30% Faster and AI-Ready","link":"https:\/\/shopify.engineering\/remixing-admin","guid":"https:\/\/shopify.engineering\/remixing-admin","description":"Case study by Shopify","pubDate":"Mon, 30 Jun 2025 00:00:00 GMT"},{"title":"How We Ditched Redux for MobX","link":"https:\/\/medium.com\/skillshare-team\/how-we-ditched-redux-for-mobx-a05442279a2b","guid":"https:\/\/medium.com\/skillshare-team\/how-we-ditched-redux-for-mobx-a05442279a2b","description":"Case study by Skillshare","pubDate":"Mon, 02 Jul 2018 00:00:00 GMT"},{"title":"Build better software to build software better","link":"https:\/\/slack.engineering\/build-better-software-to-build-software-better\/","guid":"https:\/\/slack.engineering\/build-better-software-to-build-software-better\/","description":"Case study by Slack","pubDate":"Thu, 06 Nov 2025 00:00:00 GMT"},{"title":"Optimizing Our E2E Pipeline","link":"https:\/\/slack.engineering\/speedup-e2e-testing\/","guid":"https:\/\/slack.engineering\/speedup-e2e-testing\/","description":"Case study by Slack","pubDate":"Mon, 14 Apr 2025 00:00:00 GMT"},{"title":"Reducing Slack's memory footprint","link":"https:\/\/slack.engineering\/reducing-slacks-memory-footprint-4480fec7e8eb","guid":"https:\/\/slack.engineering\/reducing-slacks-memory-footprint-4480fec7e8eb","description":"Case study by Slack","pubDate":"Fri, 03 Mar 2017 00:00:00 GMT"},{"title":"TypeScript at Slack","link":"https:\/\/slack.engineering\/typescript-at-slack-a81307fa288d","guid":"https:\/\/slack.engineering\/typescript-at-slack-a81307fa288d","description":"Case study by Slack","pubDate":"Tue, 11 Apr 2017 00:00:00 GMT"},{"title":"Rebuilding Slack\u2019s Emoji Picker in React","link":"https:\/\/slack.engineering\/rebuilding-slacks-emoji-picker-in-react-bfbd8ce6fbfe","guid":"https:\/\/slack.engineering\/rebuilding-slacks-emoji-picker-in-react-bfbd8ce6fbfe","description":"Case study by Slack","pubDate":"Tue, 23 May 2017 00:00:00 GMT"},{"title":"Getting to Slack faster with incremental boot","link":"https:\/\/slack.engineering\/getting-to-slack-faster-with-incremental-boot-ff063c9222e4","guid":"https:\/\/slack.engineering\/getting-to-slack-faster-with-incremental-boot-ff063c9222e4","description":"Case study by Slack","pubDate":"Tue, 05 Jul 2016 00:00:00 GMT"},{"title":"Localizing Slack","link":"https:\/\/slack.engineering\/localizing-slack-680c4bc7f45a","guid":"https:\/\/slack.engineering\/localizing-slack-680c4bc7f45a","description":"Case study by Slack","pubDate":"Tue, 12 Sep 2017 00:00:00 GMT"},{"title":"Rebuilding slack.com","link":"https:\/\/slack.engineering\/rebuilding-slack-com-b124c405c193","guid":"https:\/\/slack.engineering\/rebuilding-slack-com-b124c405c193","description":"Case study by Slack","pubDate":"Wed, 11 Oct 2017 00:00:00 GMT"},{"title":"Keep webpack Fast: A Field Guide for Better Build Performance","link":"https:\/\/slack.engineering\/keep-webpack-fast-a-field-guide-for-better-build-performance-f56a5995e8f1","guid":"https:\/\/slack.engineering\/keep-webpack-fast-a-field-guide-for-better-build-performance-f56a5995e8f1","description":"Case study by Slack","pubDate":"Wed, 17 Jan 2018 00:00:00 GMT"},{"title":"When a rewrite isn\u2019t: rebuilding Slack on the desktop","link":"https:\/\/slack.engineering\/rebuilding-slack-on-the-desktop-308d6fe94ae4","guid":"https:\/\/slack.engineering\/rebuilding-slack-on-the-desktop-308d6fe94ae4","description":"Case study by Slack","pubDate":"Mon, 22 Jul 2019 00:00:00 GMT"},{"title":"Service Workers at Slack: Our Quest for Faster Boot Times and Offline Support","link":"https:\/\/slack.engineering\/service-workers-at-slack-our-quest-for-faster-boot-times-and-offline-support-3492cf79c88","guid":"https:\/\/slack.engineering\/service-workers-at-slack-our-quest-for-faster-boot-times-and-offline-support-3492cf79c88","description":"Case study by Slack","pubDate":"Thu, 29 Aug 2019 00:00:00 GMT"},{"title":"The Gradual Design System: How We Built Slack Kit","link":"https:\/\/slack.engineering\/the-gradual-design-system-how-we-built-slack-kit-8a2830484259","guid":"https:\/\/slack.engineering\/the-gradual-design-system-how-we-built-slack-kit-8a2830484259","description":"Case study by Slack","pubDate":"Thu, 12 Sep 2019 00:00:00 GMT"},{"title":"Building Dark Mode on Desktop","link":"https:\/\/slack.engineering\/building-dark-mode-on-desktop-811508b5d15f","guid":"https:\/\/slack.engineering\/building-dark-mode-on-desktop-811508b5d15f","description":"Case study by Slack","pubDate":"Tue, 24 Sep 2019 00:00:00 GMT"},{"title":"Gantry: Slack\u2019s Fast-booting Frontend Framework","link":"https:\/\/slack.engineering\/gantry-slacks-fast-booting-frontend-framework-fb70c8eed2fd","guid":"https:\/\/slack.engineering\/gantry-slacks-fast-booting-frontend-framework-fb70c8eed2fd","description":"Case study by Slack","pubDate":"Wed, 23 Oct 2019 00:00:00 GMT"},{"title":"A Day in the Life of a Frontend Product Engineer at Slack","link":"https:\/\/slack.engineering\/a-day-in-the-life-of-a-frontend-product-engineer-at-slack-27375455cfaa","guid":"https:\/\/slack.engineering\/a-day-in-the-life-of-a-frontend-product-engineer-at-slack-27375455cfaa","description":"Case study by Slack","pubDate":"Wed, 05 Feb 2020 00:00:00 GMT"},{"title":"How Slack changed the way it designs accessible frontend components","link":"https:\/\/increment.com\/frontend\/case-study-web-components-for-screen-readers\/","guid":"https:\/\/increment.com\/frontend\/case-study-web-components-for-screen-readers\/","description":"Case study by Slack","pubDate":"Fri, 01 May 2020 00:00:00 GMT"},{"title":"The Unsuspecting Beauty & Complexity of Web Forms","link":"https:\/\/slack.engineering\/the-unsuspecting-beauty-complexity-of-web-forms\/","guid":"https:\/\/slack.engineering\/the-unsuspecting-beauty-complexity-of-web-forms\/","description":"Case study by Slack","pubDate":"Tue, 15 Sep 2020 00:00:00 GMT"},{"title":"Creating a React Analytics Logging Library: Part 1","link":"https:\/\/slack.engineering\/creating-a-react-analytics-logging-library\/","guid":"https:\/\/slack.engineering\/creating-a-react-analytics-logging-library\/","description":"Case study by Slack","pubDate":"Sat, 07 Nov 2020 00:00:00 GMT"},{"title":"Creating a React Analytics Logging Library: Part 2","link":"https:\/\/slack.engineering\/creating-a-react-analytics-logging-library-2\/","guid":"https:\/\/slack.engineering\/creating-a-react-analytics-logging-library-2\/","description":"Case study by Slack","pubDate":"Wed, 16 Dec 2020 00:00:00 GMT"},{"title":"Managing Focus Transitions in Slack","link":"https:\/\/slack.engineering\/managing-focus-transitions-in-slack","guid":"https:\/\/slack.engineering\/managing-focus-transitions-in-slack","description":"Case study by Slack","pubDate":"Tue, 13 Jul 2021 00:00:00 GMT"},{"title":"Balancing Old Tricks with New Feats: AI-Powered Conversion From Enzyme to React Testing Library at Slack","link":"https:\/\/slack.engineering\/balancing-old-tricks-with-new-feats-ai-powered-conversion-from-enzyme-to-react-testing-library-at-slack\/","guid":"https:\/\/slack.engineering\/balancing-old-tricks-with-new-feats-ai-powered-conversion-from-enzyme-to-react-testing-library-at-slack\/","description":"Case study by Slack","pubDate":"Thu, 03 Oct 2024 00:00:00 GMT"},{"title":"Building Custom Animations in the Workflow Builder","link":"https:\/\/slack.engineering\/building-custom-animations-in-the-workflow-builder\/","guid":"https:\/\/slack.engineering\/building-custom-animations-in-the-workflow-builder\/","description":"Case study by Slack","pubDate":"Tue, 05 Dec 2023 00:00:00 GMT"},{"title":"Building Background Effects for Clips","link":"https:\/\/slack.engineering\/building-background-effects-for-clips\/","guid":"https:\/\/slack.engineering\/building-background-effects-for-clips\/","description":"Case study by Slack","pubDate":"Tue, 07 Jun 2022 00:00:00 GMT"},{"title":"Automated Accessibility Testing at Slack","link":"https:\/\/slack.engineering\/automated-accessibility-testing-at-slack\/","guid":"https:\/\/slack.engineering\/automated-accessibility-testing-at-slack\/","description":"Case study by Slack","pubDate":"Wed, 08 Jan 2025 00:00:00 GMT"},{"title":"The Story of our Progressive Migration from Backbone to Vue.js","link":"https:\/\/snipcart.com\/blog\/progressive-migration-backbone-vuejs-refactoring","guid":"https:\/\/snipcart.com\/blog\/progressive-migration-backbone-vuejs-refactoring","description":"Case study by Snipcart","pubDate":"Thu, 20 Jul 2017 00:00:00 GMT"},{"title":"Front-end JavaScript bug tracking","link":"https:\/\/developers.soundcloud.com\/blog\/front-end-javascript-bug-tracking","guid":"https:\/\/developers.soundcloud.com\/blog\/front-end-javascript-bug-tracking","description":"Case study by SoundCloud","pubDate":"Mon, 21 Nov 2011 00:00:00 GMT"},{"title":"Building The Next SoundCloud","link":"https:\/\/developers.soundcloud.com\/blog\/building-the-next-soundcloud","guid":"https:\/\/developers.soundcloud.com\/blog\/building-the-next-soundcloud","description":"Case study by SoundCloud","pubDate":"Thu, 14 Jun 2012 00:00:00 GMT"},{"title":"Smooth image loading by upscaling","link":"https:\/\/developers.soundcloud.com\/blog\/smooth-image-loading-by-upscaling","guid":"https:\/\/developers.soundcloud.com\/blog\/smooth-image-loading-by-upscaling","description":"Case study by SoundCloud","pubDate":"Thu, 20 Feb 2014 00:00:00 GMT"},{"title":"React Native at SoundCloud","link":"https:\/\/developers.soundcloud.com\/blog\/react-native-at-soundcloud","guid":"https:\/\/developers.soundcloud.com\/blog\/react-native-at-soundcloud","description":"Case study by SoundCloud","pubDate":"Wed, 03 Aug 2016 00:00:00 GMT"},{"title":"Garbage Collection in Redux Applications","link":"https:\/\/developers.soundcloud.com\/blog\/garbage-collection-in-redux-applications","guid":"https:\/\/developers.soundcloud.com\/blog\/garbage-collection-in-redux-applications","description":"Case study by SoundCloud","pubDate":"Thu, 24 Jan 2019 00:00:00 GMT"},{"title":"Playback on Web at SoundCloud","link":"https:\/\/developers.soundcloud.com\/blog\/playback-on-web-at-soundcloud","guid":"https:\/\/developers.soundcloud.com\/blog\/playback-on-web-at-soundcloud","description":"Case study by SoundCloud","pubDate":"Fri, 03 May 2019 00:00:00 GMT"},{"title":"Open Sourcing Intervene","link":"https:\/\/developers.soundcloud.com\/blog\/open-sourcing-intervene","guid":"https:\/\/developers.soundcloud.com\/blog\/open-sourcing-intervene","description":"Case study by SoundCloud","pubDate":"Tue, 05 May 2020 00:00:00 GMT"},{"title":"Tech Choices I Regret at Spectrum","link":"https:\/\/mxstbr.com\/thoughts\/tech-choice-regrets-at-spectrum\/","guid":"https:\/\/mxstbr.com\/thoughts\/tech-choice-regrets-at-spectrum\/","description":"Case study by Spectrum","pubDate":"Wed, 16 Jan 2019 00:00:00 GMT"},{"title":"Spotify Wrapped 2018\u200a\u2014\u200aTechnical Case Study","link":"https:\/\/medium.com\/@activetheory\/spotify-wrapped-2018-technical-case-study-5b7cfb7e9d3a","guid":"https:\/\/medium.com\/@activetheory\/spotify-wrapped-2018-technical-case-study-5b7cfb7e9d3a","description":"Case study by Spotify","pubDate":"Tue, 18 Dec 2018 00:00:00 GMT"},{"title":"Building Spotify\u2019s New Web Player","link":"https:\/\/engineering.atspotify.com\/2019\/03\/building-spotifys-new-web-player\/","guid":"https:\/\/engineering.atspotify.com\/2019\/03\/building-spotifys-new-web-player\/","description":"Case study by Spotify","pubDate":"Mon, 25 Mar 2019 00:00:00 GMT"},{"title":"(Right to Left (The Mirror World","link":"https:\/\/engineering.atspotify.com\/2019\/04\/right-to-left-the-mirror-world\/","guid":"https:\/\/engineering.atspotify.com\/2019\/04\/right-to-left-the-mirror-world\/","description":"Case study by Spotify","pubDate":"Mon, 15 Apr 2019 00:00:00 GMT"},{"title":"web-scripts \u2013 creating NPM libraries in a snap at Spotify","link":"https:\/\/engineering.atspotify.com\/2019\/07\/web-scripts-creating-npm-libraries-in-a-snap-at-spotify\/","guid":"https:\/\/engineering.atspotify.com\/2019\/07\/web-scripts-creating-npm-libraries-in-a-snap-at-spotify\/","description":"Case study by Spotify","pubDate":"Wed, 03 Jul 2019 00:00:00 GMT"},{"title":"Reimagining Design Systems at Spotify","link":"https:\/\/spotify.design\/article\/reimagining-design-systems-at-spotify","guid":"https:\/\/spotify.design\/article\/reimagining-design-systems-at-spotify","description":"Case study by Spotify","pubDate":"Mon, 16 Dec 2019 00:00:00 GMT"},{"title":"Techbytes: TypeScript \u2013 from \u201cAssess\u201d to \u201cUse\u201d","link":"https:\/\/engineering.atspotify.com\/2019\/09\/techbytes-typescript-from-assess-to-use\/","guid":"https:\/\/engineering.atspotify.com\/2019\/09\/techbytes-typescript-from-assess-to-use\/","description":"Case study by Spotify","pubDate":"Thu, 26 Sep 2019 00:00:00 GMT"},{"title":"Building the Future of Our Desktop Apps","link":"https:\/\/engineering.atspotify.com\/2021\/04\/building-the-future-of-our-desktop-apps\/","guid":"https:\/\/engineering.atspotify.com\/2021\/04\/building-the-future-of-our-desktop-apps\/","description":"Case study by Spotify","pubDate":"Wed, 07 Apr 2021 00:00:00 GMT"},{"title":"Customization vs. Configuration in Evolving Design Systems","link":"https:\/\/engineering.atspotify.com\/2021\/04\/customization-vs-configuration-in-evolving-design-systems\/","guid":"https:\/\/engineering.atspotify.com\/2021\/04\/customization-vs-configuration-in-evolving-design-systems\/","description":"Case study by Spotify","pubDate":"Wed, 28 Apr 2021 00:00:00 GMT"},{"title":"From Development to Real Users: How to Create a Web Performance Story","link":"https:\/\/engineering.atspotify.com\/2022\/09\/from-development-to-real-users-how-to-create-a-web-performance-story\/","guid":"https:\/\/engineering.atspotify.com\/2022\/09\/from-development-to-real-users-how-to-create-a-web-performance-story\/","description":"Case study by Spotify","pubDate":"Thu, 29 Sep 2022 00:00:00 GMT"},{"title":"Encore x Accessibility: A Balancing Act","link":"https:\/\/engineering.atspotify.com\/2023\/03\/encore-x-accessibility-a-balancing-act\/","guid":"https:\/\/engineering.atspotify.com\/2023\/03\/encore-x-accessibility-a-balancing-act\/","description":"Case study by Spotify","pubDate":"Wed, 15 Mar 2023 00:00:00 GMT"},{"title":"TV Spatial Navigation","link":"https:\/\/engineering.atspotify.com\/2023\/05\/tv-spatial-navigation\/","guid":"https:\/\/engineering.atspotify.com\/2023\/05\/tv-spatial-navigation\/","description":"Case study by Spotify","pubDate":"Wed, 10 May 2023 00:00:00 GMT"},{"title":"Multiple Layers of Abstraction in Design Systems","link":"https:\/\/engineering.atspotify.com\/2023\/05\/multiple-layers-of-abstraction-in-design-systems\/","guid":"https:\/\/engineering.atspotify.com\/2023\/05\/multiple-layers-of-abstraction-in-design-systems\/","description":"Case study by Spotify","pubDate":"Thu, 25 May 2023 00:00:00 GMT"},{"title":"HTTPS on Stack Overflow: The End of a Long Road","link":"https:\/\/nickcraver.com\/blog\/2017\/05\/22\/https-on-stack-overflow","guid":"https:\/\/nickcraver.com\/blog\/2017\/05\/22\/https-on-stack-overflow","description":"Case study by Stack Overflow","pubDate":"Mon, 22 May 2017 00:00:00 GMT"},{"title":"Building dark mode on Stack Overflow","link":"https:\/\/stackoverflow.blog\/2020\/03\/31\/building-dark-mode-on-stack-overflow\/","guid":"https:\/\/stackoverflow.blog\/2020\/03\/31\/building-dark-mode-on-stack-overflow\/","description":"Case study by Stack Overflow","pubDate":"Tue, 31 Mar 2020 00:00:00 GMT"},{"title":"Connect: behind the front-end experience","link":"https:\/\/stripe.com\/blog\/connect-front-end-experience","guid":"https:\/\/stripe.com\/blog\/connect-front-end-experience","description":"Case study by stripe","pubDate":"Mon, 19 Jun 2017 00:00:00 GMT"},{"title":"A new approach to mocking GraphQL data: how we power React component tests and examples at Stripe","link":"https:\/\/medium.freecodecamp.org\/a-new-approach-to-mocking-graphql-data-1ef49de3d491","guid":"https:\/\/medium.freecodecamp.org\/a-new-approach-to-mocking-graphql-data-1ef49de3d491","description":"Case study by stripe","pubDate":"Tue, 11 Dec 2018 00:00:00 GMT"},{"title":"Designing accessible color systems","link":"https:\/\/stripe.com\/en-pt\/blog\/accessible-color-systems","guid":"https:\/\/stripe.com\/en-pt\/blog\/accessible-color-systems","description":"Case study by stripe","pubDate":"Tue, 15 Oct 2019 00:00:00 GMT"},{"title":"To design and develop an interactive globe","link":"https:\/\/stripe.com\/blog\/globe","guid":"https:\/\/stripe.com\/blog\/globe","description":"Case study by stripe","pubDate":"Tue, 01 Sep 2020 00:00:00 GMT"},{"title":"Migrating millions of lines of code to TypeScript","link":"https:\/\/stripe.com\/blog\/migrating-to-typescript","guid":"https:\/\/stripe.com\/blog\/migrating-to-typescript","description":"Case study by stripe","pubDate":"Fri, 20 May 2022 00:00:00 GMT"},{"title":"How Stripe builds interactive docs with Markdoc","link":"https:\/\/stripe.com\/blog\/markdoc","guid":"https:\/\/stripe.com\/blog\/markdoc","description":"Case study by stripe","pubDate":"Tue, 13 Sep 2022 00:00:00 GMT"},{"title":"10 lessons learned building SumUp\u2019s design system","link":"https:\/\/medium.com\/sumup-engineering\/10-lessons-learned-building-sumups-design-system-577af292ae56","guid":"https:\/\/medium.com\/sumup-engineering\/10-lessons-learned-building-sumups-design-system-577af292ae56","description":"Case study by SumUp","pubDate":"Thu, 15 Aug 2019 00:00:00 GMT"},{"title":"How to build a remarkable command palette","link":"https:\/\/blog.superhuman.com\/how-to-build-a-remarkable-command-palette\/","guid":"https:\/\/blog.superhuman.com\/how-to-build-a-remarkable-command-palette\/","description":"Case study by Superhuman","pubDate":"Tue, 12 Oct 2021 00:00:00 GMT"},{"title":"How to eliminate regular expression denial of service","link":"https:\/\/blog.superhuman.com\/how-to-eliminate-regular-expression-denial-of-service\/","guid":"https:\/\/blog.superhuman.com\/how-to-eliminate-regular-expression-denial-of-service\/","description":"Case study by Superhuman","pubDate":"Wed, 19 Feb 2020 00:00:00 GMT"},{"title":"Performance metrics for blazingly fast web apps","link":"https:\/\/blog.superhuman.com\/performance-metrics-for-blazingly-fast-web-apps\/","guid":"https:\/\/blog.superhuman.com\/performance-metrics-for-blazingly-fast-web-apps\/","description":"Case study by Superhuman","pubDate":"Tue, 24 Sep 2019 00:00:00 GMT"},{"title":"Delightful search: more than meets the eye","link":"https:\/\/blog.superhuman.com\/delightful-search-more-than-meets-the-eye-d3fa2e3ef3b6","guid":"https:\/\/blog.superhuman.com\/delightful-search-more-than-meets-the-eye-d3fa2e3ef3b6","description":"Case study by Superhuman","pubDate":"Fri, 05 May 2017 00:00:00 GMT"},{"title":"Why we switched from Yarn to pnpm","link":"https:\/\/www.takeshape.io\/articles\/why-we-switched-from-yarn-to-pnpm\/","guid":"https:\/\/www.takeshape.io\/articles\/why-we-switched-from-yarn-to-pnpm\/","description":"Case study by TakeShape","pubDate":"Tue, 09 Jun 2020 00:00:00 GMT"},{"title":"Heart of dark mode: done, and still in progress","link":"https:\/\/tailscale.com\/blog\/heart-of-dark-mode","guid":"https:\/\/tailscale.com\/blog\/heart-of-dark-mode","description":"Case study by Tailscale","pubDate":"Thu, 29 Aug 2024 00:00:00 GMT"},{"title":"What we learnt from our mistakes in 2016","link":"https:\/\/www.theguardian.com\/info\/developer-blog\/2016\/dec\/18\/what-we-learnt-from-our-mistakes-in-2016","guid":"https:\/\/www.theguardian.com\/info\/developer-blog\/2016\/dec\/18\/what-we-learnt-from-our-mistakes-in-2016","description":"Case study by The Guardian","pubDate":"Sun, 18 Dec 2016 00:00:00 GMT"},{"title":"Revisiting the rendering tier","link":"https:\/\/www.theguardian.com\/info\/2019\/apr\/04\/revisiting-the-rendering-tier","guid":"https:\/\/www.theguardian.com\/info\/2019\/apr\/04\/revisiting-the-rendering-tier","description":"Case study by The Guardian","pubDate":"Thu, 04 Apr 2019 00:00:00 GMT"},{"title":"Migrating the Guardian website to React","link":"https:\/\/www.theguardian.com\/info\/2019\/dec\/08\/migrating-the-guardian-website-to-react","guid":"https:\/\/www.theguardian.com\/info\/2019\/dec\/08\/migrating-the-guardian-website-to-react","description":"Case study by The Guardian","pubDate":"Sun, 08 Dec 2019 00:00:00 GMT"},{"title":"Async Failure handling in Typescript","link":"https:\/\/theguardian.engineering\/blog\/info-2019-dec-22-async-failure-handling-in-typescript.html","guid":"https:\/\/theguardian.engineering\/blog\/info-2019-dec-22-async-failure-handling-in-typescript.html","description":"Case study by The Guardian","pubDate":"Sun, 22 Dec 2019 00:00:00 GMT"},{"title":"How we made Typerighter, the Guardian's style guide checker","link":"https:\/\/theguardian.engineering\/blog\/info-2021-jan-26-how-we-made-typerighter-the-guardians-style-guide-checker.html","guid":"https:\/\/theguardian.engineering\/blog\/info-2021-jan-26-how-we-made-typerighter-the-guardians-style-guide-checker.html","description":"Case study by The Guardian","pubDate":"Tue, 26 Jan 2021 00:00:00 GMT"},{"title":"React islands on theguardian.com","link":"https:\/\/theguardian.engineering\/blog\/info-2022-mar-25-react-islands-on-theguardiancom.html","guid":"https:\/\/theguardian.engineering\/blog\/info-2022-mar-25-react-islands-on-theguardiancom.html","description":"Case study by The Guardian","pubDate":"Fri, 25 Mar 2022 00:00:00 GMT"},{"title":"How we built the Guardian's Tor Onion service","link":"https:\/\/theguardian.engineering\/blog\/info-2022-oct-06-how-we-built-the-guardians-tor-onion-service.html","guid":"https:\/\/theguardian.engineering\/blog\/info-2022-oct-06-how-we-built-the-guardians-tor-onion-service.html","description":"Case study by The Guardian","pubDate":"Thu, 06 Oct 2022 00:00:00 GMT"},{"title":"Making Typerighter work harder","link":"https:\/\/theguardian.engineering\/blog\/info-2023-dec-11-making-typerighter-work-harder-engineering-blog.html","guid":"https:\/\/theguardian.engineering\/blog\/info-2023-dec-11-making-typerighter-work-harder-engineering-blog.html","description":"Case study by The Guardian","pubDate":"Mon, 11 Dec 2023 00:00:00 GMT"},{"title":"Parsing: the merit of strictly typed JSON","link":"https:\/\/theguardian.engineering\/blog\/info-article-2024-jul-26-parsing-the-merit-of-strictly-typed-json.html","guid":"https:\/\/theguardian.engineering\/blog\/info-article-2024-jul-26-parsing-the-merit-of-strictly-typed-json.html","description":"Case study by The Guardian","pubDate":"Fri, 26 Jul 2024 00:00:00 GMT"},{"title":"Rebuilding the Guest List Manager with React + MobX at The Knot","link":"https:\/\/tech.xogrp.com\/rebuilding-the-guest-list-manager-with-react-mobx-at-the-knot-e34e32920571","guid":"https:\/\/tech.xogrp.com\/rebuilding-the-guest-list-manager-with-react-mobx-at-the-knot-e34e32920571","description":"Case study by The Knot Worldwide","pubDate":"Mon, 19 Jun 2017 00:00:00 GMT"},{"title":"React Native @ The Knot","link":"https:\/\/tech.xogrp.com\/react-native-the-knot-ca255494da79","guid":"https:\/\/tech.xogrp.com\/react-native-the-knot-ca255494da79","description":"Case study by The Knot Worldwide","pubDate":"Fri, 08 Feb 2019 00:00:00 GMT"},{"title":"React Native @ The Knot: A Designer\u2019s Perspective","link":"https:\/\/tech.xogrp.com\/react-native-at-the-knot-a-designers-perspective-d3d3fe41ada1","guid":"https:\/\/tech.xogrp.com\/react-native-at-the-knot-a-designers-perspective-d3d3fe41ada1","description":"Case study by The Knot Worldwide","pubDate":"Wed, 13 Feb 2019 00:00:00 GMT"},{"title":"How The New York Times is scaling Unit Test Coverage using AI Tools","link":"https:\/\/open.nytimes.com\/how-the-new-york-times-is-scaling-unit-test-coverage-using-ai-tools-fa796bf9b8d2","guid":"https:\/\/open.nytimes.com\/how-the-new-york-times-is-scaling-unit-test-coverage-using-ai-tools-fa796bf9b8d2","description":"Case study by The New York Times","pubDate":"Tue, 13 Jan 2026 00:00:00 GMT"},{"title":"The Technology Behind the NYTimes.com Redesign","link":"https:\/\/open.nytimes.com\/the-technology-behind-the-nytimes-com-redesign-3d3d3da70b9c","guid":"https:\/\/open.nytimes.com\/the-technology-behind-the-nytimes-com-redesign-3d3d3da70b9c","description":"Case study by The New York Times","pubDate":"Wed, 08 Jan 2014 00:00:00 GMT"},{"title":"Improving Article Accessibility","link":"https:\/\/open.nytimes.com\/improving-article-accessibility-7bca8cf02b34","guid":"https:\/\/open.nytimes.com\/improving-article-accessibility-7bca8cf02b34","description":"Case study by The New York Times","pubDate":"Tue, 24 Jun 2014 00:00:00 GMT"},{"title":"Building a Cross Platform 360-degree Video Experience at nytimes","link":"https:\/\/open.nytimes.com\/building-a-cross-platform-360-degree-video-experience-at-the-new-york-times-c35afa92a2e8","guid":"https:\/\/open.nytimes.com\/building-a-cross-platform-360-degree-video-experience-at-the-new-york-times-c35afa92a2e8","description":"Case study by The New York Times","pubDate":"Fri, 11 Nov 2016 00:00:00 GMT"},{"title":"React, Relay and GraphQL: Under the Hood of The Times Website Redesign","link":"https:\/\/open.nytimes.com\/react-relay-and-graphql-under-the-hood-of-the-times-website-redesign-22fb62ea9764","guid":"https:\/\/open.nytimes.com\/react-relay-and-graphql-under-the-hood-of-the-times-website-redesign-22fb62ea9764","description":"Case study by The New York Times","pubDate":"Fri, 30 Jun 2017 00:00:00 GMT"},{"title":"GraphQL in real life","link":"https:\/\/youtu.be\/HlZ3ZecECOU","guid":"https:\/\/youtu.be\/HlZ3ZecECOU","description":"Case study by The New York Times","pubDate":"Fri, 19 Apr 2019 00:00:00 GMT"},{"title":"How We Implemented a Baseline Grid Using CSS","link":"https:\/\/open.nytimes.com\/how-we-implemented-a-baseline-grid-using-css-cb13cac45201","guid":"https:\/\/open.nytimes.com\/how-we-implemented-a-baseline-grid-using-css-cb13cac45201","description":"Case study by The New York Times","pubDate":"Thu, 21 Nov 2019 00:00:00 GMT"},{"title":"A More Accessible Web","link":"https:\/\/open.nytimes.com\/a-more-accessible-web-fa87592da6d2","guid":"https:\/\/open.nytimes.com\/a-more-accessible-web-fa87592da6d2","description":"Case study by The New York Times","pubDate":"Thu, 25 Feb 2021 00:00:00 GMT"},{"title":"Expanding our Front End Testing Frameworks","link":"https:\/\/open.nytimes.com\/expanding-our-front-end-testing-frameworks-dad1265e98db","guid":"https:\/\/open.nytimes.com\/expanding-our-front-end-testing-frameworks-dad1265e98db","description":"Case study by The New York Times","pubDate":"Tue, 13 Dec 2022 00:00:00 GMT"},{"title":"Enhancing The New York Times Web Performance with React 18","link":"https:\/\/open.nytimes.com\/enhancing-the-new-york-times-web-performance-with-react-18-d6f91a7c5af8","guid":"https:\/\/open.nytimes.com\/enhancing-the-new-york-times-web-performance-with-react-18-d6f91a7c5af8","description":"Case study by The New York Times","pubDate":"Wed, 26 Jun 2024 00:00:00 GMT"},{"title":"How The New York Times systematically migrated from Enzyme into React Testing Library","link":"https:\/\/open.nytimes.com\/how-the-new-york-times-systematically-migrated-from-enzyme-into-react-testing-library-b3ea538d001c","guid":"https:\/\/open.nytimes.com\/how-the-new-york-times-systematically-migrated-from-enzyme-into-react-testing-library-b3ea538d001c","description":"Case study by The New York Times","pubDate":"Mon, 03 Mar 2025 00:00:00 GMT"},{"title":"React Serverside rendering : build slicker apps with better SEO ranking","link":"https:\/\/medium.com\/the-telegraph-engineering\/a-server-side-rendered-react-project-2fc7e75f4c57","guid":"https:\/\/medium.com\/the-telegraph-engineering\/a-server-side-rendered-react-project-2fc7e75f4c57","description":"Case study by The Telegraph","pubDate":"Mon, 10 Sep 2018 00:00:00 GMT"},{"title":"Improving third-party web performance at The Telegraph","link":"https:\/\/medium.com\/the-telegraph-engineering\/improving-third-party-web-performance-at-the-telegraph-a0a1000be5","guid":"https:\/\/medium.com\/the-telegraph-engineering\/improving-third-party-web-performance-at-the-telegraph-a0a1000be5","description":"Case study by The Telegraph","pubDate":"Tue, 30 Apr 2019 00:00:00 GMT"},{"title":"Improving Cumulative Layout Shift at Telegraph Media Group","link":"https:\/\/web.dev\/telegraph","guid":"https:\/\/web.dev\/telegraph","description":"Case study by The Telegraph","pubDate":"Mon, 14 Jun 2021 00:00:00 GMT"},{"title":"Building the UI for the new The Times website","link":"https:\/\/medium.com\/swlh\/building-the-ui-for-the-new-the-times-website-26dc4e6569e","guid":"https:\/\/medium.com\/swlh\/building-the-ui-for-the-new-the-times-website-26dc4e6569e","description":"Case study by The Times & The Sunday Times","pubDate":"Wed, 30 Mar 2016 00:00:00 GMT"},{"title":"Building Forms Faster on Vets.gov","link":"https:\/\/medium.com\/the-u-s-digital-service\/building-forms-faster-on-vets-gov-d8619f4e9db","guid":"https:\/\/medium.com\/the-u-s-digital-service\/building-forms-faster-on-vets-gov-d8619f4e9db","description":"Case study by The U.S. Digital Service","pubDate":"Fri, 02 Jun 2017 00:00:00 GMT"},{"title":"Making WSJ.com more accessible","link":"https:\/\/matthewstrom.com\/writing\/wsj-accessibility.html","guid":"https:\/\/matthewstrom.com\/writing\/wsj-accessibility.html","description":"Case study by The Wall Street Journal","pubDate":"Wed, 03 Aug 2016 00:00:00 GMT"},{"title":"Fixing HTML Video on Mobile","link":"https:\/\/medium.com\/this-also\/whitewater-9b47f1e32ffe","guid":"https:\/\/medium.com\/this-also\/whitewater-9b47f1e32ffe","description":"Case study by This Also","pubDate":"Thu, 14 Jul 2016 00:00:00 GMT"},{"title":"How We Adopted CSS Grid at Scale","link":"https:\/\/julian.is\/article\/css-grid-at-scale\/","guid":"https:\/\/julian.is\/article\/css-grid-at-scale\/","description":"Case study by ThomasNet","pubDate":"Thu, 01 Mar 2018 00:00:00 GMT"},{"title":"Dealing with legacy code in React","link":"https:\/\/medium.com\/thread-engineering\/dealing-with-legacy-code-in-react-18bc0c039e8b","guid":"https:\/\/medium.com\/thread-engineering\/dealing-with-legacy-code-in-react-18bc0c039e8b","description":"Case study by Thread","pubDate":"Thu, 10 May 2018 00:00:00 GMT"},{"title":"Searching and sorting text with diacritical marks in JavaScript","link":"https:\/\/medium.com\/thread-engineering\/searching-and-sorting-text-with-diacritical-marks-in-javascript-45afef20e7f2","guid":"https:\/\/medium.com\/thread-engineering\/searching-and-sorting-text-with-diacritical-marks-in-javascript-45afef20e7f2","description":"Case study by Thread","pubDate":"Wed, 29 Aug 2018 00:00:00 GMT"},{"title":"A Tinder Progressive Web App Performance Case Study","link":"https:\/\/medium.com\/@addyosmani\/a-tinder-progressive-web-app-performance-case-study-78919d98ece0","guid":"https:\/\/medium.com\/@addyosmani\/a-tinder-progressive-web-app-performance-case-study-78919d98ece0","description":"Case study by Tinder","pubDate":"Sun, 24 Dec 2017 00:00:00 GMT"},{"title":"Building Tinder Online","link":"https:\/\/medium.com\/@roderickhsiao\/building-tinder-online-a447e6c0265e","guid":"https:\/\/medium.com\/@roderickhsiao\/building-tinder-online-a447e6c0265e","description":"Case study by Tinder","pubDate":"Fri, 09 Feb 2018 00:00:00 GMT"},{"title":"Our approach to CSS and how we chose it","link":"https:\/\/www.tines.com\/blog\/our-approach-to-css-and-how-we-chose-it","guid":"https:\/\/www.tines.com\/blog\/our-approach-to-css-and-how-we-chose-it","description":"Case study by Tines","pubDate":"Mon, 20 Apr 2020 00:00:00 GMT"},{"title":"Understanding why our build got 15x slower with Webpack 5","link":"https:\/\/www.tines.com\/blog\/understanding-why-our-build-got-15x-slower-with-webpack-5","guid":"https:\/\/www.tines.com\/blog\/understanding-why-our-build-got-15x-slower-with-webpack-5","description":"Case study by Tines","pubDate":"Wed, 17 Nov 2021 00:00:00 GMT"},{"title":"Relay: Fetching data in parallel with multiple queries","link":"https:\/\/www.tines.com\/blog\/relay-fetching-data-in-parallel-with-multiple-queries\/","guid":"https:\/\/www.tines.com\/blog\/relay-fetching-data-in-parallel-with-multiple-queries\/","description":"Case study by Tines","pubDate":"Thu, 29 Jul 2021 00:00:00 GMT"},{"title":"Using backend factories during frontend testing","link":"https:\/\/www.tines.com\/blog\/using-backend-factories-during-frontend-testing\/","guid":"https:\/\/www.tines.com\/blog\/using-backend-factories-during-frontend-testing\/","description":"Case study by Tines","pubDate":"Wed, 21 Apr 2021 00:00:00 GMT"},{"title":"Benefits of gradual strong typing in JavaScript","link":"https:\/\/www.tiny.cloud\/blog\/benefits-of-gradual-strong-typing-in-javascript\/","guid":"https:\/\/www.tiny.cloud\/blog\/benefits-of-gradual-strong-typing-in-javascript\/","description":"Case study by Tiny","pubDate":"Fri, 25 Jan 2019 00:00:00 GMT"},{"title":"To OT or CRDT, that is the question","link":"https:\/\/www.tiny.cloud\/blog\/real-time-collaboration-ot-vs-crdt\/","guid":"https:\/\/www.tiny.cloud\/blog\/real-time-collaboration-ot-vs-crdt\/","description":"Case study by Tiny","pubDate":"Mon, 13 Jan 2020 00:00:00 GMT"},{"title":"Collaboration needs a clean Slate","link":"https:\/\/www.tiny.cloud\/blog\/real-time-collaborative-editing-slate-js\/","guid":"https:\/\/www.tiny.cloud\/blog\/real-time-collaborative-editing-slate-js\/","description":"Case study by Tiny","pubDate":"Thu, 20 Feb 2020 00:00:00 GMT"},{"title":"A Tiny road to Reason","link":"https:\/\/www.tiny.cloud\/blog\/tinymce-reasonml\/","guid":"https:\/\/www.tiny.cloud\/blog\/tinymce-reasonml\/","description":"Case study by Tiny","pubDate":"Mon, 21 Sep 2020 00:00:00 GMT"},{"title":"Continuously refactoring 100000 lines of code","link":"https:\/\/www.tiny.cloud\/blog\/modern-javascript-refactoring-tinymce\/","guid":"https:\/\/www.tiny.cloud\/blog\/modern-javascript-refactoring-tinymce\/","description":"Case study by Tiny","pubDate":"Tue, 28 Apr 2020 00:00:00 GMT"},{"title":"A Tokopedia Mobile Web Performance Case Study","link":"https:\/\/medium.com\/tokopedia-engineering\/a-tokopedia-mobile-web-performance-case-study-48ee5c6e4d5c","guid":"https:\/\/medium.com\/tokopedia-engineering\/a-tokopedia-mobile-web-performance-case-study-48ee5c6e4d5c","description":"Case study by Tokopedia","pubDate":"Fri, 22 May 2020 00:00:00 GMT"},{"title":"How focusing on web performance improved Tokopedia's click-through rate by 35%","link":"https:\/\/web.dev\/tokopedia\/","guid":"https:\/\/web.dev\/tokopedia\/","description":"Case study by Tokopedia","pubDate":"Tue, 13 Oct 2020 00:00:00 GMT"},{"title":"A React And Preact Progressive Web App Performance Case Study: Treebo","link":"https:\/\/tech.treebo.com\/a-react-and-preact-progressive-web-app-performance-case-study-treebo-c09ef145bc2e","guid":"https:\/\/tech.treebo.com\/a-react-and-preact-progressive-web-app-performance-case-study-treebo-c09ef145bc2e","description":"Case study by Treebo","pubDate":"Wed, 13 Sep 2017 00:00:00 GMT"},{"title":"Redux Middlewares \u2014 An approach to cancel redux actions","link":"https:\/\/tech.treebo.com\/redux-middlewares-an-approach-to-cancel-redux-actions-7e08b51b83ce","guid":"https:\/\/tech.treebo.com\/redux-middlewares-an-approach-to-cancel-redux-actions-7e08b51b83ce","description":"Case study by Treebo","pubDate":"Fri, 04 May 2018 00:00:00 GMT"},{"title":"How do we design for an operations heavy product?","link":"https:\/\/tech.treebo.com\/how-do-we-design-for-an-operations-heavy-product-84c10713d3ab","guid":"https:\/\/tech.treebo.com\/how-do-we-design-for-an-operations-heavy-product-84c10713d3ab","description":"Case study by Treebo","pubDate":"Thu, 31 May 2018 00:00:00 GMT"},{"title":"Iconography for Treebo","link":"https:\/\/tech.treebo.com\/iconography-for-treebo-c379bc910da1","guid":"https:\/\/tech.treebo.com\/iconography-for-treebo-c379bc910da1","description":"Case study by Treebo","pubDate":"Mon, 13 Aug 2018 00:00:00 GMT"},{"title":"Improving User Experience with AMP\u26a1- A Treebo Case Study","link":"https:\/\/tech.treebo.com\/improving-user-experience-with-amp-treebos-case-study-9d382c53cba5","guid":"https:\/\/tech.treebo.com\/improving-user-experience-with-amp-treebos-case-study-9d382c53cba5","description":"Case study by Treebo","pubDate":"Sat, 16 Mar 2019 00:00:00 GMT"},{"title":"A Tale of Brotli Compression","link":"https:\/\/tech.treebo.com\/a-tale-of-brotli-compression-bcb071d9780a","guid":"https:\/\/tech.treebo.com\/a-tale-of-brotli-compression-bcb071d9780a","description":"Case study by Treebo","pubDate":"Mon, 20 Jan 2020 00:00:00 GMT"},{"title":"GraphQL at Treebo","link":"https:\/\/tech.treebo.com\/graphql-at-treebo-f5b41c22c06f","guid":"https:\/\/tech.treebo.com\/graphql-at-treebo-f5b41c22c06f","description":"Case study by Treebo","pubDate":"Fri, 23 Oct 2020 00:00:00 GMT"},{"title":"Designing for RTL platforms - A flipped layout","link":"https:\/\/tech.trivago.com\/2015\/04\/27\/right-to-left\/","guid":"https:\/\/tech.trivago.com\/2015\/04\/27\/right-to-left\/","description":"Case study by Trivago","pubDate":"Mon, 27 Apr 2015 00:00:00 GMT"},{"title":"Risk-free Migration From Assetic to Webpack","link":"https:\/\/tech.trivago.com\/2015\/05\/28\/introduce-webpack\/","guid":"https:\/\/tech.trivago.com\/2015\/05\/28\/introduce-webpack\/","description":"Case study by Trivago","pubDate":"Thu, 28 May 2015 00:00:00 GMT"},{"title":"Speeding up webpack performance with parallel builds","link":"https:\/\/tech.trivago.com\/2015\/12\/15\/parallel-webpack\/","guid":"https:\/\/tech.trivago.com\/2015\/12\/15\/parallel-webpack\/","description":"Case study by Trivago","pubDate":"Tue, 15 Dec 2015 00:00:00 GMT"},{"title":"Large Scale CSS Refactoring at trivago","link":"https:\/\/tech.trivago.com\/2016\/02\/02\/large-scale-css-refactoring-at-trivago\/","guid":"https:\/\/tech.trivago.com\/2016\/02\/02\/large-scale-css-refactoring-at-trivago\/","description":"Case study by Trivago","pubDate":"Tue, 02 Feb 2016 00:00:00 GMT"},{"title":"Dropping IE8 Support: Consequences for JavaScript","link":"https:\/\/tech.trivago.com\/2016\/06\/01\/dropping-ie8-support-consequences-for-javascript\/","guid":"https:\/\/tech.trivago.com\/2016\/06\/01\/dropping-ie8-support-consequences-for-javascript\/","description":"Case study by Trivago","pubDate":"Wed, 01 Jun 2016 00:00:00 GMT"},{"title":"Thoughts on Atom Building in the Pattern Library","link":"https:\/\/tech.trivago.com\/2016\/06\/16\/thoughts-on-atom-building-in-the-pattern-library\/","guid":"https:\/\/tech.trivago.com\/2016\/06\/16\/thoughts-on-atom-building-in-the-pattern-library\/","description":"Case study by Trivago","pubDate":"Thu, 16 Jun 2016 00:00:00 GMT"},{"title":"An Inline SVG Icon System For Our Hotel Search Application","link":"https:\/\/tech.trivago.com\/2016\/09\/05\/inline-svg-icon-system\/","guid":"https:\/\/tech.trivago.com\/2016\/09\/05\/inline-svg-icon-system\/","description":"Case study by Trivago","pubDate":"Mon, 05 Sep 2016 00:00:00 GMT"},{"title":"CSS done right - Post RTLCSS","link":"https:\/\/tech.trivago.com\/2017\/07\/07\/css-done-right-post-rtlcss\/","guid":"https:\/\/tech.trivago.com\/2017\/07\/07\/css-done-right-post-rtlcss\/","description":"Case study by Trivago","pubDate":"Fri, 07 Jul 2017 00:00:00 GMT"},{"title":"Accessibility at trivago","link":"https:\/\/tech.trivago.com\/2017\/09\/26\/accessibility-at-trivago\/","guid":"https:\/\/tech.trivago.com\/2017\/09\/26\/accessibility-at-trivago\/","description":"Case study by Trivago","pubDate":"Tue, 26 Sep 2017 00:00:00 GMT"},{"title":"trivago just made filtering faster and more accessible, but why and how?","link":"https:\/\/tech.trivago.com\/2017\/12\/22\/trivago-just-made-filtering-faster-and-more-accessible-but-why-and-how\/","guid":"https:\/\/tech.trivago.com\/2017\/12\/22\/trivago-just-made-filtering-faster-and-more-accessible-but-why-and-how\/","description":"Case study by Trivago","pubDate":"Fri, 22 Dec 2017 00:00:00 GMT"},{"title":"Melody - the sound of JavaScript for our Hotel Search","link":"https:\/\/tech.trivago.com\/2018\/06\/28\/melody-the-sound-of-javascript-for-our-hotel-search\/","guid":"https:\/\/tech.trivago.com\/2018\/06\/28\/melody-the-sound-of-javascript-for-our-hotel-search\/","description":"Case study by Trivago","pubDate":"Thu, 28 Jun 2018 00:00:00 GMT"},{"title":"Building fast and reliable web applications","link":"https:\/\/tech.trivago.com\/2018\/10\/12\/building-fast-and-reliable-web-applications\/","guid":"https:\/\/tech.trivago.com\/2018\/10\/12\/building-fast-and-reliable-web-applications\/","description":"Case study by Trivago","pubDate":"Fri, 12 Oct 2018 00:00:00 GMT"},{"title":"Presenting babel-plugin-cloudinary","link":"https:\/\/tech.trivago.com\/2019\/04\/02\/presenting-babel-plugin-cloudinary\/","guid":"https:\/\/tech.trivago.com\/2019\/04\/02\/presenting-babel-plugin-cloudinary\/","description":"Case study by Trivago","pubDate":"Tue, 02 Apr 2019 00:00:00 GMT"},{"title":"trivago Magazine's Journey to Server-Side Rendering","link":"https:\/\/tech.trivago.com\/2020\/01\/29\/trivago-magazines-journey-to-server-side-rendering\/","guid":"https:\/\/tech.trivago.com\/2020\/01\/29\/trivago-magazines-journey-to-server-side-rendering\/","description":"Case study by Trivago","pubDate":"Wed, 29 Jan 2020 00:00:00 GMT"},{"title":"The First Prettier Plugin For Twig is Here","link":"https:\/\/tech.trivago.com\/2020\/03\/10\/the-first-prettier-plugin-for-twig-is-here\/","guid":"https:\/\/tech.trivago.com\/2020\/03\/10\/the-first-prettier-plugin-for-twig-is-here\/","description":"Case study by Trivago","pubDate":"Tue, 10 Mar 2020 00:00:00 GMT"},{"title":"Exploring the Page Visibility API for Detecting Page Background State","link":"https:\/\/tech.trivago.com\/2020\/11\/17\/exploring-the-page-visibility-api-for-detecting-page-background-state\/","guid":"https:\/\/tech.trivago.com\/2020\/11\/17\/exploring-the-page-visibility-api-for-detecting-page-background-state\/","description":"Case study by Trivago","pubDate":"Tue, 17 Nov 2020 00:00:00 GMT"},{"title":"Rethinking the Next-gen Analytics Web App at trivago","link":"https:\/\/tech.trivago.com\/2021\/02\/09\/rethinking-the-next-gen-analytics-web-app-at-trivago\/","guid":"https:\/\/tech.trivago.com\/2021\/02\/09\/rethinking-the-next-gen-analytics-web-app-at-trivago\/","description":"Case study by Trivago","pubDate":"Tue, 09 Feb 2021 00:00:00 GMT"},{"title":"Designing Marketing Emails via predefined Modules in Salesforce Email Studio","link":"https:\/\/tech.trivago.com\/post\/2021-04-19-designingmarketingemailsviapredefinedmod","guid":"https:\/\/tech.trivago.com\/post\/2021-04-19-designingmarketingemailsviapredefinedmod","description":"Case study by Trivago","pubDate":"Mon, 19 Apr 2021 00:00:00 GMT"},{"title":"WARP - A Web Application Rewrite Project","link":"https:\/\/tech.trivago.com\/post\/2022-05-16-warp-a-web-application-rewrite-project","guid":"https:\/\/tech.trivago.com\/post\/2022-05-16-warp-a-web-application-rewrite-project","description":"Case study by Trivago","pubDate":"Mon, 16 May 2022 00:00:00 GMT"},{"title":"3 Things We Learned When Switching to TypeScript","link":"https:\/\/tech.trivago.com\/post\/2022-08-01-three-learnings-switching-to-typescript","guid":"https:\/\/tech.trivago.com\/post\/2022-08-01-three-learnings-switching-to-typescript","description":"Case study by Trivago","pubDate":"Mon, 01 Aug 2022 00:00:00 GMT"},{"title":"End-to-end tests retry strategies","link":"https:\/\/tech.trivago.com\/post\/2023-09-27-end-to-end-tests-retry-strategies","guid":"https:\/\/tech.trivago.com\/post\/2023-09-27-end-to-end-tests-retry-strategies","description":"Case study by Trivago","pubDate":"Wed, 27 Sep 2023 00:00:00 GMT"},{"title":"From a long list to a clear signal: baseline-driven accessibility reporting","link":"https:\/\/tech.trivago.com\/post\/2026-03-13-from-a-long-list-to-a-clear-signal-baseline-driven-accessibility-reporting","guid":"https:\/\/tech.trivago.com\/post\/2026-03-13-from-a-long-list-to-a-clear-signal-baseline-driven-accessibility-reporting","description":"Case study by Trivago","pubDate":"Fri, 13 Mar 2026 00:00:00 GMT"},{"title":"Moving things out of critical rendering path","link":"https:\/\/javascript.tumblr.com\/post\/139610473242\/moving-things-out-of-critical-rendering-path","guid":"https:\/\/javascript.tumblr.com\/post\/139610473242\/moving-things-out-of-critical-rendering-path","description":"Case study by Tumblr","pubDate":"Fri, 19 Feb 2016 00:00:00 GMT"},{"title":"The Road to Webpack","link":"https:\/\/javascript.tumblr.com\/post\/143583264647\/here-at-tumblr-we-use-a-js-bundler-to-compile-our#notes","guid":"https:\/\/javascript.tumblr.com\/post\/143583264647\/here-at-tumblr-we-use-a-js-bundler-to-compile-our#notes","description":"Case study by Tumblr","pubDate":"Fri, 29 Apr 2016 00:00:00 GMT"},{"title":"Flow and TypeScript","link":"https:\/\/javascript.tumblr.com\/post\/165082071937\/flow-and-typescript","guid":"https:\/\/javascript.tumblr.com\/post\/165082071937\/flow-and-typescript","description":"Case study by Tumblr","pubDate":"Thu, 07 Sep 2017 00:00:00 GMT"},{"title":"Using srcset and sizes to make responsive HTML5 images","link":"https:\/\/javascript.tumblr.com\/post\/171557569007\/responsive-images","guid":"https:\/\/javascript.tumblr.com\/post\/171557569007\/responsive-images","description":"Case study by Tumblr","pubDate":"Mon, 05 Mar 2018 00:00:00 GMT"},{"title":"A Big New Beautiful Future for the Web at Tumblr","link":"https:\/\/javascript.tumblr.com\/post\/172624931022\/a-big-new-beautiful-future-for-the-web-at-tumblr","guid":"https:\/\/javascript.tumblr.com\/post\/172624931022\/a-big-new-beautiful-future-for-the-web-at-tumblr","description":"Case study by Tumblr","pubDate":"Thu, 05 Apr 2018 00:00:00 GMT"},{"title":"How we wrote our own Service Worker","link":"https:\/\/javascript.tumblr.com\/post\/182476050141\/how-we-wrote-our-own-service-worker-as-we","guid":"https:\/\/javascript.tumblr.com\/post\/182476050141\/how-we-wrote-our-own-service-worker-as-we","description":"Case study by Tumblr","pubDate":"Fri, 01 Feb 2019 00:00:00 GMT"},{"title":"We\u2019re making Tumblr more accessible!","link":"https:\/\/javascript.tumblr.com\/post\/182090529587\/were-making-tumblr-more-accessible","guid":"https:\/\/javascript.tumblr.com\/post\/182090529587\/were-making-tumblr-more-accessible","description":"Case study by Tumblr","pubDate":"Thu, 17 Jan 2019 00:00:00 GMT"},{"title":"Improving Chat Rendering Performance","link":"https:\/\/blog.twitch.tv\/en\/2016\/08\/08\/improving-chat-rendering-performance-1c0945b82764\/","guid":"https:\/\/blog.twitch.tv\/en\/2016\/08\/08\/improving-chat-rendering-performance-1c0945b82764\/","description":"Case study by Twitch","pubDate":"Mon, 08 Aug 2016 00:00:00 GMT"},{"title":"Investigating React Native","link":"https:\/\/blog.twitch.tv\/en\/2017\/04\/25\/investigating-react-native-6032ecced610\/","guid":"https:\/\/blog.twitch.tv\/en\/2017\/04\/25\/investigating-react-native-6032ecced610\/","description":"Case study by Twitch","pubDate":"Tue, 25 Apr 2017 00:00:00 GMT"},{"title":"Beyond Purple","link":"https:\/\/blog.twitch.tv\/en\/2019\/12\/03\/beyond-purple\/","guid":"https:\/\/blog.twitch.tv\/en\/2019\/12\/03\/beyond-purple\/","description":"Case study by Twitch","pubDate":"Tue, 03 Dec 2019 00:00:00 GMT"},{"title":"Guiding a monolith with a gentle touch: pairing codeowners and lint rules","link":"https:\/\/blog.twitch.tv\/en\/2021\/09\/07\/guiding-a-monolith-with-a-gentle-touch-the-power-of-pairing-codeowners-and-lint-rules\/","guid":"https:\/\/blog.twitch.tv\/en\/2021\/09\/07\/guiding-a-monolith-with-a-gentle-touch-the-power-of-pairing-codeowners-and-lint-rules\/","description":"Case study by Twitch","pubDate":"Tue, 07 Sep 2021 00:00:00 GMT"},{"title":"Using Algorithms to Meet Accessibility Requirements for Color Contrast","link":"https:\/\/blog.twitch.tv\/en\/2021\/11\/30\/using-algorithms-to-meet-accessibility-requirements-for-color-contrast\/","guid":"https:\/\/blog.twitch.tv\/en\/2021\/11\/30\/using-algorithms-to-meet-accessibility-requirements-for-color-contrast\/","description":"Case study by Twitch","pubDate":"Tue, 30 Nov 2021 00:00:00 GMT"},{"title":"Automated Chaos Testing on the Front-end","link":"https:\/\/blog.twitch.tv\/en\/2022\/01\/10\/automated-chaos-testing-on-the-front-end\/","guid":"https:\/\/blog.twitch.tv\/en\/2022\/01\/10\/automated-chaos-testing-on-the-front-end\/","description":"Case study by Twitch","pubDate":"Mon, 10 Jan 2022 00:00:00 GMT"},{"title":"View Source: Twitter.com","link":"https:\/\/pusher.com\/sessions\/meetup\/viennajs\/view-source-twittercom","guid":"https:\/\/pusher.com\/sessions\/meetup\/viennajs\/view-source-twittercom","description":"Case study by Twitter","pubDate":"Sun, 01 Jan 2017 00:00:00 GMT"},{"title":"How we built Twitter Lite","link":"https:\/\/blog.twitter.com\/engineering\/en_us\/topics\/open-source\/2017\/how-we-built-twitter-lite.html","guid":"https:\/\/blog.twitter.com\/engineering\/en_us\/topics\/open-source\/2017\/how-we-built-twitter-lite.html","description":"Case study by Twitter","pubDate":"Thu, 06 Apr 2017 00:00:00 GMT"},{"title":"Infinite List and React","link":"https:\/\/itsze.ro\/posts\/infinite-list-and-react","guid":"https:\/\/itsze.ro\/posts\/infinite-list-and-react","description":"Case study by Twitter","pubDate":"Sun, 09 Apr 2017 00:00:00 GMT"},{"title":"Twitter Lite and High Performance React Progressive Web Apps at Scale","link":"https:\/\/medium.com\/@paularmstrong\/twitter-lite-and-high-performance-react-progressive-web-apps-at-scale-d28a00e780a3","guid":"https:\/\/medium.com\/@paularmstrong\/twitter-lite-and-high-performance-react-progressive-web-apps-at-scale-d28a00e780a3","description":"Case study by Twitter","pubDate":"Tue, 11 Apr 2017 00:00:00 GMT"},{"title":"The Twitter Lite team about their use of Node.js","link":"https:\/\/youtu.be\/iWXC5VCfQHI","guid":"https:\/\/youtu.be\/iWXC5VCfQHI","description":"Case study by Twitter","pubDate":"Wed, 12 Apr 2017 00:00:00 GMT"},{"title":"Redux modules and code-splitting","link":"http:\/\/nicolasgallagher.com\/redux-modules-and-code-splitting\/","guid":"http:\/\/nicolasgallagher.com\/redux-modules-and-code-splitting\/","description":"Case study by Twitter","pubDate":"Fri, 02 Feb 2018 00:00:00 GMT"},{"title":"How using component-based design helps us build faster","link":"https:\/\/blog.twitter.com\/engineering\/en_us\/topics\/infrastructure\/2019\/buildingfasterwithcomponents.html","guid":"https:\/\/blog.twitter.com\/engineering\/en_us\/topics\/infrastructure\/2019\/buildingfasterwithcomponents.html","description":"Case study by Twitter","pubDate":"Tue, 16 Jul 2019 00:00:00 GMT"},{"title":"Powering UberEATS with React Native and Uber Engineering","link":"https:\/\/eng.uber.com\/ubereats-react-native\/","guid":"https:\/\/eng.uber.com\/ubereats-react-native\/","description":"Case study by Uber","pubDate":"Tue, 28 Mar 2017 00:00:00 GMT"},{"title":"Building m.uber: Engineering a High-Performance Web App for the Global Market","link":"https:\/\/eng.uber.com\/m-uber","guid":"https:\/\/eng.uber.com\/m-uber","description":"Case study by Uber","pubDate":"Tue, 27 Jun 2017 00:00:00 GMT"},{"title":"Javascript @ Uber","link":"https:\/\/youtu.be\/JWFyH13_I3o","guid":"https:\/\/youtu.be\/JWFyH13_I3o","description":"Case study by Uber","pubDate":"Mon, 10 Jul 2017 00:00:00 GMT"},{"title":"Building a More Seamless Web Booking Flow for Uber","link":"https:\/\/eng.uber.com\/web-booking-flow\/","guid":"https:\/\/eng.uber.com\/web-booking-flow\/","description":"Case study by Uber","pubDate":"Thu, 25 Jul 2019 00:00:00 GMT"},{"title":"Best Practices for Unit Testing in React Version 16","link":"https:\/\/eng.uber.com\/best-practices-for-react-v16\/","guid":"https:\/\/eng.uber.com\/best-practices-for-react-v16\/","description":"Case study by Uber","pubDate":"Thu, 29 Aug 2019 00:00:00 GMT"},{"title":"Counting Calories: How We Improved the Performance and Developer Experience of UberEats.com","link":"https:\/\/eng.uber.com\/uber-eats-com-web-app-rewrite\/","guid":"https:\/\/eng.uber.com\/uber-eats-com-web-app-rewrite\/","description":"Case study by Uber","pubDate":"Wed, 12 Feb 2020 00:00:00 GMT"},{"title":"How a Fixed-Width Button Can Get Your Company Trending on Reddit for All the Wrong Reasons: A Front-End Developer Tale","link":"https:\/\/engineering.udacity.com\/how-a-fixed-width-button-can-get-your-company-trending-on-reddit-for-all-the-wrong-reasons-a-front-6214280888ab","guid":"https:\/\/engineering.udacity.com\/how-a-fixed-width-button-can-get-your-company-trending-on-reddit-for-all-the-wrong-reasons-a-front-6214280888ab","description":"Case study by Udacity","pubDate":"Mon, 11 Apr 2016 00:00:00 GMT"},{"title":"React Native: A retrospective from the mobile-engineering team at Udacity","link":"https:\/\/engineering.udacity.com\/react-native-a-retrospective-from-the-mobile-engineering-team-at-udacity-89975d6a8102","guid":"https:\/\/engineering.udacity.com\/react-native-a-retrospective-from-the-mobile-engineering-team-at-udacity-89975d6a8102","description":"Case study by Udacity","pubDate":"Tue, 03 Jul 2018 00:00:00 GMT"},{"title":"Udacity\u2019s Front-End Tech Stack","link":"https:\/\/engineering.udacity.com\/udacitys-front-end-tech-stack-b19dae07f0ac","guid":"https:\/\/engineering.udacity.com\/udacitys-front-end-tech-stack-b19dae07f0ac","description":"Case study by Udacity","pubDate":"Mon, 18 Jul 2016 00:00:00 GMT"},{"title":"WebAssembly is here!","link":"https:\/\/blogs.unity3d.com\/2018\/08\/15\/webassembly-is-here\/","guid":"https:\/\/blogs.unity3d.com\/2018\/08\/15\/webassembly-is-here\/","description":"Case study by Unity","pubDate":"Wed, 15 Aug 2018 00:00:00 GMT"},{"title":"WebAssembly Load Times and Performance","link":"https:\/\/blogs.unity3d.com\/2018\/09\/17\/webassembly-load-times-and-performance\/","guid":"https:\/\/blogs.unity3d.com\/2018\/09\/17\/webassembly-load-times-and-performance\/","description":"Case study by Unity","pubDate":"Mon, 17 Sep 2018 00:00:00 GMT"},{"title":"How we gradually migrated to TypeScript at Unsplash","link":"https:\/\/medium.com\/unsplash\/how-we-gradually-migrated-to-typescript-at-unsplash-7a34caa24ef1","guid":"https:\/\/medium.com\/unsplash\/how-we-gradually-migrated-to-typescript-at-unsplash-7a34caa24ef1","description":"Case study by Unsplash","pubDate":"Wed, 14 Mar 2018 00:00:00 GMT"},{"title":"How we made the Vercel Dashboard twice as fast","link":"https:\/\/vercel.com\/blog\/how-we-made-the-vercel-dashboard-twice-as-fast","guid":"https:\/\/vercel.com\/blog\/how-we-made-the-vercel-dashboard-twice-as-fast","description":"Case study by Vercel","pubDate":"Tue, 09 Aug 2022 00:00:00 GMT"},{"title":"Designing the Vercel virtual product tour","link":"https:\/\/vercel.com\/blog\/designing-the-vercel-virtual-product-tour","guid":"https:\/\/vercel.com\/blog\/designing-the-vercel-virtual-product-tour","description":"Case study by Vercel","pubDate":"Fri, 02 Jun 2023 00:00:00 GMT"},{"title":"Design Engineering at Vercel","link":"https:\/\/vercel.com\/blog\/design-engineering-at-vercel","guid":"https:\/\/vercel.com\/blog\/design-engineering-at-vercel","description":"Case study by Vercel","pubDate":"Fri, 29 Mar 2024 00:00:00 GMT"},{"title":"How Vercel adopted microfrontends","link":"https:\/\/vercel.com\/blog\/how-vercel-adopted-microfrontends","guid":"https:\/\/vercel.com\/blog\/how-vercel-adopted-microfrontends","description":"Case study by Vercel","pubDate":"Tue, 22 Oct 2024 00:00:00 GMT"},{"title":"Migrating Grep from Create React App to Next.js","link":"https:\/\/vercel.com\/blog\/migrating-grep-from-create-react-app-to-next-js","guid":"https:\/\/vercel.com\/blog\/migrating-grep-from-create-react-app-to-next-js","description":"Case study by Vercel","pubDate":"Mon, 14 Apr 2025 00:00:00 GMT"},{"title":"React Native at WalmartLabs","link":"https:\/\/medium.com\/walmartlabs\/react-native-at-walmartlabs-cdd140589560","guid":"https:\/\/medium.com\/walmartlabs\/react-native-at-walmartlabs-cdd140589560","description":"Case study by Walmart Labs","pubDate":"Mon, 19 Dec 2016 00:00:00 GMT"},{"title":"Cutting Dev Time in Half With Invalid User Input Prevention","link":"https:\/\/medium.com\/walmartlabs\/cutting-dev-time-in-half-with-invalid-user-input-prevention-bea29ea315c","guid":"https:\/\/medium.com\/walmartlabs\/cutting-dev-time-in-half-with-invalid-user-input-prevention-bea29ea315c","description":"Case study by Walmart Labs","pubDate":"Wed, 25 Oct 2017 00:00:00 GMT"},{"title":"Migrating Angular 1.x apps to React\u200a\u2014\u200aThe Hybrid Way!","link":"https:\/\/medium.com\/walmartlabs\/migrating-angular-1-x-apps-to-react-the-hybrid-way-3267ccf33755","guid":"https:\/\/medium.com\/walmartlabs\/migrating-angular-1-x-apps-to-react-the-hybrid-way-3267ccf33755","description":"Case study by Walmart Labs","pubDate":"Wed, 15 Nov 2017 00:00:00 GMT"},{"title":"Migrating Large Enterprise to NodeJS","link":"https:\/\/medium.com\/walmartlabs\/migrating-large-enterprise-to-nodejs-6c38523d2b33","guid":"https:\/\/medium.com\/walmartlabs\/migrating-large-enterprise-to-nodejs-6c38523d2b33","description":"Case study by Walmart Labs","pubDate":"Sat, 09 Dec 2017 00:00:00 GMT"},{"title":"Primer on Front End Automation","link":"https:\/\/medium.com\/walmartlabs\/primer-on-front-end-automation-a9eee2c6bc1","guid":"https:\/\/medium.com\/walmartlabs\/primer-on-front-end-automation-a9eee2c6bc1","description":"Case study by Walmart Labs","pubDate":"Fri, 27 Jul 2018 00:00:00 GMT"},{"title":"Lazy Loading Images with IntersectionObserver","link":"https:\/\/medium.com\/walmartlabs\/lazy-loading-images-intersectionobserver-8c5bff730920","guid":"https:\/\/medium.com\/walmartlabs\/lazy-loading-images-intersectionobserver-8c5bff730920","description":"Case study by Walmart Labs","pubDate":"Mon, 10 Sep 2018 00:00:00 GMT"},{"title":"Midway: Walmart\u2019s mocking journey\u2026","link":"https:\/\/medium.com\/walmartlabs\/midway-walmarts-mocking-journey-84c34fcc4593","guid":"https:\/\/medium.com\/walmartlabs\/midway-walmarts-mocking-journey-84c34fcc4593","description":"Case study by Walmart Labs","pubDate":"Fri, 05 Oct 2018 00:00:00 GMT"},{"title":"Infinite Scroll\u2019ing the right way","link":"https:\/\/medium.com\/walmartlabs\/infinite-scrolling-the-right-way-11b098a08815","guid":"https:\/\/medium.com\/walmartlabs\/infinite-scrolling-the-right-way-11b098a08815","description":"Case study by Walmart Labs","pubDate":"Tue, 02 Apr 2019 00:00:00 GMT"},{"title":"Delivering ReactJS applications at scale","link":"https:\/\/medium.com\/walmartlabs\/delivering-reactjs-applications-at-scale-5cb8a363f99","guid":"https:\/\/medium.com\/walmartlabs\/delivering-reactjs-applications-at-scale-5cb8a363f99","description":"Case study by Walmart Labs","pubDate":"Mon, 26 Aug 2019 00:00:00 GMT"},{"title":"Turbocharging Walmart.com","link":"https:\/\/youtu.be\/vB8JUx9Dp08","guid":"https:\/\/youtu.be\/vB8JUx9Dp08","description":"Case study by Walmart Labs","pubDate":"Thu, 09 Apr 2020 00:00:00 GMT"},{"title":"Differential Serving \u2014 Food for latest browsers","link":"https:\/\/medium.com\/walmartlabs\/differential-serving-food-for-latest-browsers-ba96192eb0ad","guid":"https:\/\/medium.com\/walmartlabs\/differential-serving-food-for-latest-browsers-ba96192eb0ad","description":"Case study by Walmart Labs","pubDate":"Tue, 23 Jun 2020 00:00:00 GMT"},{"title":"Creative Techniques for Loading Web Pages Faster","link":"https:\/\/upload.wikimedia.org\/wikipedia\/commons\/7\/7f\/ResourceLoader_OSCON_2011.pdf","guid":"https:\/\/upload.wikimedia.org\/wikipedia\/commons\/7\/7f\/ResourceLoader_OSCON_2011.pdf","description":"Case study by Wikimedia","pubDate":"Tue, 17 Jan 2012 00:00:00 GMT"},{"title":"Investigating a performance improvement","link":"https:\/\/phabricator.wikimedia.org\/phame\/post\/view\/15\/investigating_a_performance_improvement\/","guid":"https:\/\/phabricator.wikimedia.org\/phame\/post\/view\/15\/investigating_a_performance_improvement\/","description":"Case study by Wikimedia","pubDate":"Fri, 02 Jun 2017 00:00:00 GMT"},{"title":"Improving time-to-logo performance with preload links","link":"https:\/\/phabricator.wikimedia.org\/phame\/post\/view\/19\/improving_time-to-logo_performance_with_preload_links\/","guid":"https:\/\/phabricator.wikimedia.org\/phame\/post\/view\/19\/improving_time-to-logo_performance_with_preload_links\/","description":"Case study by Wikimedia","pubDate":"Wed, 07 Jun 2017 00:00:00 GMT"},{"title":"Beacons","link":"https:\/\/phabricator.wikimedia.org\/phame\/post\/view\/61\/beacons\/","guid":"https:\/\/phabricator.wikimedia.org\/phame\/post\/view\/61\/beacons\/","description":"Case study by Wikimedia","pubDate":"Wed, 16 Aug 2017 00:00:00 GMT"},{"title":"Measuring Wikipedia page load times","link":"https:\/\/phabricator.wikimedia.org\/phame\/post\/view\/83\/measuring_wikipedia_page_load_times\/","guid":"https:\/\/phabricator.wikimedia.org\/phame\/post\/view\/83\/measuring_wikipedia_page_load_times\/","description":"Case study by Wikimedia","pubDate":"Tue, 09 Jan 2018 00:00:00 GMT"},{"title":"mustache.js replaced with JavaScript template literals in Extension:Popups","link":"https:\/\/phabricator.wikimedia.org\/phame\/post\/view\/90\/mustache.js_replaced_with_javascript_template_literals_in_extension_popups\/","guid":"https:\/\/phabricator.wikimedia.org\/phame\/post\/view\/90\/mustache.js_replaced_with_javascript_template_literals_in_extension_popups\/","description":"Case study by Wikimedia","pubDate":"Tue, 03 Apr 2018 00:00:00 GMT"},{"title":"Extension:Popups (Page Previews) front-end tooling","link":"https:\/\/phabricator.wikimedia.org\/phame\/post\/view\/93\/extension_popups_page_previews_front-end_tooling\/","guid":"https:\/\/phabricator.wikimedia.org\/phame\/post\/view\/93\/extension_popups_page_previews_front-end_tooling\/","description":"Case study by Wikimedia","pubDate":"Thu, 19 Apr 2018 00:00:00 GMT"},{"title":"Mobile web performance: the importance of the device","link":"https:\/\/phabricator.wikimedia.org\/phame\/post\/view\/109\/mobile_web_performance_the_importance_of_the_device\/","guid":"https:\/\/phabricator.wikimedia.org\/phame\/post\/view\/109\/mobile_web_performance_the_importance_of_the_device\/","description":"Case study by Wikimedia","pubDate":"Fri, 22 Jun 2018 00:00:00 GMT"},{"title":"Why performance matters","link":"https:\/\/phabricator.wikimedia.org\/phame\/post\/view\/131\/why_performance_matters\/","guid":"https:\/\/phabricator.wikimedia.org\/phame\/post\/view\/131\/why_performance_matters\/","description":"Case study by Wikimedia","pubDate":"Wed, 12 Dec 2018 00:00:00 GMT"},{"title":"Migrating code from MediaWiki's ResourceLoader to Webpack","link":"https:\/\/phabricator.wikimedia.org\/phame\/post\/view\/146\/migrating_code_from_mediawiki_s_resourceloader_to_webpack\/","guid":"https:\/\/phabricator.wikimedia.org\/phame\/post\/view\/146\/migrating_code_from_mediawiki_s_resourceloader_to_webpack\/","description":"Case study by Wikimedia","pubDate":"Wed, 13 Mar 2019 00:00:00 GMT"},{"title":"Evaluating Element Timing for Images","link":"https:\/\/phabricator.wikimedia.org\/phame\/post\/view\/157\/evaluating_element_timing_for_images\/","guid":"https:\/\/phabricator.wikimedia.org\/phame\/post\/view\/157\/evaluating_element_timing_for_images\/","description":"Case study by Wikimedia","pubDate":"Wed, 10 Apr 2019 00:00:00 GMT"},{"title":"Performance perception: how satisfied are Wikipedia users?","link":"https:\/\/phabricator.wikimedia.org\/phame\/post\/view\/161\/performance_perception_how_satisfied_are_wikipedia_users\/","guid":"https:\/\/phabricator.wikimedia.org\/phame\/post\/view\/161\/performance_perception_how_satisfied_are_wikipedia_users\/","description":"Case study by Wikimedia","pubDate":"Wed, 29 May 2019 00:00:00 GMT"},{"title":"Performance perception: the effect of late-loading banners","link":"https:\/\/phabricator.wikimedia.org\/phame\/post\/view\/165\/performance_perception_the_effect_of_late-loading_banners\/","guid":"https:\/\/phabricator.wikimedia.org\/phame\/post\/view\/165\/performance_perception_the_effect_of_late-loading_banners\/","description":"Case study by Wikimedia","pubDate":"Thu, 13 Jun 2019 00:00:00 GMT"},{"title":"Performance perception: correlation to RUM metrics","link":"https:\/\/phabricator.wikimedia.org\/phame\/post\/view\/167\/performance_perception_correlation_to_rum_metrics\/","guid":"https:\/\/phabricator.wikimedia.org\/phame\/post\/view\/167\/performance_perception_correlation_to_rum_metrics\/","description":"Case study by Wikimedia","pubDate":"Mon, 17 Jun 2019 00:00:00 GMT"},{"title":"Tracking down slow event handlers with Event Timing","link":"https:\/\/phabricator.wikimedia.org\/phame\/post\/view\/168\/tracking_down_slow_event_handlers_with_event_timing\/","guid":"https:\/\/phabricator.wikimedia.org\/phame\/post\/view\/168\/tracking_down_slow_event_handlers_with_event_timing\/","description":"Case study by Wikimedia","pubDate":"Wed, 19 Jun 2019 00:00:00 GMT"},{"title":"Wikipedia's JavaScript initialisation on a budget","link":"https:\/\/phabricator.wikimedia.org\/phame\/post\/view\/175\/wikipedia_s_javascript_initialisation_on_a_budget\/","guid":"https:\/\/phabricator.wikimedia.org\/phame\/post\/view\/175\/wikipedia_s_javascript_initialisation_on_a_budget\/","description":"Case study by Wikimedia","pubDate":"Wed, 18 Sep 2019 00:00:00 GMT"},{"title":"Measuring Long Tasks and First Input Delay","link":"https:\/\/calendar.perfplanet.com\/2019\/measuring-long-tasks-and-first-input-delay\/","guid":"https:\/\/calendar.perfplanet.com\/2019\/measuring-long-tasks-and-first-input-delay\/","description":"Case study by Wikimedia","pubDate":"Sat, 21 Dec 2019 00:00:00 GMT"},{"title":"Analyzing Wikipedia's Search Performance","link":"https:\/\/www.nray.dev\/blog\/analyzing-search-performance\/","guid":"https:\/\/www.nray.dev\/blog\/analyzing-search-performance\/","description":"Case study by Wikimedia","pubDate":"Mon, 05 Apr 2021 00:00:00 GMT"},{"title":"300ms Faster: Reducing Wikipedia's Total Blocking Time","link":"https:\/\/www.nray.dev\/blog\/300ms-faster-reducing-wikipedias-total-blocking-time\/","guid":"https:\/\/www.nray.dev\/blog\/300ms-faster-reducing-wikipedias-total-blocking-time\/","description":"Case study by Wikimedia","pubDate":"Sun, 21 May 2023 00:00:00 GMT"},{"title":"jQuery Promises: The answer to PostMessage's asynchrony","link":"https:\/\/engineering.wingify.com\/posts\/jquery-promises-with-postmessage\/","guid":"https:\/\/engineering.wingify.com\/posts\/jquery-promises-with-postmessage\/","description":"Case study by Wingify","pubDate":"Mon, 17 Jun 2013 00:00:00 GMT"},{"title":"How We Made The Animated A\/B Testing Guide","link":"https:\/\/engineering.wingify.com\/posts\/making-of-abtesting-scrollmation\/","guid":"https:\/\/engineering.wingify.com\/posts\/making-of-abtesting-scrollmation\/","description":"Case study by Wingify","pubDate":"Mon, 08 Jul 2013 00:00:00 GMT"},{"title":"Getting 60 FPS using Chrome devtools","link":"https:\/\/engineering.wingify.com\/posts\/getting-60fps-using-devtools\/","guid":"https:\/\/engineering.wingify.com\/posts\/getting-60fps-using-devtools\/","description":"Case study by Wingify","pubDate":"Mon, 29 Jul 2013 00:00:00 GMT"},{"title":"Overcoming the Challenges of Performance Testing Single-page Apps","link":"https:\/\/engineering.wingify.com\/posts\/performance-testing\/","guid":"https:\/\/engineering.wingify.com\/posts\/performance-testing\/","description":"Case study by Wingify","pubDate":"Thu, 29 Jan 2015 00:00:00 GMT"},{"title":"Testing AngularJS Apps End to End Using Protractor","link":"https:\/\/engineering.wingify.com\/posts\/angularapp-e2e-testing-with-protractor\/","guid":"https:\/\/engineering.wingify.com\/posts\/angularapp-e2e-testing-with-protractor\/","description":"Case study by Wingify","pubDate":"Fri, 13 Feb 2015 00:00:00 GMT"},{"title":"A layout trick","link":"https:\/\/engineering.wingify.com\/posts\/layout-trick\/","guid":"https:\/\/engineering.wingify.com\/posts\/layout-trick\/","description":"Case study by Wingify","pubDate":"Mon, 04 Apr 2016 00:00:00 GMT"},{"title":"Speeding Up VWO","link":"https:\/\/engineering.wingify.com\/posts\/speeding-up-vwo\/","guid":"https:\/\/engineering.wingify.com\/posts\/speeding-up-vwo\/","description":"Case study by Wingify","pubDate":"Sat, 17 Sep 2016 00:00:00 GMT"},{"title":"Migrating towards Yarn and Webpack","link":"https:\/\/engineering.wingify.com\/posts\/migrating-towards-yarn-webpack\/","guid":"https:\/\/engineering.wingify.com\/posts\/migrating-towards-yarn-webpack\/","description":"Case study by Wingify","pubDate":"Wed, 04 Oct 2017 00:00:00 GMT"},{"title":"Why we've removed Inheritance\/Extend from SASS & you should do the same!","link":"https:\/\/engineering.wingify.com\/posts\/sass-inheritance-removal\/","guid":"https:\/\/engineering.wingify.com\/posts\/sass-inheritance-removal\/","description":"Case study by Wingify","pubDate":"Thu, 30 Nov 2017 00:00:00 GMT"},{"title":"Automated Heatmap Verification E2E using Selenium and Canvas","link":"https:\/\/engineering.wingify.com\/posts\/automated-heatmap-verification\/","guid":"https:\/\/engineering.wingify.com\/posts\/automated-heatmap-verification\/","description":"Case study by Wingify","pubDate":"Tue, 03 Apr 2018 00:00:00 GMT"},{"title":"How we are writing modern Javascript with AngularJs","link":"https:\/\/engineering.wingify.com\/posts\/how-we-writing-modern-javascript-with-angularjs-1-x\/","guid":"https:\/\/engineering.wingify.com\/posts\/how-we-writing-modern-javascript-with-angularjs-1-x\/","description":"Case study by Wingify","pubDate":"Wed, 22 Mar 2023 00:00:00 GMT"},{"title":"Playwright \u2013 The Rightful Heir","link":"https:\/\/engineering.wingify.com\/posts\/playwright-the-rightful-heir\/","guid":"https:\/\/engineering.wingify.com\/posts\/playwright-the-rightful-heir\/","description":"Case study by Wingify","pubDate":"Wed, 21 Sep 2022 00:00:00 GMT"},{"title":"Cypress - A worthy replacement for Protractor?","link":"https:\/\/engineering.wingify.com\/posts\/Cypress-a-worthy-replacement-for-protractor\/","guid":"https:\/\/engineering.wingify.com\/posts\/Cypress-a-worthy-replacement-for-protractor\/","description":"Case study by Wingify","pubDate":"Thu, 24 Mar 2022 00:00:00 GMT"},{"title":"Handling Shadow DOM in Protractor Tests","link":"https:\/\/engineering.wingify.com\/posts\/handling-shadow-dom-in-protractor\/","guid":"https:\/\/engineering.wingify.com\/posts\/handling-shadow-dom-in-protractor\/","description":"Case study by Wingify","pubDate":"Fri, 17 Sep 2021 00:00:00 GMT"},{"title":"Performance improvements in VWO SmartCode","link":"https:\/\/engineering.wingify.com\/posts\/performance-improvements-in-vwo-smart-code\/","guid":"https:\/\/engineering.wingify.com\/posts\/performance-improvements-in-vwo-smart-code\/","description":"Case study by Wingify","pubDate":"Wed, 08 Jan 2020 00:00:00 GMT"},{"title":"Shift to Atomic CSS","link":"https:\/\/engineering.wingify.com\/posts\/shift-to-atomic-css\/","guid":"https:\/\/engineering.wingify.com\/posts\/shift-to-atomic-css\/","description":"Case study by Wingify","pubDate":"Fri, 31 Aug 2018 00:00:00 GMT"},{"title":"Demystifying Webpack 4 Split Chunks Plugin","link":"https:\/\/engineering.wingify.com\/posts\/demystifying-split-chunks-plugin\/","guid":"https:\/\/engineering.wingify.com\/posts\/demystifying-split-chunks-plugin\/","description":"Case study by Wingify","pubDate":"Fri, 10 Aug 2018 00:00:00 GMT"},{"title":"VWO Editor: Seamless DOM Manipulations for React-based Websites","link":"https:\/\/engineering.wingify.com\/posts\/dom-manipulation-for-react-sites\/","guid":"https:\/\/engineering.wingify.com\/posts\/dom-manipulation-for-react-sites\/","description":"Case study by Wingify","pubDate":"Thu, 03 Jul 2025 00:00:00 GMT"},{"title":"Breaking the Translation Bottleneck: How AI-Powered i18n Transformed Our Development Workflow","link":"https:\/\/engineering.wingify.com\/posts\/ai-powered-translation-workflow\/","guid":"https:\/\/engineering.wingify.com\/posts\/ai-powered-translation-workflow\/","description":"Case study by Wingify","pubDate":"Tue, 12 Aug 2025 00:00:00 GMT"},{"title":"Taking CSS To Scale: A Pragmatic Approach","link":"https:\/\/www.wix.engineering\/blog\/taking-css-to-scale-a-pragmatic-approach","guid":"https:\/\/www.wix.engineering\/blog\/taking-css-to-scale-a-pragmatic-approach","description":"Case study by Wix","pubDate":"Wed, 13 Jul 2016 00:00:00 GMT"},{"title":"Building a React Native App for 80 Million Users","link":"https:\/\/youtu.be\/abSNo2P9mMM","guid":"https:\/\/youtu.be\/abSNo2P9mMM","description":"Case study by Wix","pubDate":"Sat, 01 Oct 2016 00:00:00 GMT"},{"title":"The Story of Making Wix Accessible","link":"https:\/\/www.wix.engineering\/blog\/the-story-of-making-wix-accessible","guid":"https:\/\/www.wix.engineering\/blog\/the-story-of-making-wix-accessible","description":"Case study by Wix","pubDate":"Thu, 14 Dec 2017 00:00:00 GMT"},{"title":"Improving load time for 100 million websites","link":"https:\/\/youtu.be\/FKpShne3I4E","guid":"https:\/\/youtu.be\/FKpShne3I4E","description":"Case study by Wix","pubDate":"Tue, 26 Jun 2018 00:00:00 GMT"},{"title":"Trim the Fat From Your Bundles Using Webpack Analyzer & React Lazy\/Suspense","link":"https:\/\/www.wix.engineering\/post\/trim-the-fat-from-your-bundles-using-webpack-analyzer-react-lazy-suspense","guid":"https:\/\/www.wix.engineering\/post\/trim-the-fat-from-your-bundles-using-webpack-analyzer-react-lazy-suspense","description":"Case study by Wix","pubDate":"Mon, 02 Sep 2019 00:00:00 GMT"},{"title":"How Wix improved website performance by evolving their infrastructure","link":"https:\/\/web.dev\/wix\/","guid":"https:\/\/web.dev\/wix\/","description":"Case study by Wix","pubDate":"Wed, 10 Mar 2021 00:00:00 GMT"},{"title":"When life gives you lemons, write better error messages","link":"https:\/\/medium.com\/wix-ux\/when-life-gives-you-lemons-write-better-error-messages-46c5223e1a2f","guid":"https:\/\/medium.com\/wix-ux\/when-life-gives-you-lemons-write-better-error-messages-46c5223e1a2f","description":"Case study by Wix","pubDate":"Mon, 12 Sep 2022 00:00:00 GMT"},{"title":"How Wix Applied Multi-threading to Node.js and Cut Thousands of SSR Pods and Money","link":"https:\/\/www.wix.engineering\/post\/how-wix-applied-multi-threading-to-node-js-and-cut-thousands-of-ssr-pods-and-money","guid":"https:\/\/www.wix.engineering\/post\/how-wix-applied-multi-threading-to-node-js-and-cut-thousands-of-ssr-pods-and-money","description":"Case study by Wix","pubDate":"Wed, 21 Sep 2022 00:00:00 GMT"},{"title":"Whoa! That Embedded Web View Looks Hot in Your iOS App!","link":"https:\/\/engineeringblog.yelp.com\/2013\/11\/whoa-that-embedded-web-view-looks-hot-in-your-ios-app.html","guid":"https:\/\/engineeringblog.yelp.com\/2013\/11\/whoa-that-embedded-web-view-looks-hot-in-your-ios-app.html","description":"Case study by Yelp","pubDate":"Thu, 07 Nov 2013 00:00:00 GMT"},{"title":"CSS in the Age of React: How We Traded the Cascade for Consistency","link":"https:\/\/engineeringblog.yelp.com\/2018\/03\/css-in-the-age-of-react.html","guid":"https:\/\/engineeringblog.yelp.com\/2018\/03\/css-in-the-age-of-react.html","description":"Case study by Yelp","pubDate":"Mon, 05 Mar 2018 00:00:00 GMT"},{"title":"Organizing and Securing Third-Party CDN Assets at Yelp","link":"https:\/\/engineeringblog.yelp.com\/2019\/11\/organizing-and-securing-third-party-cdn-assets-at-yelp.html","guid":"https:\/\/engineeringblog.yelp.com\/2019\/11\/organizing-and-securing-third-party-cdn-assets-at-yelp.html","description":"Case study by Yelp","pubDate":"Wed, 20 Nov 2019 00:00:00 GMT"},{"title":"Server Side Rendering at Scale","link":"https:\/\/engineeringblog.yelp.com\/2022\/02\/server-side-rendering-at-scale.html","guid":"https:\/\/engineeringblog.yelp.com\/2022\/02\/server-side-rendering-at-scale.html","description":"Case study by Yelp","pubDate":"Tue, 22 Feb 2022 00:00:00 GMT"},{"title":"Migrating from Styleguidist to Storybook","link":"https:\/\/engineeringblog.yelp.com\/2022\/07\/migrating-from-styleguidist-to-storybook.html","guid":"https:\/\/engineeringblog.yelp.com\/2022\/07\/migrating-from-styleguidist-to-storybook.html","description":"Case study by Yelp","pubDate":"Wed, 06 Jul 2022 00:00:00 GMT"},{"title":"Writing Emails Using React","link":"https:\/\/engineeringblog.yelp.com\/2022\/07\/writing-emails-using-react.html","guid":"https:\/\/engineeringblog.yelp.com\/2022\/07\/writing-emails-using-react.html","description":"Case study by Yelp","pubDate":"Wed, 20 Jul 2022 00:00:00 GMT"},{"title":"Gondola: an internal PaaS architecture for frontend app deployment","link":"https:\/\/engineeringblog.yelp.com\/2023\/03\/gondola-an-internal-paas-architecture-for-frontend-app-deployment.html","guid":"https:\/\/engineeringblog.yelp.com\/2023\/03\/gondola-an-internal-paas-architecture-for-frontend-app-deployment.html","description":"Case study by Yelp","pubDate":"Fri, 03 Mar 2023 00:00:00 GMT"},{"title":"CHAOS: Yelp's Unified Framework for Server-Driven UI","link":"https:\/\/engineeringblog.yelp.com\/2024\/03\/chaos-yelps-unified-framework-for-server-driven-ui.html","guid":"https:\/\/engineeringblog.yelp.com\/2024\/03\/chaos-yelps-unified-framework-for-server-driven-ui.html","description":"Case study by Yelp","pubDate":"Thu, 14 Mar 2024 00:00:00 GMT"},{"title":"Progressive Conversion of TypeScript Namespaces to Modules","link":"https:\/\/dev.to\/ynab\/progressive-conversion-of-typescript-namespaces-to-modules-3f1j","guid":"https:\/\/dev.to\/ynab\/progressive-conversion-of-typescript-namespaces-to-modules-3f1j","description":"Case study by YNAB","pubDate":"Mon, 23 Sep 2019 00:00:00 GMT"},{"title":"Semantic Colors for Designers and Developers. The Theory: A Semantic Color System","link":"https:\/\/dev.to\/ynab\/a-semantic-color-system-the-theory-hk7","guid":"https:\/\/dev.to\/ynab\/a-semantic-color-system-the-theory-hk7","description":"Case study by YNAB","pubDate":"Wed, 12 Feb 2020 00:00:00 GMT"},{"title":"Semantic Colors for Designers and Developers. The Practice: Semantic Colors for Designers","link":"https:\/\/dev.to\/ynab\/semantic-colors-for-designers-2lf2","guid":"https:\/\/dev.to\/ynab\/semantic-colors-for-designers-2lf2","description":"Case study by YNAB","pubDate":"Wed, 12 Feb 2020 00:00:00 GMT"},{"title":"Semantic Colors for Designers and Developers. The Practice: Semantic Colors for Developers","link":"https:\/\/dev.to\/ynab\/the-practice-semantic-colors-for-developers-1o6g","guid":"https:\/\/dev.to\/ynab\/the-practice-semantic-colors-for-developers-1o6g","description":"Case study by YNAB","pubDate":"Wed, 12 Feb 2020 00:00:00 GMT"},{"title":"How we use OpenAPI \/ Swagger for the YNAB API","link":"https:\/\/dev.to\/ynab\/how-we-use-openapi-swagger-for-the-ynab-api-5453","guid":"https:\/\/dev.to\/ynab\/how-we-use-openapi-swagger-for-the-ynab-api-5453","description":"Case study by YNAB","pubDate":"Mon, 16 Mar 2020 00:00:00 GMT"},{"title":"Page Weight Matters","link":"https:\/\/blog.chriszacharias.com\/page-weight-matters","guid":"https:\/\/blog.chriszacharias.com\/page-weight-matters","description":"Case study by YouTube","pubDate":"Fri, 21 Dec 2012 00:00:00 GMT"},{"title":"Polymer @ YouTube","link":"https:\/\/youtu.be\/tNulrEbTQf8","guid":"https:\/\/youtu.be\/tNulrEbTQf8","description":"Case study by YouTube","pubDate":"Tue, 22 Aug 2017 00:00:00 GMT"},{"title":"A Conspiracy To Kill IE6","link":"https:\/\/blog.chriszacharias.com\/a-conspiracy-to-kill-ie6","guid":"https:\/\/blog.chriszacharias.com\/a-conspiracy-to-kill-ie6","description":"Case study by YouTube","pubDate":"Wed, 01 May 2019 00:00:00 GMT"},{"title":"Building a Better Web - Part 1: A faster YouTube on web","link":"https:\/\/web.dev\/better-youtube-web-part1\/","guid":"https:\/\/web.dev\/better-youtube-web-part1\/","description":"Case study by YouTube","pubDate":"Thu, 20 Oct 2022 00:00:00 GMT"},{"title":"Visualizing money: how we explained a complex financial product using animation","link":"https:\/\/medium.com\/zajnocrew\/visualizing-money-how-we-explained-a-complex-financial-product-using-animation-3ee8b3e4277e","guid":"https:\/\/medium.com\/zajnocrew\/visualizing-money-how-we-explained-a-complex-financial-product-using-animation-3ee8b3e4277e","description":"Case study by Zajno","pubDate":"Tue, 25 Sep 2018 00:00:00 GMT"},{"title":"Why & How Words With Friends Is Adopting React Native","link":"https:\/\/medium.com\/zynga-engineering\/why-how-words-with-friends-is-adopting-react-native-b24a405f421c","guid":"https:\/\/medium.com\/zynga-engineering\/why-how-words-with-friends-is-adopting-react-native-b24a405f421c","description":"Case study by Zynga","pubDate":"Mon, 17 Sep 2018 00:00:00 GMT"},{"title":"React Native Stability Monitoring","link":"https:\/\/medium.com\/zynga-engineering\/react-native-stability-monitoring-fbf425eb71ac","guid":"https:\/\/medium.com\/zynga-engineering\/react-native-stability-monitoring-fbf425eb71ac","description":"Case study by Zynga","pubDate":"Tue, 14 May 2019 00:00:00 GMT"},{"title":"Developing the Draft U.S. Web Design Standards\u2019 UI components","link":"https:\/\/18f.gsa.gov\/2016\/04\/01\/developing-the-draft-us-web-design-standards-ui-components\/","guid":"https:\/\/18f.gsa.gov\/2016\/04\/01\/developing-the-draft-us-web-design-standards-ui-components\/","description":"Case study by 18F","pubDate":"Fri, 01 Apr 2016 00:00:00 GMT"},{"title":"Building a large-scale design system: How we created a design system for the U.S. government","link":"https:\/\/18f.gsa.gov\/2017\/10\/03\/building-a-large-scale-design-system\/","guid":"https:\/\/18f.gsa.gov\/2017\/10\/03\/building-a-large-scale-design-system\/","description":"Case study by 18F","pubDate":"Tue, 03 Oct 2017 00:00:00 GMT"},{"title":"A token of our affection - A field guide to USWDS 2","link":"https:\/\/18f.gsa.gov\/2020\/04\/21\/a-token-of-our-affection-uswds-2\/","guid":"https:\/\/18f.gsa.gov\/2020\/04\/21\/a-token-of-our-affection-uswds-2\/","description":"Case study by 18F","pubDate":"Tue, 21 Apr 2020 00:00:00 GMT"},{"title":"From dark to light and back again","link":"https:\/\/blog.1password.com\/from-dark-to-light-and-back-again\/","guid":"https:\/\/blog.1password.com\/from-dark-to-light-and-back-again\/","description":"Case study by 1Password","pubDate":"Thu, 08 Nov 2018 00:00:00 GMT"},{"title":"How we used esbuild to reduce our browser extension build times by 90%","link":"https:\/\/blog.1password.com\/new-extension-build-system\/","guid":"https:\/\/blog.1password.com\/new-extension-build-system\/","description":"Case study by 1Password","pubDate":"Thu, 30 May 2024 00:00:00 GMT"},{"title":"Eliminating Boilerplate and Increasing Reusability with Higher-Order Reducers","link":"https:\/\/www.godaddy.com\/resources\/news\/higher-order-reducers","guid":"https:\/\/www.godaddy.com\/resources\/news\/higher-order-reducers","description":"Case study by GoDaddy","pubDate":"Fri, 24 Aug 2018 00:00:00 GMT"},{"title":"Reduxful: Manage RESTful data with Redux","link":"https:\/\/www.godaddy.com\/resources\/news\/reduxful-manage-restful-data-with-redux","guid":"https:\/\/www.godaddy.com\/resources\/news\/reduxful-manage-restful-data-with-redux","description":"Case study by GoDaddy","pubDate":"Mon, 05 Nov 2018 00:00:00 GMT"},{"title":"Creating better examples with @exemplar\/storybook","link":"https:\/\/www.godaddy.com\/resources\/news\/announcing-exemplar","guid":"https:\/\/www.godaddy.com\/resources\/news\/announcing-exemplar","description":"Case study by GoDaddy","pubDate":"Tue, 09 Apr 2019 00:00:00 GMT"},{"title":"How GoDaddy's Websites + Marketing service improved customer Core Web Vitals by 75%","link":"https:\/\/web.dev\/case-studies\/godaddy","guid":"https:\/\/web.dev\/case-studies\/godaddy","description":"Case study by GoDaddy","pubDate":"Thu, 14 Jul 2022 00:00:00 GMT"},{"title":"Building a robust mobile to webview bridge with RxJS and Redux","link":"https:\/\/www.godaddy.com\/resources\/news\/mobile-to-webview-bridge-with-rxjs-and-redux","guid":"https:\/\/www.godaddy.com\/resources\/news\/mobile-to-webview-bridge-with-rxjs-and-redux","description":"Case study by GoDaddy","pubDate":"Thu, 02 Mar 2023 00:00:00 GMT"},{"title":"Custom Browser Extensions for Front End Developers","link":"https:\/\/medium.com\/booking-com-development\/custom-browser-extensions-for-front-end-developers-4e273a2722d8","guid":"https:\/\/medium.com\/booking-com-development\/custom-browser-extensions-for-front-end-developers-4e273a2722d8","description":"Case study by Booking.com","pubDate":"Thu, 30 Jan 2014 00:00:00 GMT"},{"title":"Responsive email","link":"https:\/\/booking.design\/responsive-email-fdf63d001d00","guid":"https:\/\/booking.design\/responsive-email-fdf63d001d00","description":"Case study by Booking.com","pubDate":"Mon, 21 Sep 2015 00:00:00 GMT"},{"title":"Automating CSS Sprites for Large Organisations","link":"https:\/\/booking.design\/automating-css-sprites-for-large-organisations-538c3f2cbda0","guid":"https:\/\/booking.design\/automating-css-sprites-for-large-organisations-538c3f2cbda0","description":"Case study by Booking.com","pubDate":"Thu, 01 May 2014 00:00:00 GMT"},{"title":"Progressive Web Apps with Service Workers","link":"https:\/\/medium.com\/booking-com-development\/progressive-web-apps-with-service-workers-887e80abf9ef","guid":"https:\/\/medium.com\/booking-com-development\/progressive-web-apps-with-service-workers-887e80abf9ef","description":"Case study by Booking.com","pubDate":"Thu, 21 Apr 2016 00:00:00 GMT"},{"title":"Implementing system fonts on Booking.com \u2014 A lesson learned.","link":"https:\/\/booking.design\/implementing-system-fonts-on-booking-com-a-lesson-learned-bdc984df627f","guid":"https:\/\/booking.design\/implementing-system-fonts-on-booking-com-a-lesson-learned-bdc984df627f","description":"Case study by Booking.com","pubDate":"Wed, 29 Mar 2017 00:00:00 GMT"},{"title":"How we adapted the Booking.com mobile site for the iPhone X notch.","link":"https:\/\/booking.design\/how-we-adapted-the-booking-com-mobile-site-for-the-iphone-x-notch-e880fa00e989","guid":"https:\/\/booking.design\/how-we-adapted-the-booking-com-mobile-site-for-the-iphone-x-notch-e880fa00e989","description":"Case study by Booking.com","pubDate":"Tue, 07 Nov 2017 00:00:00 GMT"},{"title":"How we built our multi-platform design system at Booking.com","link":"https:\/\/booking.design\/how-we-built-our-multi-platform-design-system-at-booking-com-d7b895399d40","guid":"https:\/\/booking.design\/how-we-built-our-multi-platform-design-system-at-booking-com-d7b895399d40","description":"Case study by Booking.com","pubDate":"Wed, 01 Mar 2023 00:00:00 GMT"},{"title":"Optimizing Performance with Web Workers","link":"https:\/\/engineering.salesforce.com\/optimizing-performance-with-web-workers-612b48621d8d\/","guid":"https:\/\/engineering.salesforce.com\/optimizing-performance-with-web-workers-612b48621d8d\/","description":"Case study by Salesforce","pubDate":"Tue, 19 Sep 2017 00:00:00 GMT"},{"title":"Debugging embedded JavaScript in an Android app using Chrome DevTools","link":"https:\/\/engineering.salesforce.com\/debugging-embedded-javascript-in-an-android-app-using-chrome-devtools-8553864ee09c\/","guid":"https:\/\/engineering.salesforce.com\/debugging-embedded-javascript-in-an-android-app-using-chrome-devtools-8553864ee09c\/","description":"Case study by Salesforce","pubDate":"Tue, 19 May 2020 00:00:00 GMT"},{"title":"Debugging WebKit in Hybrid Mobile Apps","link":"https:\/\/engineering.salesforce.com\/debugging-webkit-in-hybrid-mobile-apps-2eee63a4c922\/","guid":"https:\/\/engineering.salesforce.com\/debugging-webkit-in-hybrid-mobile-apps-2eee63a4c922\/","description":"Case study by Salesforce","pubDate":"Tue, 14 Jul 2020 00:00:00 GMT"},{"title":"Native Scrolling in Salesforce mobile app","link":"https:\/\/engineering.salesforce.com\/native-scrolling-in-salesforce-mobile-app-4f334b6ad96e\/","guid":"https:\/\/engineering.salesforce.com\/native-scrolling-in-salesforce-mobile-app-4f334b6ad96e\/","description":"Case study by Salesforce","pubDate":"Tue, 16 Feb 2021 00:00:00 GMT"},{"title":"Why We Open Sourced Our JavaScript Framework","link":"https:\/\/engineering.salesforce.com\/why-we-open-sourced-our-javascript-framework-4c706bd2e68a\/","guid":"https:\/\/engineering.salesforce.com\/why-we-open-sourced-our-javascript-framework-4c706bd2e68a\/","description":"Case study by Salesforce","pubDate":"Wed, 17 Jul 2019 00:00:00 GMT"},{"title":"Lessons learned in 2 years with a JavaScript\/React Monorepo","link":"https:\/\/medium.com\/botify-labs\/lessons-learned-in-2-years-with-a-javascript-react-monorepo-526e2154d5f1","guid":"https:\/\/medium.com\/botify-labs\/lessons-learned-in-2-years-with-a-javascript-react-monorepo-526e2154d5f1","description":"Case study by Botify","pubDate":"Thu, 07 Jun 2018 00:00:00 GMT"},{"title":"My Chart Will Go On: How we built our in-house Visualization library at Botify","link":"https:\/\/medium.com\/botify-labs\/my-chart-will-go-on-4439101b5e2b","guid":"https:\/\/medium.com\/botify-labs\/my-chart-will-go-on-4439101b5e2b","description":"Case study by Botify","pubDate":"Thu, 23 Apr 2020 00:00:00 GMT"},{"title":"Functional testing with CasperJS","link":"https:\/\/medium.com\/hootsuite-engineering\/functional-testing-with-casperjs-e2d121c09ad6","guid":"https:\/\/medium.com\/hootsuite-engineering\/functional-testing-with-casperjs-e2d121c09ad6","description":"Case study by Hootsuite","pubDate":"Wed, 21 Aug 2013 00:00:00 GMT"},{"title":"Why Using RequireJS As-Is Could Hurt Your Web Performance","link":"https:\/\/medium.com\/hootsuite-engineering\/why-using-requirejs-as-is-could-hurt-your-web-performance-eeed781f897f","guid":"https:\/\/medium.com\/hootsuite-engineering\/why-using-requirejs-as-is-could-hurt-your-web-performance-eeed781f897f","description":"Case study by Hootsuite","pubDate":"Tue, 25 Mar 2014 00:00:00 GMT"},{"title":"GridList \u2014 building responsive dashboards with resizable widgets","link":"https:\/\/medium.com\/hootsuite-engineering\/gridlist-building-responsive-dashboards-with-resizable-widgets-79612772af63","guid":"https:\/\/medium.com\/hootsuite-engineering\/gridlist-building-responsive-dashboards-with-resizable-widgets-79612772af63","description":"Case study by Hootsuite","pubDate":"Sun, 06 Jul 2014 00:00:00 GMT"},{"title":"CSS at Hootsuite","link":"https:\/\/medium.com\/hootsuite-engineering\/css-at-hootsuite-94968ff7f3c1","guid":"https:\/\/medium.com\/hootsuite-engineering\/css-at-hootsuite-94968ff7f3c1","description":"Case study by Hootsuite","pubDate":"Tue, 05 Aug 2014 00:00:00 GMT"},{"title":"Mobile Photo Uploads with HTML5","link":"https:\/\/medium.com\/hootsuite-engineering\/mobile-photo-uploads-with-html5-f7ea174ef128","guid":"https:\/\/medium.com\/hootsuite-engineering\/mobile-photo-uploads-with-html5-f7ea174ef128","description":"Case study by Hootsuite","pubDate":"Tue, 14 Apr 2015 00:00:00 GMT"},{"title":"Enhancing Hootsuite with React and Flux","link":"https:\/\/medium.com\/hootsuite-engineering\/enhancing-hootsuite-with-react-and-flux-7636ab9289f7","guid":"https:\/\/medium.com\/hootsuite-engineering\/enhancing-hootsuite-with-react-and-flux-7636ab9289f7","description":"Case study by Hootsuite","pubDate":"Thu, 01 Oct 2015 00:00:00 GMT"},{"title":"Designing Global Application State for Functional Frontends","link":"https:\/\/medium.com\/hootsuite-engineering\/designing-global-application-state-for-functional-frontends-e179e5dbe8f2","guid":"https:\/\/medium.com\/hootsuite-engineering\/designing-global-application-state-for-functional-frontends-e179e5dbe8f2","description":"Case study by Hootsuite","pubDate":"Thu, 23 Jun 2016 00:00:00 GMT"},{"title":"Resizing React Components","link":"https:\/\/medium.com\/hootsuite-engineering\/resizing-react-components-6f911ba39b59","guid":"https:\/\/medium.com\/hootsuite-engineering\/resizing-react-components-6f911ba39b59","description":"Case study by Hootsuite","pubDate":"Thu, 25 Aug 2016 00:00:00 GMT"},{"title":"Designing React components is easier with Cosmos","link":"https:\/\/medium.com\/hootsuite-engineering\/designing-react-components-is-easier-with-cosmos-6a90f15f3242","guid":"https:\/\/medium.com\/hootsuite-engineering\/designing-react-components-is-easier-with-cosmos-6a90f15f3242","description":"Case study by Hootsuite","pubDate":"Thu, 29 Sep 2016 00:00:00 GMT"},{"title":"Step-by-Step VRT with Mugshot","link":"https:\/\/medium.com\/hootsuite-engineering\/step-by-step-vrt-with-mugshot-e761ef01ca46","guid":"https:\/\/medium.com\/hootsuite-engineering\/step-by-step-vrt-with-mugshot-e761ef01ca46","description":"Case study by Hootsuite","pubDate":"Thu, 06 Oct 2016 00:00:00 GMT"},{"title":"The Coffee Threshold for Javascript Compilation","link":"https:\/\/medium.com\/hootsuite-engineering\/the-coffee-threshold-for-javascript-compilation-7dce8d6744c3","guid":"https:\/\/medium.com\/hootsuite-engineering\/the-coffee-threshold-for-javascript-compilation-7dce8d6744c3","description":"Case study by Hootsuite","pubDate":"Tue, 04 Apr 2017 00:00:00 GMT"},{"title":"React Theme Management in Less with Javascript","link":"https:\/\/medium.com\/hootsuite-engineering\/react-theme-management-in-less-with-javascript-4b64cbd5eb15","guid":"https:\/\/medium.com\/hootsuite-engineering\/react-theme-management-in-less-with-javascript-4b64cbd5eb15","description":"Case study by Hootsuite","pubDate":"Tue, 25 Apr 2017 00:00:00 GMT"},{"title":"Javascript Modules, Circular Dependencies and React","link":"https:\/\/medium.com\/hootsuite-engineering\/javascript-modules-circular-dependencies-and-react-648c83584eb5","guid":"https:\/\/medium.com\/hootsuite-engineering\/javascript-modules-circular-dependencies-and-react-648c83584eb5","description":"Case study by Hootsuite","pubDate":"Wed, 16 Aug 2017 00:00:00 GMT"},{"title":"Thoughts on migrating to TypeScript","link":"https:\/\/medium.com\/hootsuite-engineering\/thoughts-on-migrating-to-typescript-5e1a04288202","guid":"https:\/\/medium.com\/hootsuite-engineering\/thoughts-on-migrating-to-typescript-5e1a04288202","description":"Case study by Hootsuite","pubDate":"Thu, 27 Dec 2018 00:00:00 GMT"},{"title":"Migrating a codebase to React 16: some takeaways","link":"https:\/\/medium.com\/hootsuite-engineering\/migrating-a-codebase-to-react-16-some-takeaways-d187018db8ca","guid":"https:\/\/medium.com\/hootsuite-engineering\/migrating-a-codebase-to-react-16-some-takeaways-d187018db8ca","description":"Case study by Hootsuite","pubDate":"Tue, 17 Dec 2019 00:00:00 GMT"},{"title":"React Re-render Optimization","link":"https:\/\/medium.com\/hootsuite-engineering\/react-re-render-optimization-7d369e0bf701","guid":"https:\/\/medium.com\/hootsuite-engineering\/react-re-render-optimization-7d369e0bf701","description":"Case study by Hootsuite","pubDate":"Fri, 24 Apr 2020 00:00:00 GMT"},{"title":"Inbox: Powering our Front-End through a Data-Driven Model","link":"https:\/\/medium.com\/hootsuite-engineering\/inbox-powering-our-front-end-through-a-data-driven-model-716d3f636109","guid":"https:\/\/medium.com\/hootsuite-engineering\/inbox-powering-our-front-end-through-a-data-driven-model-716d3f636109","description":"Case study by Hootsuite","pubDate":"Fri, 24 Apr 2020 00:00:00 GMT"},{"title":"Performance Regression in a React App: Investigation and Remediation Strategies","link":"https:\/\/medium.com\/hootsuite-engineering\/performance-regression-in-a-react-app-investigation-and-remediation-strategies-24d9cbe6fdb3","guid":"https:\/\/medium.com\/hootsuite-engineering\/performance-regression-in-a-react-app-investigation-and-remediation-strategies-24d9cbe6fdb3","description":"Case study by Hootsuite","pubDate":"Wed, 20 Mar 2024 00:00:00 GMT"},{"title":"Migrating from Backbone.js to React.js without losing it","link":"https:\/\/medium.com\/preply-engineering\/migrating-from-backbone-js-to-react-js-without-losing-it-a8b383a102fe","guid":"https:\/\/medium.com\/preply-engineering\/migrating-from-backbone-js-to-react-js-without-losing-it-a8b383a102fe","description":"Case study by Preply","pubDate":"Wed, 19 Sep 2018 00:00:00 GMT"},{"title":"How to debug cumulative layout shift by adding secret visuals to HotJar recordings","link":"https:\/\/medium.com\/preply-engineering\/how-to-debug-cumulative-layout-shift-by-adding-secret-visuals-to-hotjar-recordings-8de15b6308db","guid":"https:\/\/medium.com\/preply-engineering\/how-to-debug-cumulative-layout-shift-by-adding-secret-visuals-to-hotjar-recordings-8de15b6308db","description":"Case study by Preply","pubDate":"Mon, 09 Nov 2020 00:00:00 GMT"},{"title":"Visual coverage: Why and How Preply Measures the Impact of the Design System (part I)","link":"https:\/\/medium.com\/preply-engineering\/visual-coverage-why-and-how-preply-measures-the-impact-of-the-design-system-1057115f4aff","guid":"https:\/\/medium.com\/preply-engineering\/visual-coverage-why-and-how-preply-measures-the-impact-of-the-design-system-1057115f4aff","description":"Case study by Preply","pubDate":"Thu, 19 Sep 2024 00:00:00 GMT"},{"title":"The Implementation Details of Preply\u2019s Design System Visual Coverage (part II)","link":"https:\/\/medium.com\/preply-engineering\/the-implementation-details-of-preplys-design-system-visual-coverage-86b4a78ad2bb","guid":"https:\/\/medium.com\/preply-engineering\/the-implementation-details-of-preplys-design-system-visual-coverage-86b4a78ad2bb","description":"Case study by Preply","pubDate":"Mon, 30 Sep 2024 00:00:00 GMT"},{"title":"How Preply improved INP on a Next.js application (without React Server Components and App Router)","link":"https:\/\/medium.com\/preply-engineering\/how-preply-improved-inp-on-a-next-js-application-without-react-server-components-and-app-router-491713149875","guid":"https:\/\/medium.com\/preply-engineering\/how-preply-improved-inp-on-a-next-js-application-without-react-server-components-and-app-router-491713149875","description":"Case study by Preply","pubDate":"Thu, 20 Feb 2025 00:00:00 GMT"},{"title":"How we convinced everyone to care about technical performance","link":"https:\/\/www.intercom.com\/blog\/bringing-visibility-to-technical-performance\/","guid":"https:\/\/www.intercom.com\/blog\/bringing-visibility-to-technical-performance\/","description":"Case study by Intercom","pubDate":"Tue, 09 May 2017 00:00:00 GMT"},{"title":"Building for everyone: How we made the Intercom Messenger accessible","link":"https:\/\/www.intercom.com\/blog\/messenger-accessibility\/","guid":"https:\/\/www.intercom.com\/blog\/messenger-accessibility\/","description":"Case study by Intercom","pubDate":"Wed, 05 Dec 2018 00:00:00 GMT"},{"title":"Rebuilding Intercom\u2019s homepage with a new CMS","link":"https:\/\/www.intercom.com\/blog\/intercom-homepage-cms\/","guid":"https:\/\/www.intercom.com\/blog\/intercom-homepage-cms\/","description":"Case study by Intercom","pubDate":"Fri, 07 Jun 2019 00:00:00 GMT"},{"title":"Hot button issue: Improving accessibility in the Messenger","link":"https:\/\/www.intercom.com\/blog\/accessibility-buttons-messenger\/","guid":"https:\/\/www.intercom.com\/blog\/accessibility-buttons-messenger\/","description":"Case study by Intercom","pubDate":"Tue, 25 Jun 2019 00:00:00 GMT"},{"title":"Reducing the Intercom Messenger bundle size by 65%","link":"https:\/\/www.intercom.com\/blog\/reducing-intercom-messenger-bundle-size\/","guid":"https:\/\/www.intercom.com\/blog\/reducing-intercom-messenger-bundle-size\/","description":"Case study by Intercom","pubDate":"Mon, 08 Jul 2019 00:00:00 GMT"},{"title":"How we built a component API for interactive data visualizations with Ember","link":"https:\/\/www.intercom.com\/blog\/building-interactive-data-visualizations-with-ember\/","guid":"https:\/\/www.intercom.com\/blog\/building-interactive-data-visualizations-with-ember\/","description":"Case study by Intercom","pubDate":"Tue, 03 Sep 2019 00:00:00 GMT"},{"title":"The evolution of Ember at Intercom","link":"https:\/\/www.intercom.com\/blog\/evolution-of-ember-at-intercom\/","guid":"https:\/\/www.intercom.com\/blog\/evolution-of-ember-at-intercom\/","description":"Case study by Intercom","pubDate":"Tue, 18 Feb 2020 00:00:00 GMT"},{"title":"Improving Site Performance With Webpack Tree Shaking","link":"https:\/\/medium.com\/coursera-engineering\/improving-site-performance-with-tree-shaking-491b6a7e0708","guid":"https:\/\/medium.com\/coursera-engineering\/improving-site-performance-with-tree-shaking-491b6a7e0708","description":"Case study by Coursera","pubDate":"Fri, 10 Jan 2020 00:00:00 GMT"},{"title":"Efficient Front-end Development at Coursera","link":"https:\/\/medium.com\/coursera-engineering\/efficient-front-end-development-at-coursera-3ed8c376f277","guid":"https:\/\/medium.com\/coursera-engineering\/efficient-front-end-development-at-coursera-3ed8c376f277","description":"Case study by Coursera","pubDate":"Fri, 07 Nov 2014 00:00:00 GMT"},{"title":"Source Maps are Great \u2026 When You Get It Right","link":"https:\/\/medium.com\/coursera-engineering\/source-maps-are-great-when-you-get-it-right-b65644685a82","guid":"https:\/\/medium.com\/coursera-engineering\/source-maps-are-great-when-you-get-it-right-b65644685a82","description":"Case study by Coursera","pubDate":"Mon, 30 Mar 2015 00:00:00 GMT"},{"title":"Rapidash: Faster frontend development","link":"https:\/\/medium.com\/coursera-engineering\/rapidash-faster-frontend-development-7dc0635be944","guid":"https:\/\/medium.com\/coursera-engineering\/rapidash-faster-frontend-development-7dc0635be944","description":"Case study by Coursera","pubDate":"Tue, 12 May 2015 00:00:00 GMT"},{"title":"Improving Coursera Global Site Performance: A Head to Head CDN Battle with Production Traffic","link":"https:\/\/medium.com\/coursera-engineering\/improving-coursera-global-site-performance-a-head-to-head-cdn-battle-with-production-traffic-7bbc87b3445c","guid":"https:\/\/medium.com\/coursera-engineering\/improving-coursera-global-site-performance-a-head-to-head-cdn-battle-with-production-traffic-7bbc87b3445c","description":"Case study by Coursera","pubDate":"Thu, 09 Jul 2015 00:00:00 GMT"},{"title":"Why and How Coursera Does Isomorphic Javascript: A Fast and Snappy Quiz","link":"https:\/\/medium.com\/coursera-engineering\/why-and-how-coursera-does-isomorphic-javascript-a-fast-and-snappy-quiz-a42acdd59ef8","guid":"https:\/\/medium.com\/coursera-engineering\/why-and-how-coursera-does-isomorphic-javascript-a-fast-and-snappy-quiz-a42acdd59ef8","description":"Case study by Coursera","pubDate":"Tue, 18 Aug 2015 00:00:00 GMT"},{"title":"How to Migrate React to Isomorphic Rendering","link":"https:\/\/medium.com\/coursera-engineering\/how-to-migrate-react-to-isomorphic-rendering-ecb9df06deab","guid":"https:\/\/medium.com\/coursera-engineering\/how-to-migrate-react-to-isomorphic-rendering-ecb9df06deab","description":"Case study by Coursera","pubDate":"Thu, 01 Oct 2015 00:00:00 GMT"},{"title":"6 Steps to i18n Success for Your Web App","link":"https:\/\/medium.com\/coursera-engineering\/6-steps-to-i18n-success-for-your-web-app-b5702a221860","guid":"https:\/\/medium.com\/coursera-engineering\/6-steps-to-i18n-success-for-your-web-app-b5702a221860","description":"Case study by Coursera","pubDate":"Wed, 20 Jan 2016 00:00:00 GMT"},{"title":"Breaking Up Our JavaScript Monolith with Rapidos","link":"https:\/\/medium.com\/coursera-engineering\/breaking-up-our-javascript-monolith-with-rapidos-86d94e5e9040","guid":"https:\/\/medium.com\/coursera-engineering\/breaking-up-our-javascript-monolith-with-rapidos-86d94e5e9040","description":"Case study by Coursera","pubDate":"Thu, 15 Dec 2016 00:00:00 GMT"},{"title":"Best Practices for Flow Typing React Components","link":"https:\/\/medium.com\/coursera-engineering\/best-practices-for-flow-typing-react-components-5af62a82b4df","guid":"https:\/\/medium.com\/coursera-engineering\/best-practices-for-flow-typing-react-components-5af62a82b4df","description":"Case study by Coursera","pubDate":"Thu, 01 Jun 2017 00:00:00 GMT"},{"title":"Webpack 3 to 4: Facing the known unknowns and unknown unknowns","link":"https:\/\/medium.com\/coursera-engineering\/webpack-3-to-4-facing-the-known-unknowns-and-unknown-unknowns-cdfeb817faf8","guid":"https:\/\/medium.com\/coursera-engineering\/webpack-3-to-4-facing-the-known-unknowns-and-unknown-unknowns-cdfeb817faf8","description":"Case study by Coursera","pubDate":"Thu, 11 Oct 2018 00:00:00 GMT"},{"title":"Improving End-to-End Testing at Coursera using Puppeteer and Jest","link":"https:\/\/medium.com\/coursera-engineering\/improving-end-to-end-testing-at-coursera-using-puppeteer-and-jest-5f1bac9cd176","guid":"https:\/\/medium.com\/coursera-engineering\/improving-end-to-end-testing-at-coursera-using-puppeteer-and-jest-5f1bac9cd176","description":"Case study by Coursera","pubDate":"Wed, 26 Jun 2019 00:00:00 GMT"},{"title":"HubSpot's Approach to Front-End Development at Scale","link":"https:\/\/product.hubspot.com\/blog\/frontend-development-at-scale-1","guid":"https:\/\/product.hubspot.com\/blog\/frontend-development-at-scale-1","description":"Case study by Hubspot","pubDate":"Tue, 19 Mar 2013 00:00:00 GMT"},{"title":"HubSpot's approach to front-end development: Part 2","link":"https:\/\/product.hubspot.com\/blog\/front-end-development-2","guid":"https:\/\/product.hubspot.com\/blog\/front-end-development-2","description":"Case study by Hubspot","pubDate":"Mon, 15 Apr 2013 00:00:00 GMT"},{"title":"Making Hundreds of Developers More Efficient by Creating a Frontend Platform Team","link":"https:\/\/product.hubspot.com\/blog\/frontend-platform","guid":"https:\/\/product.hubspot.com\/blog\/frontend-platform","description":"Case study by Hubspot","pubDate":"Mon, 16 Dec 2019 00:00:00 GMT"},{"title":"How Our Frontend Teams Use CI\/CD to Deliver Value to Customers","link":"https:\/\/product.hubspot.com\/blog\/ci-cd-deliver-value-customers","guid":"https:\/\/product.hubspot.com\/blog\/ci-cd-deliver-value-customers","description":"Case study by Hubspot","pubDate":"Mon, 19 Dec 2022 00:00:00 GMT"},{"title":"Immutability and Its (Potential) Impact on Performance","link":"https:\/\/product.hubspot.com\/blog\/immutability-and-performance","guid":"https:\/\/product.hubspot.com\/blog\/immutability-and-performance","description":"Case study by Hubspot","pubDate":"Fri, 07 Apr 2023 00:00:00 GMT"},{"title":"How We Started Treating Frontend Performance as a Feature","link":"https:\/\/product.hubspot.com\/blog\/treating-frontend-performance-as-a-feature","guid":"https:\/\/product.hubspot.com\/blog\/treating-frontend-performance-as-a-feature","description":"Case study by Hubspot","pubDate":"Wed, 22 Jan 2020 00:00:00 GMT"},{"title":"Moving Mountains: How We Migrated from Enzyme to React Testing Library","link":"https:\/\/product.hubspot.com\/blog\/migrated-from-enzyme-to-react-testing-library","guid":"https:\/\/product.hubspot.com\/blog\/migrated-from-enzyme-to-react-testing-library","description":"Case study by Hubspot","pubDate":"Sun, 23 Nov 2025 00:00:00 GMT"},{"title":"Running multiple versions of a stencil design system without conflicts","link":"https:\/\/www.mercedes-benz.io\/blog\/2022-02-15-running-multiple-versions-of-a-stencil-design-system-without-conflicts","guid":"https:\/\/www.mercedes-benz.io\/blog\/2022-02-15-running-multiple-versions-of-a-stencil-design-system-without-conflicts","description":"Case study by Mercedes-Benz","pubDate":"Tue, 15 Feb 2022 00:00:00 GMT"},{"title":"You might not need module federation: orchestrate your microfrontends at runtime with import maps","link":"https:\/\/www.mercedes-benz.io\/blog\/2023-01-05-you-might-not-need-module-federation-orchestrate-your-microfrontends-at-runtime-with-import-maps","guid":"https:\/\/www.mercedes-benz.io\/blog\/2023-01-05-you-might-not-need-module-federation-orchestrate-your-microfrontends-at-runtime-with-import-maps","description":"Case study by Mercedes-Benz","pubDate":"Thu, 05 Jan 2023 00:00:00 GMT"},{"title":"How can modern tooling save mercedes-benz.io engineering time?","link":"https:\/\/www.mercedes-benz.io\/blog\/2025-05-16-how-can-modern-tooling-save-mercedes-benz-io-engineering-time","guid":"https:\/\/www.mercedes-benz.io\/blog\/2025-05-16-how-can-modern-tooling-save-mercedes-benz-io-engineering-time","description":"Case study by Mercedes-Benz","pubDate":"Fri, 16 May 2025 00:00:00 GMT"},{"title":"Migrating to Next.js: Inside a No-Downtime Architecture Overhaul (Part 1)","link":"https:\/\/www.patreon.com\/posts\/migrating-to-js-112269201","guid":"https:\/\/www.patreon.com\/posts\/migrating-to-js-112269201","description":"Case study by Patreon","pubDate":"Mon, 23 Sep 2024 00:00:00 GMT"},{"title":"4 Untranslatable Words Behind Patreon\u2019s Internationalization Overhaul","link":"https:\/\/www.patreon.com\/posts\/133137028","guid":"https:\/\/www.patreon.com\/posts\/133137028","description":"Case study by Patreon","pubDate":"Thu, 03 Jul 2025 00:00:00 GMT"},{"title":"Seven Years to TypeScript: Migrating 11,000 Files at Patreon","link":"https:\/\/www.patreon.com\/posts\/seven-years-to-typescript-152144830","guid":"https:\/\/www.patreon.com\/posts\/seven-years-to-typescript-152144830","description":"Case study by Patreon","pubDate":"Tue, 03 Mar 2026 00:00:00 GMT"},{"title":"Internationalization With React-Intl","link":"https:\/\/www.calm.com\/blog\/engineering\/d49ac5cpg96haxlxlw8zmzzz2y98lc","guid":"https:\/\/www.calm.com\/blog\/engineering\/d49ac5cpg96haxlxlw8zmzzz2y98lc","description":"Case study by Calm","pubDate":"Thu, 18 Oct 2018 00:00:00 GMT"},{"title":"Using AI to Script Code Modifications","link":"https:\/\/www.calm.com\/blog\/engineering\/using-ai-to-script-code-modifications","guid":"https:\/\/www.calm.com\/blog\/engineering\/using-ai-to-script-code-modifications","description":"Case study by Calm","pubDate":"Wed, 22 Jan 2025 00:00:00 GMT"},{"title":"How we migrated our Rush.js monorepo to Node type stripping","link":"https:\/\/blog.calm.com\/engineering\/how-we-migrated-our-rushjs-monorepo-to-node-type-stripping","guid":"https:\/\/blog.calm.com\/engineering\/how-we-migrated-our-rushjs-monorepo-to-node-type-stripping","description":"Case study by Calm","pubDate":"Thu, 21 Aug 2025 00:00:00 GMT"},{"title":"Advanced responsive typography: technical implementation of Fit Text","link":"https:\/\/www.framer.com\/blog\/fit-text-feature\/","guid":"https:\/\/www.framer.com\/blog\/fit-text-feature\/","description":"Case study by Framer","pubDate":"Tue, 30 May 2023 00:00:00 GMT"},{"title":"How Framer does AVIF","link":"https:\/\/www.framer.com\/blog\/introducing-avif-support\/","guid":"https:\/\/www.framer.com\/blog\/introducing-avif-support\/","description":"Case study by Framer","pubDate":"Thu, 30 May 2024 00:00:00 GMT"},{"title":"Sites now become interactive 50% faster","link":"https:\/\/www.framer.com\/blog\/sites-interactive-faster\/","guid":"https:\/\/www.framer.com\/blog\/sites-interactive-faster\/","description":"Case study by Framer","pubDate":"Fri, 08 Nov 2024 00:00:00 GMT"},{"title":"Rabbit hole of React error handling","link":"https:\/\/www.framer.com\/blog\/react-code-boundaries\/","guid":"https:\/\/www.framer.com\/blog\/react-code-boundaries\/","description":"Case study by Framer","pubDate":"Tue, 18 Mar 2025 00:00:00 GMT"},{"title":"Bundling at Framer: Rolldown for faster sites","link":"https:\/\/www.framer.com\/blog\/framer-rolldown\/","guid":"https:\/\/www.framer.com\/blog\/framer-rolldown\/","description":"Case study by Framer","pubDate":"Thu, 20 Nov 2025 00:00:00 GMT"}]}}