gmi.software
Services

Start with the outcome you need to achieve.

Explore all services
Core areas
AI & AutomationFrom workflow and business case to productionMobile AppsiOS, Android, React NativeHeadless & B2B commerceStores, sales platforms, ERP/PIM integrations
Diagnostic auditMobile App Code AuditBefore release, after handover or ahead of modernization
Complementary services
AI-gen developmentAgents, RAG and LLM integrationsE-commerce mobile analyticsFunnel measurement and data-led decisionsProduct Discovery & DesignScope, prototype and delivery planBackend, API & IntegrationsSystems connected to business operationsApp maintenanceSLA, monitoring, stability and continuous improvementWorkshops & estimationRisks, decisions and fixed-price scope
Not sure where to start?Book a short consultation
Projects

Explore products shaped by clear decisions and measurable outcomes.

All case studies
Delivered products

Case studies

Interfaces, scale and delivery outcomes
Świat KsiążkiMobile loyalty programme and product catalogueSFDCommerce, loyalty and everyday motivationSTS / Solarts3D solar installation configurator
View all case studies

Project areas

  • Mobile
  • Web
  • AI
  • E-commerce

Different industries. One goal — tangible outcomes.

Looking for inspiration? Explore the app ideas library
Technologies

We choose the stack around the product, scale and risk.

Explore the full technology stack
Core specialisms
MobileReact NativeScalable iOS and Android productsCommerceMedusaJS + headlessFlexible commerce, B2B and integrations
Frontend & QA
Next.jsReactTypeScriptPlaywrightMaestro
Backend & cloud
Node.jsNestJSPostgreSQLDockerAWS
AI, 3D & automation
3D configuratorsAI agents & automationRAG & knowledge basesAI-native products
Tools

Estimate costs and organise decisions before a call.

3 free tools
App cost calculatorEstimate scope and budgetOpen toolE-commerce AI adviserMap decisions, risks and optionsOpen toolE-commerce TCO calculatorCompare SaaS and custom over 5 yearsOpen tool
Already have a result or brief?Discuss your outcome
Company

Meet the people, working model and principles behind GMI.

About usAccountability, history and proofCareersHow we work and open applicationsContactNew projects, support or partnerships
Get in touch
AI Opportunity Sprint
Services
Mobile AppsHeadless & B2B commerceDiagnostic auditMobile App Code AuditApp maintenanceAll services
Projects and results
Technologies
Next.jsNode.jsAWSFull technology stack
Tools
App cost calculatorEstimate scope and budgetE-commerce AI adviserMap decisions, risks and optionsE-commerce TCO calculatorCompare SaaS and custom over 5 years
Meet GMIGet in touch
Back to blog
Commerce architecture
Published: July 29, 2026
8 min read

MedusaJS vs custom Node.js commerce engine

When to build on MedusaJS and when to write a custom commerce engine: commerce domain, core module cost, integrations, maintenance and ownership of business logic.

Mikołaj Lehman, CEO & Founder, GMI Software
Mikołaj Lehman
CEO & Founder, GMI Software

In brief

MedusaJS is a better starting point when a company needs flexible commerce but does not want to write cart, products, orders, customers, promotions and payments from scratch. A custom Node.js engine makes sense only when the sales domain is so unusual that an existing core gets in the way more than it helps.

MedusaJS is a better starting point when a company needs flexible commerce but does not want to write cart, products, orders, customers, promotions and payments from scratch. A custom Node.js engine makes sense only when the sales domain is so unusual that an existing core gets in the way more than it helps.

The short answer: business context wins, not the tool name

Writing a custom commerce engine sounds attractive because it gives full control. In practice, it also means owning dozens of boring but critical behaviors: cart, orders, discounts, taxes, returns, payments, customer, inventory, audit and integrations.

MedusaJS lets the team start with a commerce core and focus custom code where the company truly has an unusual process. A custom engine makes sense when that core would need so many workarounds that it becomes friction.

When the first option is the better choice

MedusaJS fits when the company wants code ownership and flexibility but still sells products, variants, carts, orders and payments in a recognizable commerce model.

It creates the most value as a core for headless, B2B, mobile app, sales rep portal and ERP/PIM/WMS integrations.

  • You need standard commerce objects that can be extended.
  • You want to reach the first production version faster.
  • The uniqueness is in rules and integrations, not the entire nature of selling.

When the second option makes more sense

A custom engine makes sense when selling looks more like contract configuration, an exchange, a marketplace with unusual settlements, a booking system or a production workflow than a classic store.

This is a serious architecture decision. You need to calculate the cost of building foundations that an existing engine already has and maintaining them for years.

  • The order model does not fit typical commerce.
  • Pricing, settlement or configuration rules are core to the advantage.
  • The team has budget and capability to maintain its own domain.

Risks hidden by a simple comparison

The MedusaJS risk is poor fit for a very unusual domain and too many workarounds. The custom-engine risk is underestimating commerce foundations that do not look impressive in a presentation but must work perfectly.

The expensive details are partial returns, corrections, taxes, payment idempotency, change history, permissions, migrations and data consistency with ERP.

  • Building from scratch without a list of standard behaviors.
  • No owner for order and payment domain.
  • Believing a simple MVP cart is enough for production B2B.

How to decide without burning budget

First check how much of your process is typical commerce and how much is truly custom domain.

  1. List objects: product, variant, price, cart, order, payment, return, invoice.
  2. Mark which behaviors MedusaJS supports by default and which need extensions.
  3. Calculate the cost of writing and maintaining missing foundations from scratch.
  4. Choose a custom engine only when an existing core constrains more than it accelerates.

How GMI helps

GMI uses MedusaJS where an open commerce core shortens the path to production. We build custom backends when the client domain truly requires it.

In DDT, we compare MedusaJS, custom engine and hybrid options across orders, payments, integrations and maintenance.

Next step

Explore MedusaJS developmentSee delivery proof: SFD commerce

An example of GMI commerce delivery; it does not claim that SFD uses the technologies compared in this article.

Frequently asked questions

Does MedusaJS limit custom logic?
It can if the domain is extremely unusual. In many projects, it provides foundations and lets the team extend areas that actually differentiate the business.
When should you not write a custom commerce engine?
When you sell standard products, variants and orders, while custom parts are mainly pricing, integrations or frontend. Then an existing core usually saves time.
What should be calculated before deciding?
The cost of cart, orders, payments, returns, permissions, integrations, tests, migrations and maintenance over 24-36 months.

Content updated: July 29, 2026

Mikołaj Lehman, CEO & Founder, GMI Software
Mikołaj Lehman
CEO & Founder, GMI Software

Mikołaj Lehman is the CEO and founder of GMI Software. On the blog, he covers decisions around mobile apps, ecommerce and digital product delivery.

  • Mobile apps and React Native
  • Headless and B2B ecommerce
  • MedusaJS
  • Digital product delivery

Google Preferred Sources

See GMI more often in Google

Add gmi.software as a preferred source. Google may highlight our new articles more often in Top Stories and supported AI experiences.

Share article:

Related articles

E-commerce

Medusa vs Shopify Plus: headless e-commerce TCO in 2026

Compare implementation, platform fees, integrations, operations and change costs. Assess three options: stay, extend or replatform.

→
Mobile apps

AI-built mobile app production-readiness checklist

A checklist for code, data, tests, release and responsibility for a React Native or Expo app.

→

Let’s discuss your project.

Tell us what you need. We’ll suggest the next step.

[email protected]
gmi.software Sp. z o.o.ul. Jana Heweliusza 11 / 819
80-890 Gdansk, Poland
© 2026 gmi.software Sp. z o.o.
Privacy PolicyTerms