Back to projects

Custom e-commerce store migrated from Shopify

Vzorky Parfémov

The project was built as a replacement for the original Shopify setup, which was too costly and limiting for a smaller online store. The goal was to create a custom e-commerce system with lower monthly costs, lower transaction fees, and more control over orders, shipping, invoices, and content.

E-commerce architectureShopify migrationFrontend developmentBackend developmentStripe integrationPacketa integrationInvoices and emailsSEO foundationHosting and deployment
Visit website
01

E-commerce architecture

02

Shopify migration

03

Frontend development

Context

The original solution worked, but operationally and financially it no longer made sense.

Challenge

The store originally ran on Shopify, where monthly costs included the platform fee, a Packeta plugin, and higher transaction fees. The Packeta shipping process was also unnecessarily manual and limited by the external plugin.

Goal

The goal was to build a custom e-commerce solution on Medusa.js that reduces monthly costs, lowers transaction fees, enables a more flexible shipping integration, and gives more control over orders, invoices, emails, products, and content.

Project type

Custom e-commerce

Migration

Shopify → Medusa.js

Market

SK / CZ

Integrations

Stripe, Packeta, AWS, UseSend

Year

2026

What's included

A complete e-commerce system from backend to fulfillment.

The project included Shopify migration, Medusa backend setup, storefront, products, blog, payments, shipping, emails, invoices, SEO, deployment, and custom admin extensions for practical daily operation.

Medusa backend and product catalog

I set up the Medusa.js backend, products, variants, inventory, shipping settings, and core e-commerce processes needed to run the store.

Storefront and customer interface

The storefront includes a landing page, product catalog, product detail, cart, user accounts, blog, FAQ, and responsive interface.

Stripe payments and lower transaction fees

Stripe was integrated to replace the original Shopify payments and reduce transaction costs from 3.5% + EUR 0.25 to 1.5% + EUR 0.25.

Custom Packeta integration

The original manual export-and-plugin process was replaced with an API integration. Shipping a package became a flow of opening an order, submitting it to Packeta, and printing the label.

Invoices, emails, and workflows

The system includes custom invoice generation, internal and customer transactional emails, and workflow logic for order processes.

Custom infrastructure and deployment

The solution runs on a custom VPS through Coolify, with separate Medusa server, worker, storefront, PostgreSQL database, Redis, and AWS service integrations.

Decisions

What mattered most in the project

This project was not only about redesigning the store. The key was to reduce costs, remove manual steps, gain more control over operations, and keep the system flexible for future expansion.

01

Migration away from the Shopify ecosystem

Moving to a custom solution removed monthly platform and plugin fees and enabled more control over how orders, payments, shipping, and content work.

02

Simplifying Packeta fulfillment

The original process required selecting the order, exporting CSV, downloading the file, logging into Packeta, importing it, confirming it, and printing the label. The new API-based solution reduced the flow to a few clicks directly from the order.

03

Custom Medusa admin extensions

The admin was extended with practical tools for transactional emails, invoice generation, and Packeta workflow so daily operations could be handled in one place.

04

SEO migration and content preservation

Blog articles were migrated from Shopify and the new solution was prepared with sitemap, metadata, JSON-LD/schema.org markup, and Search Console.

05

Operational infrastructure

Deployment had to account not only for the storefront, but also for the Medusa server, worker, database, Redis, storage layer, emails, and stable operation on owned infrastructure.

Showcase

Key parts of the project

Selected screens showing the store customer interface, product catalog, content sections, and user-facing parts.

Technologies

Technology used in the solution

The stack was designed to replace Shopify, reduce operating costs, and provide full control over the backend, storefront, payments, shipping, emails, and infrastructure.

Medusa.jsE-commerce backend for products, variants, orders, customers, shipping, and admin extensions.
Next.jsStorefront, routing, rendering, and customer-facing e-commerce interface.
PostgreSQLDatabase foundation for the Medusa backend and e-commerce data.
RedisSupport for background processes, workers, and operational infrastructure.
StripeOnline payments with lower transaction fees compared to the original setup.
Packeta APICustom integration of pickup points and package fulfillment through API.
AWS S3Storage for product images, media, and files.
AWS SESEmail infrastructure for internal and customer notifications.
UseSendObservability layer for tracking transactional email delivery.
CoolifyDeployment on a custom VPS including storefront, Medusa server, worker, database, and Redis service.
Google Search ConsoleIndexing, sitemap, and search visibility monitoring.

Outcome

A more flexible store with lower costs and simpler operations.

The result is a custom e-commerce solution that replaced Shopify, reduced recurring costs, lowered transaction fees, simplified Packeta fulfillment, and provided full control over the backend, storefront, invoices, emails, and deployment.

-EUR 45/mo.

eliminated Shopify and Packeta plugin fees

1.5%

transaction fee instead of the original 3.5%

API

Packeta fulfillment without manual CSV workflow

Custom

invoices, emails, admin extensions, and workflows

SEO-ready

sitemap, metadata, JSON-LD, schema.org, and Search Console

Self-hosted

storefront, Medusa server, worker, PostgreSQL, and Redis

Next step

Planning a similar project?

Send a few sentences about your store, current setup, fees, and processes you want to improve. I will get back to you with a recommended approach and estimated scope.

New inquirySimilar project

We need a clearer website, a better inquiry flow, and a technical foundation that can grow.

Reply with recommended scope

48 h