Skip to content
Roman-Leonid Yurchenko

Why should we trust you with difficult client work?

Senior Shopify engineering for agency delivery teams

I take the technically difficult parts of Shopify builds — the ones that hold up a timeline because nobody is sure they are possible. Most of my work has been inside agency delivery, in existing codebases, alongside a designer and a PM.

Scope

What I own

Commerce logic, checkout surfaces, configurators, catalog and data work. I do not need the whole project — I need the whole problem.

3 areas · no records required

Complex Shopify commerce
Multi-step configurators, bundles, personalization, dependent selections, and high-variant product pages where the hard part is the state model rather than the markup.
  • Configurators
  • Bundles
  • Engraving & personalization
  • Dependent selections
  • Custom cart behaviour
Shopify Plus platform engineering
Functions, Checkout UI Extensions, and platform-native business logic — putting rules where Shopify can enforce them instead of where an app has to keep them in sync.
  • Shopify Functions
  • Checkout UI Extensions
  • Discount & validation rules
  • App replacement
Storefront, catalog & data architecture
GraphQL bulk operations, catalog transformation, migrations, and theme architecture built to be maintained by someone who is not me.
  • GraphQL & bulk operations
  • Catalog migration
  • High-scale product data
  • Performance
  • Maintainability

Evidence

Selected case studies

3 published · outcomes verified

Delivery

Working in your team

Working with designers and PMs, inheriting themes, feature branches and small PRs, written status, QA, and documentation for whoever inherits the work.

Judgment

Where the logic belongs

The requirement sets the boundary. The decision is which layer owns each part, and what that costs.

Worked decision

Discount engraving without giving away the case

Requirement
Make eligible engraving free when configured purchases merge engraving into a parent line or expand it into separately represented components.
Shopify boundary
After transformation, engraving may no longer be a standalone line. The discount must recover its eligible value without discounting the entire configured purchase.
Architecture
Cart Transform carries merged engraving value forward. A Discount Function reads that value or an allowed engraving catalog; the theme displays Shopify’s allocations.
Alternative
Making the whole parent free would also give away the case. A fixed discount preserves the distinction between case price and engraving value.
Tradeoff
Expanded bundles depend on an engraving price catalog maintained in code. Product identities, tier rules, and prices must remain synchronized with storefront configuration.
Validation
Unit tests for the engraving discount cover transformed shapes, code-maintained prices, currency handling, and invalid payloads. Incomplete reader contracts return no discount candidate.

Where it can live

  • Theme

    Displays allocations

    Used here

  • Shopify Function

    Carries value and applies discounts

    Used here

  • Checkout UI Extension

  • Admin configuration

    Campaign setup

    Used here

  • App

  • External service

Stack

Tools

Secondary to the work. Kept off the homepage deliberately.

Platform
  • Shopify Plus
  • Functions
  • Checkout Extensibility
  • Metaobjects
  • Markets
  • B2B
Languages
  • Liquid
  • TypeScript
  • Rust (Functions)
  • GraphQL
Frontend
  • OS 2.0 theme architecture
  • Alpine
  • Tailwind
  • Next.js
Tooling
  • Shopify CLI
  • Git
  • GitHub Actions
  • Vercel

Working together

Placeholder copy

Available for senior subcontract work now, and open to a permanent role with a team that has enough hard Shopify problems to keep one engineer busy.

I reply within one business day.