![Categorizing Products at Scale](https://cdn.shopify.com/s/files/1/0779/4361/articles/Figure_5-_Sample_traversal_of_taxonomy_at_inference_time.jpg?v=1588269390&width=600)
Search results for “performance”:
![Categorizing Products at Scale](https://cdn.shopify.com/s/files/1/0779/4361/articles/Figure_5-_Sample_traversal_of_taxonomy_at_inference_time.jpg?v=1588269390&width=600)
![](https://cdn.shopify.com/s/files/1/0779/4361/articles/woman-checking-phone_4460x4460_a88df3b6-e348-44b8-89cd-f95ad6190a7c.jpg?v=1531242786&width=600)
Scaling iOS CI with Anka
![](https://cdn.shopify.com/s/files/1/0779/4361/articles/Shop_Eng_Blog_Header_4.png?format=jpg&quality=90&v=1618938757&width=600)
Dynamic ProxySQL Query Rules
![](https://cdn.shopify.com/s/files/1/0779/4361/articles/ShopifyEng_BlogIllustrations_211008_72ppi_01_YJIT-BuildingaNewJITCompilerforCRuby_0a00a8cf-3951-4556-9b2c-3f88e9de76ff.jpg?v=1697134143&width=600)
Introducing Ruvy
![](https://cdn.shopify.com/s/files/1/0779/4361/articles/Erick_06.jpg?v=1614029735&width=600)
Read Consistency with Database Replicas
![](https://cdn.shopify.com/s/files/1/0779/4361/articles/ShopifyEng_BlogIllustrations_210525_72ppi_03_HowtoBuildaWebAppwithandwithoutRailsLibraries_c22aca28-a94f-4f55-b069-5dc806a498ac.webp?v=1652466543&width=600)
Shopify Invests in Research for Ruby at Scale
![](https://cdn.shopify.com/s/files/1/0779/4361/articles/ShopifyEng_BlogIllustrations_211008_72ppi_03_GitHubDoesMyOperationsHomeworkA-RubySpeedStory.jpg?v=1634656542&width=600)
GitHub Does My Operations Homework: A Ruby Speed Story
![](https://cdn.shopify.com/s/files/1/0779/4361/articles/ShopifyHelpCenter.png?format=jpg&quality=90&v=1617296393&width=600)
Building Smarter Search Products: 3 Steps for Evaluating Search Algorithms
![](https://cdn.shopify.com/s/files/1/0779/4361/articles/ShopifyEng_BlogIllustrations_211008_72ppi_05_TheVitalityofCoreWebVitals.jpg?v=1636040453&width=600)
The Vitality of Core Web Vitals
![](https://cdn.shopify.com/s/files/1/0779/4361/articles/image_1.png?format=jpg&quality=90&v=1611350361&width=600)
Using GraphQL for High-Performing Mobile Applications
![](https://cdn.shopify.com/s/files/1/0779/4361/articles/ShopifyEng_BlogIllustrations_220111_72ppi_05_TalkRecapFromRubyConf2021.jpg?v=1646251175&width=600)
RubyConf 2021: The Talks You Might Have Missed
![](https://cdn.shopify.com/s/files/1/0779/4361/articles/Production_Engineering_1.jpeg?v=1494879582&width=600)
Automatic Deployment at Shopify
![](https://cdn.shopify.com/s/files/1/0779/4361/articles/cannabis-devices-large-5f7666a29eff9615ee55f2adf90d2c3a5d3f2cbd55744a70ca10ff59fd03b4f1.png?format=jpg&quality=90&v=1549492252&width=600)
Engineering a Historic Moment: Shopify Gets Ready for Cannabis in Canada
![](https://cdn.shopify.com/s/files/1/0779/4361/articles/developer-reviewing-javascript_9a11c38d-54f7-4144-bf0f-298d918dd782.jpg?v=1594067019&width=600)
A First Look at Reanimated 2
![](https://cdn.shopify.com/s/files/1/0779/4361/articles/ShopifyEng_BlogIllustrations_220216_72ppi_04_BestInClassDXWithViteAndHydrogen_ff72fcea-992e-4268-be2c-2f5fe8688349.jpg?v=1661266465&width=600)
How We Built Oxygen: Hydrogen’s Counterpart for Hosting Custom Storefronts
![](https://cdn.shopify.com/s/files/1/0779/4361/articles/ShopifyEng_BlogIllustrations_220411_216ppi_02_RubyExecutionModels_1.jpg?v=1677186891&width=600)
Improving the Developer Experience with the Ruby LSP
![](https://cdn.shopify.com/s/files/1/0779/4361/articles/Video_Thumbnail___1920_x_1080px_1.png?format=jpg&quality=90&v=1607098001&width=600)
A World Rendered Beautifully: The Making of the BFCM 3D Data Visualization
![](https://cdn.shopify.com/s/files/1/0779/4361/articles/ShopifyEng_BlogIllustrations_210719_216ppi_05_FiveStepsforBuildingMachineLearning_2.jpg?v=1676298056&width=600)
ShopifyQL Notebooks: Simplifying Querying with Commerce Data Models
![](https://cdn.shopify.com/s/files/1/0779/4361/articles/ShopifyEng_BlogIllustrations_210614_72ppi_02_GuideToRunningAnEngineeringProgram.jpg?v=1626795999&width=600)
A Guide to Running an Engineering Program
![](https://cdn.shopify.com/s/files/1/0779/4361/articles/Shopify-Preload.png?format=jpg&quality=90&v=1495656054&width=600)
How 17 Lines of Code Improved Shopify.com Loading by 50%
![](https://cdn.shopify.com/s/files/1/0779/4361/articles/ShopifyEng_BlogIllustrations_220111_72ppi_01_AllanLeinwand2022BlogPost-Header.jpg?v=1644442799&width=600)
Cloud, Load, and Modular Code: What 2022 Looks Like for Shopify
![](https://cdn.shopify.com/s/files/1/0779/4361/articles/ShopifyEng_BlogIllustrations_210525_72ppi_02_ReactNativeistheFutureofMobileatShopify_5ea73a9e-d5d6-4dd9-8793-8c647465e925.jpg?v=1623686292&width=600)
React Native is the Future of Mobile at Shopify
![](https://cdn.shopify.com/s/files/1/0779/4361/articles/ShopifyEng_BlogIllustrations_210719_72ppi_06_ShopifysPathtoaFasterTrinoQueryExecutionInfrastructure.jpg?v=1631638033&width=600)
Shopify's Path to a Faster Trino Query Execution: Infrastructure
![](https://cdn.shopify.com/s/files/1/0779/4361/articles/ShopifyEng_BlogIllustrations_220411_72ppi_07_GenericShopifyEngineeringHeaderB.jpg?v=1653311527&width=600)
Lessons Learned From Running Apache Airflow at Scale
![](https://cdn.shopify.com/s/files/1/0779/4361/articles/FunctionFooWithOutOptimization_jpg.jpg?v=1585599215&width=600)
Optimizing Ruby Lazy Initialization in TruffleRuby with Deoptimization
![](https://cdn.shopify.com/s/files/1/0779/4361/articles/unnamed_1.jpg?v=1596038165&width=600)
Migrating Large TypeScript Codebases To Project References
![](https://cdn.shopify.com/s/files/1/0779/4361/articles/ShopifyEng_BlogIllustrations_210614_72ppi_04_QueryingStrategiesForGraphQLClients.jpg?v=1625687621&width=600)
Querying Strategies for GraphQL Clients
![](https://cdn.shopify.com/s/files/1/0779/4361/articles/Shop_Eng_Blog_Header_3.png?format=jpg&quality=90&v=1618518074&width=600)
Management of Native Code and React Native at Shopify
![](https://cdn.shopify.com/s/files/1/0779/4361/articles/ShopifyEng_BlogIllustrations_211008_216ppi_02_TryOutYJITforFasterRubying.jpg?v=1673882706&width=600)
Ruby 3.2’s YJIT is Production-Ready
![](https://cdn.shopify.com/s/files/1/0779/4361/articles/Frame_11-4.jpg?v=1622753152&width=600)
Updating Illustrations at Scale
![](https://cdn.shopify.com/s/files/1/0779/4361/articles/ShopifyEng_BlogIllustrations_220111_216ppi_01_AllanLeinwand2022BlogPost-Header.jpg?v=1675267141&width=600)
Bringing Javascript to WebAssembly for Shopify Functions
![](https://cdn.shopify.com/s/files/1/0779/4361/articles/bikes-take-the-turn.jpg?v=1607626795&width=600)
Simplify, Batch, and Cache: How We Optimized Server-side Storefront Rendering
![Introducing LinNét: Using Rich Image and Text Data to Categorize Products at Scale](https://cdn.shopify.com/s/files/1/0779/4361/articles/ShopifyEng_BlogIllustrations_210913_72ppi_04_ContinuousJustInTimeGrowthForYourCareer.jpg?v=1634153999&width=600)
Using Rich Image and Text Data to Categorize Products at Scale
![](https://cdn.shopify.com/s/files/1/0779/4361/articles/ShopifyEng_BlogIllustrations_221018_216ppi_02_WhatOpenSourcingFlashlistTaughtUs.jpg?v=1668449760&width=600)
What We Learned from Open-Sourcing FlashList
![](https://cdn.shopify.com/s/files/1/0779/4361/articles/coding-on-laptop_4460x4460_1.jpg?v=1535737359&width=600)
Iterating Towards a More Scalable Ingress
![](https://cdn.shopify.com/s/files/1/0779/4361/articles/rails-5-upgrade.png?format=jpg&quality=90&v=1497980926&width=600)
Upgrading Shopify to Rails 5
![](https://cdn.shopify.com/s/files/1/0779/4361/articles/ShopifyEng_BlogIllustrations_220216_72ppi_03_7LessonsForOptimizingApacheFlinkApplications.jpg?v=1647287310&width=600)
7 Tips For Optimizing Apache Flink Applications
![](https://cdn.shopify.com/s/files/1/0779/4361/articles/ShopifyEng_BlogIllustrations_211026_72ppi_04_HeadfirstLiquidCRefactor.jpg?v=1646937552&width=600)
After the Refactor: A Path to Faster Rendering with Liquid-C
![](https://cdn.shopify.com/s/files/1/0779/4361/articles/ShopifyEng_BlogIllustrations_211026_72ppi_03_SearchAtShopifyDataAndEngineeringRangeIsTheFuture.jpg?v=1642173861&width=600)
Search at Shopify—Range in Data and Engineering is the Future
![](https://cdn.shopify.com/s/files/1/0779/4361/articles/ShopifyEng_BlogIllustrations_210719_216ppi_01_ShopifyMadePatternsInOurRailsApps.jpg?v=1658511846&width=600)
Mastering React’s Stable Values
![](https://cdn.shopify.com/s/files/1/0779/4361/articles/Composite_Primary_Keys_Ruby_on_Rails.png?format=jpg&quality=90&v=1603994822&width=600)
How to Introduce Composite Primary Keys in Rails
![Shopify's Path to a Faster Trino Query Execution: Custom Verification, Benchmarking, and Profiling Tooling](https://cdn.shopify.com/s/files/1/0779/4361/articles/ShopifyEng_BlogIllustrations_211026_72ppi_01_ShopifysPathToAFasterTrinoQueryExecutionCustomVerificationBenchmarkingAndProfilingTooling.jpg?v=1637706738&width=600)
Shopify's Path to a Faster Trino Query Execution: Custom Verification, Benchmarking, and Profiling Tooling
![](https://cdn.shopify.com/s/files/1/0779/4361/articles/ShopifyEng_BlogIllustrations_220111_72ppi_03_ShopifysVicePresidentsPlaybookForScalingMachineLearning_83950eb5-46b1-4b9f-a0fe-cca95d12dd78.jpg?v=1661280375&width=600)
Shopify Data’s Guide To Opportunity Sizing
![](https://cdn.shopify.com/s/files/1/0779/4361/articles/ShopifyEng_BlogIllustrations_211008_72ppi_04_DebuggingsystemsintheCloud-MySQLKubernetesandCgroups.jpg?v=1634832350&width=600)
Debugging Systems in the Cloud: MySQL, Kubernetes, and Cgroups
![](https://cdn.shopify.com/s/files/1/0779/4361/articles/shopify_logo_black_ff95b40b-fe43-4ed3-bdce-e8e32f29206f.png?format=jpg&quality=90&v=1501534668&width=600)
Introducing Shipit
![](https://cdn.shopify.com/s/files/1/0779/4361/articles/ShopifyEng_BlogIllustrations_211008_72ppi_01_YJIT-BuildingaNewJITCompilerforCRuby_3cd7d064-62e2-4bf9-aaf3-7afb8ce1d979.jpg?v=1657047356&width=600)
Shopify and Open Source: A Mutually Beneficial Relationship
![](https://cdn.shopify.com/s/files/1/0779/4361/articles/gopherswrench.jpg?v=1494880285&width=600)
Announcing go-lua
![](https://cdn.shopify.com/s/files/1/0779/4361/articles/ShopifyEng_RailsConf2022.jpg?v=1660326801&width=600)
RailsConf 2022: 10 Shopify Tech Talks You Might Have Missed
![Want to Improve UI Performance? Start by Understanding your User](https://cdn.shopify.com/s/files/1/0779/4361/articles/designer-drawing-website-mockup.jpg?v=1568997027&width=600)
Want to Improve UI Performance? Start by Understanding Your User
![How to Write Fast Code in Ruby on Rails - Women on laptop writing Ruby code](https://cdn.shopify.com/s/files/1/0779/4361/articles/laptop_on_desk_with_hands_over_shoulder1_1.jpg?v=1570543223&width=600)