ProjectsAboutSkillsContact

PROJECTS / SHOPIFY

Modernising and speeding up a Shopify store

An existing theme modernised through a Vue 2 to Vue 3 migration, a move from Webpack to Vite/Rollup, and a new component loading strategy.

I handled the stack migration, build configuration, and changes to component loading and initialisation. I fixed compatibility issues in the existing code, created debugging tools, and prepared a guide for the team. I worked on one store. The changes were applied to the other themes without my involvement.

Shopify · Vue · Vite / Rollup · Tailwind CSS

All projects

Modernising and speeding up a Shopify store

AI reconstruction of a fashion collection in desktop and mobile layouts, with a split collection header and quick-add product cards.

Challenge. Decision. Outcome.

01 / Challenge

Optimise an existing Shopify theme built with Vue, update its stack, and resolve problems with component loading and initialisation.

The theme shared a foundation with several other stores belonging to the same client. The changes needed to be documented so the team could repeat the modernisation across the other projects.

02 / Decision

I migrated:

  • Vue 2 to Vue 3
  • Webpack to Vite/Rollup
  • Tailwind CSS 2 to 4.

The work included adapting existing code and fixing how data passed from Liquid to Vue components, as well as how those components were loaded and initialised.

03 / Outcome

In my measurements, the mobile PageSpeed Insights Performance score rose from 14 to 78 after the modernisation.

I wrote a detailed guide for repeating the migration and optimisation across the client's other themes that shared the same foundation.

My main contribution was updating the stack and build system, loading only the components each page needed, deferring initialisation, and preparing the team to apply the changes elsewhere.

Updating the stack

I migrated:

  • Vue 2 to Vue 3
  • Webpack to Vite/Rollup
  • Tailwind CSS 2 to 4.

The work included adapting existing code and fixing how data passed from Liquid to Vue components, as well as how those components were loaded and initialised.

Only the components a page needs

I reworked JavaScript loading so each page received only the components present in its markup. The browser did not request files for the other components.

Individual parts of the theme had their own entry points, included through the corresponding Liquid sections. The code loaded by a page therefore reflected its actual content.

Deferred initialisation

I separated loading files from creating Vue instances. Most components were initialised as they approached the viewport, using IntersectionObserver, so all initialisation work did not happen at once.

Components that needed to work regardless of visibility still started immediately, including the AJAX cart and quick add.

Debugging tools

During the migration, I built temporary tools to inspect parameters passed through HTML, find nonstandard attributes, and track which Vue components had started.

These helped identify problems at the boundary between Liquid and Vue and check component integration after the stack update.

Result and handover

In my measurements, the mobile PageSpeed Insights Performance score rose from 14 to 78 after the modernisation. I wrote a detailed guide for repeating the migration and optimisation across the client's other themes that shared the same foundation. My main contribution was updating the stack and build system, loading only the components each page needed, deferring initialisation, and preparing the team to apply the changes elsewhere.

In my measurements, the mobile PageSpeed Insights Performance score rose from 14 to 78.

Next project

Restoring and developing an inherited corporate website

Anonymised homepage hero with colourful fluid-canvas swirls behind a large headline and circular call to action.
View case study →All projects

05 / CONTACT

Get in touch

Have a project, a technical challenge, or a collaboration in mind? Send me a message.

Message me on TelegramEmail me

  • Telegram
  • ·Email
  • ·LinkedIn
  • ·+380 99 257 86 23

Frontend Developer · React/Next.js and Shopify

Odesa, Ukraine

ProjectsAboutSkillsContact
TelegramEmailLinkedIn+380 99 257 86 23

© 2026 Vladyslav Osipov