# gmi.software > GMI Software is a Poland-based software house in Gdansk specializing in React Native mobile apps, MedusaJS/headless commerce, backend/API systems and practical AI integrations for EU, UK and US clients. 120+ projects, 30-person team, 100+ integrations. ## Company - [Homepage](https://gmi.software/) - [Website](https://gmi.software) - Contact: info@gmi.software - Location: Jana Heweliusza 11/819, 80-890 Gdansk, Poland - Commercial model: initial estimate within 48 hours; fixed price after DDT (Discovery, Design & Technology) for agreed scope - Primary language: English; [Polish site](https://gmi.software/pl) ## Verified proof points - Delivery scale: 120+ projects; 30-person team; 100+ integrations. - SFD: 100,000+ downloads; 4.9 App Store rating; Mobile Trends Awards 2025 nomination in Commerce. - EMKA: 5000+ downloads in first month. ## Core services - [Mobile apps (React Native, Expo)](https://gmi.software/services/mobile-apps) - React Native product teams, iOS/Android delivery, app store launch and maintenance. - [Headless e-commerce](https://gmi.software/services/headless-ecommerce) - B2B portals with contract pricing, ordering, and ERP/PIM/WMS integrations. MedusaJS and Next.js are used where they fit. - [MedusaJS development agency](https://gmi.software/services/medusajs-development) - Medusa v2 implementation, migration and B2B customization. - [E-commerce mobile analytics](https://gmi.software/services/ecommerce-mobile-analytics) - Mobile commerce measurement, retention and analytics tracking plans. - [Advanced e-commerce](https://gmi.software/services/advanced-ecommerce) - Marketplace, CPQ, cross-border, q-commerce and multi-tenant commerce systems. - [Backend and API development](https://gmi.software/services/backend-api) - NestJS, Node.js, PostgreSQL and integration-heavy product backends. - [AI agents and automation](https://gmi.software/services/ai-agents-automation) - Workflow automation, agentic systems and operational AI assistants. - [RAG and knowledge bases](https://gmi.software/services/rag-knowledge-bases) - Retrieval-augmented generation over company knowledge and documents. - [LLM integrations](https://gmi.software/services/llm-integrations) - LLM features embedded into existing products and internal tools. - [AI-native software company](https://gmi.software/services/ai-native-software-company) - We check the AI idea, agree the goal, build the full product, test quality and support it after launch. ## Supporting service pages - [All services](https://gmi.software/services) - [Discovery, Design & Technology workshop](https://gmi.software/discovery-design-technology) - [Maintenance](https://gmi.software/maintenance) - [Product design](https://gmi.software/services/product-design) - [MVP prototypes](https://gmi.software/services/mvp-prototypes) - [Integrations](https://gmi.software/services/integrations) - [Audits](https://gmi.software/services/audits) ## Advanced e-commerce topics - [Advanced e-commerce: b2b marketplace](https://gmi.software/services/advanced-ecommerce/b2b-marketplace) - [Advanced e-commerce: cpq configurator](https://gmi.software/services/advanced-ecommerce/cpq-configurator) - [Advanced e-commerce: cross border composable](https://gmi.software/services/advanced-ecommerce/cross-border-composable) - [Advanced e-commerce: quick commerce](https://gmi.software/services/advanced-ecommerce/quick-commerce) - [Advanced e-commerce: multi tenant saas](https://gmi.software/services/advanced-ecommerce/multi-tenant-saas) ## Technology pillars - [React Native](https://gmi.software/technologies/react-native) - [MedusaJS](https://gmi.software/technologies/medusajs) - [Next.js](https://gmi.software/technologies/nextjs) - [Expo](https://gmi.software/technologies/expo) - [NestJS](https://gmi.software/technologies/nestjs) - [Technologies index](https://gmi.software/technologies) ## Proof, use cases and lead magnets - [Case studies index](https://gmi.software/case-studies) - [Client reviews and references (Polish)](https://gmi.software/pl/opinie) - Client testimonials, written references and video case studies for GMI Software. - [App cases index](https://gmi.software/app-cases) - [Industries index](https://gmi.software/industries) - [For whom index](https://gmi.software/for-whom) - [Open source](https://gmi.software/open-source) - [E-commerce TCO e-book 2026](https://gmi.software/ebook/ecommerce-tco-2026) - [E-commerce TCO calculator](https://gmi.software/ebook/ecommerce-tco-2026/kalkulator) ## Case studies - [SFD Case Study - loyalty mobile app and e-commerce](https://gmi.software/case-study/sfd-loyalty-mobile-app) - SFD app nominated for Mobile Trends Awards 2025 (Commerce). See how we helped SFD build a loyalty app: over 100,000 downloads and 4.9 App Store rating. Mobile app for sports shops. - [Hublock Case Study - B2B logistics automation (React Native, Node.js)](https://gmi.software/case-study/hublock-b2b-logistics-supply-chain-platform) - From spreadsheets to a Web + Mobile ecosystem: rule engine, control tower, driver app. Partnership since 2018–2019, trade-show validation, scaling across Europe and the UK (including supply chain work for Siemens). - [Świat Książki Case Study - Mój Świat Książki loyalty app (React Native, legacy)](https://gmi.software/case-study/swiat-ksiazki) - How GMI built a loyalty MVP for a Polish bookstore chain: React Native, legacy integration, fixed price after DDT, marketing-driven home configuration, FAQ and video walkthrough. - [BERG System Case Study - mobile CRM for financial industry](https://gmi.software/case-study/berg-system-mobile-crm-financial) - Mobile CRM for financial advisors. Full CRM functionality in phone. Data security, biometric authentication. - [Hi! School Case Study - educational mobile app with AI](https://gmi.software/case-study/hi-school-educational-mobile-app) - Educational mobile app for primary schools. AI teacher, infinite scroll, short video lessons. Top 1 in Education category. - [JoggFit Case Study - mobile fitness app with medals](https://gmi.software/case-study/joggfit-mobile-fitness-app) - Running and fitness app with medals and achievements system. Run and earn real medals. Mobile fitness app. - [Cognic AI - documentation assistant for therapists | GMI case study](https://gmi.software/case-study/cognic-ai-mobile-app-therapists) - How we built Cognic AI: speaker-labelled transcripts, summaries, and working notes for therapists. React Native, web, Responsible AI, and 5 languages. - [Street Art Detector Case Study - mobile app connecting global street art enthusiasts](https://gmi.software/case-study/street-art-detector-connecting-global-street-art-enthusiasts) - Mobile app connecting street art enthusiasts from around the world. Recognition and location of street art. App for graffiti lovers. - [EMKA S.A. Case Study - medical waste management mobile app](https://gmi.software/case-study/emka-medical-waste-management-app) - Mobile app for clients and medical waste pickup schedules. BDO system, schedules, payments. 5000+ downloads in first month. - [Budlex Case Study - Proptech mobile app with IoT sensors for smart buildings](https://gmi.software/case-study/budlex-proptech-iot-sensors-smart-buildings) - Mobile app for residents with IoT sensor readings in smart buildings. Proptech, smart home, monitoring. - [ParkChmura Case Study - parking reservation system PWA](https://gmi.software/case-study/parkchmura-parking-reservation-system-pwa) - Parking reservation system as Progressive Web App (PWA). Parking space reservations, payments, management. - [STS Norway Case Study - 3D configurator for solar panel installations](https://gmi.software/case-study/sts-norwegia-smart-solutions-solar-installations) - 3D configurator for solar panel installations. 3D visualization, photovoltaic installation design, calculations. - [Q2 Pranie Case Study - smart lockers and laundry management system](https://gmi.software/case-study/q2-pranie-smart-lockers-laundry-management) - Comprehensive laundry management system (Mobile + Web). Smart lockers, laundry management, payments, reservations. - [Monarty Case Study - NFT marketplace merging physical and digital art worlds](https://gmi.software/case-study/monarty-merging-physical-digital-art-worlds) - NFT marketplace connecting physical and digital art worlds. Web 3.0 marketplace, blockchain, Ethereum, IPFS. - [Vertical Farm PoC Case Study - IoT sensors and MQTT](https://gmi.software/case-study/vertical-farm-poc-iot-sensors-mqtt) - Proof of concept for vertical farm system. IoT sensors, MQTT protocol, crop monitoring, automation. - [Beri Gifts Case Study - mobile wishlist app](https://gmi.software/case-study/beri-mobile-wishlist-app) - How GMI built Beri Gifts: a two-week Amazon scraper PoC, five MVP sprints and release on iOS and Android. - [Welcomia Case Study - stock media marketplace](https://gmi.software/case-study/welcomia-stock-media-marketplace) - Modernising Welcomia: product workshop, database and AWS file migration, watermarks, preserved SEO URLs and delivery in 10 sprints. - [Coders Lab Case Study - custom CMS and extended team](https://gmi.software/case-study/coders-lab-custom-cms-development) - How two GMI developers working as an extended team built a custom course-management CMS and supported organic traffic and lead growth. - [Snabbrent Case Study - cleaning booking and scheduling software](https://gmi.software/case-study/snabbrent-cleaning-booking-scheduling-software) - Booking and scheduling software for a Swedish cleaning company: four roles, custom availability, e-invoicing and launch after eight sprints. ## Commercial guides and expert articles - [Expo vs bare React Native for business apps](https://gmi.software/blog/expo-vs-bare-react-native-business-apps) - updated 2026-07-29; Expo is usually the better choice for business apps that need fast delivery, predictable releases and standard mobile capabilities. Bare React Native makes sense when the product needs deep native modules, unusual SDKs, complex background behavior or full control over iOS and Android configuration. - [React Native vs PWA for a commerce app](https://gmi.software/blog/react-native-vs-pwa-commerce-app) - updated 2026-07-29; A PWA is better when the main goal is acquisition, SEO and a faster mobile web experience. React Native makes sense when the company wants a retention channel: notifications, account, loyalty, reorder, scanning, store features and an experience that becomes part of the brand relationship. - [MedusaJS vs Shopify for B2B commerce](https://gmi.software/blog/medusa-vs-shopify-b2b-commerce) - updated 2026-07-29; Shopify is a good choice for simpler B2B commerce when the process fits platform rules and speed matters. MedusaJS makes sense when B2B sales requires custom price lists, limits, ERP/PIM/WMS integrations, unusual checkout, multiple buyer roles and full ownership of commerce logic. - [Custom commerce vs Shopify Plus: how to calculate TCO](https://gmi.software/blog/custom-commerce-vs-shopify-plus-tco) - updated 2026-07-29; Shopify Plus often wins at launch when the company wants standard commerce quickly and less technical ownership. Custom commerce starts making sense when fees, take rates, apps, integrations and process limitations over 24-36 months cost more than maintaining an owned platform. - [Next.js vs Remix for a commerce storefront](https://gmi.software/blog/nextjs-vs-remix-commerce-storefront) - updated 2026-07-29; Next.js is usually safer for teams that need a broad ecosystem, mature SEO patterns, many integrations and easier hiring. Remix makes sense when the team deliberately wants a request-first model, forms, route-level data loading and less browser-side complexity. - [NestJS vs Express for a product backend](https://gmi.software/blog/nestjs-vs-express-backend-api) - updated 2026-07-29; Express is good when the team needs a lightweight server, already has mature internal patterns and wants full flexibility. NestJS makes more sense in business products with many modules, integrations, tests, team roles and long maintenance because it enforces architectural order before chaos becomes expensive. - [Prisma vs Drizzle for PostgreSQL SaaS](https://gmi.software/blog/prisma-vs-drizzle-postgresql-saas) - updated 2026-07-29; Prisma is a good choice when the team wants fast work on the data model, a readable client and strong typing without writing much SQL. Drizzle makes sense when the product needs more SQL control, predictable queries, a lighter tool and a team ready to work closer to PostgreSQL. - [RAG vs fine-tuning for company knowledge](https://gmi.software/blog/rag-vs-fine-tuning-company-knowledge) - updated 2026-07-29; RAG is usually better for company knowledge that changes often and must be cited from sources. Fine-tuning makes sense when you want to teach style, format, classification or repeatable behavior, but it should not replace a knowledge base where document freshness matters. - [AI agent vs workflow automation in operations](https://gmi.software/blog/ai-agent-vs-workflow-automation-operations) - updated 2026-07-29; Workflow automation is better for stable processes with clear rules. An AI agent makes sense when the process requires interpreting text, choosing the next step, working with incomplete information or handling exceptions, but it should still operate within a constrained scope with audit and human oversight. - [In-house vs agency for mobile app development](https://gmi.software/blog/in-house-vs-agency-mobile-app-development) - updated 2026-07-29; An in-house team makes sense when the app is a long-term core of the company and the organization wants to build product capability for years. An agency is better when the company needs a fast start, experienced process, a full team immediately and lower first-release risk. - [Dedicated team vs fixed-price software project](https://gmi.software/blog/dedicated-team-vs-fixed-price-software-project) - updated 2026-07-29; Fixed price is better when the scope can be discovered, described and closed after DDT. A dedicated team makes sense when the roadmap is long, priorities will change and the client wants to buy continuous product capacity instead of one closed scope. - [MedusaJS vs custom Node.js commerce engine](https://gmi.software/blog/medusa-vs-custom-node-commerce-engine) - updated 2026-07-29; 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. - [What is a mockup, and why should you create one before coding?](https://gmi.software/blog/what-is-a-mockup-and-why-you-should-care) - updated 2026-07-29; A mockup shows product layout, hierarchy and visual direction before expensive implementation starts. This guide explains the difference between sketches, wireframes, mockups and prototypes, and when each one is enough. - [Third-party software: benefits, risks and a selection checklist](https://gmi.software/blog/third-party-software) - updated 2026-07-29; A ready-made component can shorten delivery, but it creates dependencies on vendor pricing, APIs, security and roadmap. This guide shows how to make a deliberate build-versus-buy decision. - [Solar monitoring system development: architecture, features and delivery process](https://gmi.software/blog/solar-monitoring-system-development) - updated 2026-07-29; A solar monitoring system connects inverter and meter data with alerts, performance analysis and service workflows. This guide covers MVP scope, data architecture and integration risks. - [Blockchain at the core of an IT product: when it helps and when it does not](https://gmi.software/blog/blockchain-as-a-heart-of-it-project) - updated 2026-07-29; Blockchain solves a specific shared-trust, ownership or immutable-record problem. If a product does not need those properties, a conventional database will be simpler, cheaper and faster. - [Proxy Product Owner: how to avoid decision chaos in a software project](https://gmi.software/blog/how-to-avoid-project-discord-embrace-the-proxy-product-owner) - updated 2026-07-29; A Proxy Product Owner can translate investor goals into daily team decisions, but cannot take over business accountability. This guide defines the role, boundaries and operating cadence. - [CMS, CRM and ERP: what is the difference and when should they integrate?](https://gmi.software/blog/cms-crm-erp-what-is-it) - updated 2026-07-29; A CMS manages content, a CRM manages customer relationships and an ERP manages operations and finance. Problems begin when every system holds its own version of the same data. - [Choosing a software development company for a Dubai-based business](https://gmi.software/blog/software-house-dubai) - updated 2026-07-29; Vendor location matters less than time-zone overlap, outcome ownership, data security and delivery evidence. Here is a practical checklist for companies in Dubai and the Gulf region. - [Raspberry Pi and AI: architecture for voice assistants and edge integrations](https://gmi.software/blog/raspberry-pi-ai-integration) - updated 2026-07-29; Raspberry Pi can handle audio input, devices and local logic while heavier models run in the cloud or on a separate accelerator. The key decisions are latency, privacy and offline resilience. - [Product design vs product development: responsibilities and delivery order](https://gmi.software/blog/product-design-and-development) - updated 2026-07-29; Product design defines the problem, experience and behaviour of a solution. Product development covers building, releasing and operating the full product. Both disciplines need one shared loop. - [Outsourcing software development: benefits, risks and a control model](https://gmi.software/blog/outsourcing-software-development-benefits-and-risks) - updated 2026-07-29; Outsourcing provides faster access to skills and flexible capacity, but without a product owner, code access and shared acceptance criteria it can increase risk rather than reduce it. - [How do you integrate ERP with a field sales mobile app?](https://gmi.software/blog/mobile-app-erp-integration-field-sales) - updated 2026-07-28; A field sales mobile app should not copy the entire ERP. It should expose a controlled slice of the workflow — customers, products, prices, availability, orders and visits — through an integration layer. ERP remains the source of commercial rules, CRM owns relationship context, and the app delivers a fast, secure workflow even with unreliable connectivity. - [How can an AI copilot speed up B2B sales quoting?](https://gmi.software/blog/ai-copilot-b2b-sales-quoting) - updated 2026-07-27; An AI copilot for B2B quotes should combine customer context from CRM, commercial terms and availability from ERP, and product data from PIM, then prepare a draft for seller approval. It should not invent prices or send a proposal without human review. - [Mobile Trends Awards 2025 nomination: SFD app in Commerce category](https://gmi.software/blog/mobile-trends-awards-2025-sfd-commerce) - updated 2026-07-11; The SFD Mobile Trends Awards 2025 Commerce nomination shows how a loyalty-plus-e-commerce app can become a retention channel: 100,000+ downloads according to GMI/SFD data, 4.9★ on the App Store, shop, points, challenges and a post-launch release loop. - [React Native vs native apps in 2026: a business decision, not a technology religion](https://gmi.software/blog/react-native-vs-native) - updated 2026-07-11; Short verdict: React Native is the default best choice for most commerce, B2B, CRM, loyalty and operations apps because one codebase lowers maintenance cost and speeds up the roadmap. Choose Swift/Kotlin when the product truly depends on heavy rendering, unusual hardware, OS-level features or immediate access to new platform APIs. - [How do you build a production B2B storefront with MedusaJS and Next.js?](https://gmi.software/blog/medusa-nextjs-b2b-storefronts) - updated 2026-07-11; Short answer: MedusaJS + Next.js makes sense for B2B when the storefront must handle company login, contract pricing, channel-based availability, a cart scoped to customer/sales channel/region, ERP/PIM and fast mobile-first UX. Medusa Starter speeds up the first build, but production B2B needs domain mapping, cache strategy, integrations and checkout regression tests. - [When should ecommerce split a monolith into NestJS microservices?](https://gmi.software/blog/nestjs-order-microservices-when-to-split) - updated 2026-07-11; Short answer: do not split an ecommerce monolith because microservices sound modern. Split when order management, payments, stock reservation, ERP or document generation start blocking checkout, release cadence or scaling. The safest first step is a strangler around orders: NestJS as the order service, PostgreSQL as its transactional model, RabbitMQ/Redis/Kafka for side effects and a clear rollback plan. - [Headless or monolith commerce? How to choose the right architecture in 2026](https://gmi.software/blog/headless-vs-monolith-commerce-2026) - updated 2026-07-11; Short answer: headless commerce wins when the company has multiple sales channels, mobile-first UX, heavy ERP/PIM/WMS integrations, custom B2B or a growing cost of SaaS constraints. A monolith or classic SaaS still wins when the store has one channel, standard checkout, a small team and needs operational simplicity more than full architectural control. - [How do you secure multi-tenant SaaS with PostgreSQL RLS?](https://gmi.software/blog/postgresql-rls-multi-tenant-saas) - updated 2026-07-11; Short answer: PostgreSQL RLS makes sense in pooled multi-tenant SaaS when many customers share tables but every row must be filtered by tenant context set by the application. RLS does not replace NestJS authorization or tests, but it adds a database-engine boundary that protects against a forgotten `WHERE tenant_id = ...`, a faulty ORM query and some admin tooling mistakes. - [How do you choose an event broker for commerce: Redis, RabbitMQ, SQS or Kafka?](https://gmi.software/blog/event-driven-commerce-redis-rabbitmq-sqs) - updated 2026-07-11; Short answer: event-driven commerce makes sense when checkout cannot wait for ERP, PDF, email, WMS, CRM or search indexing. Choose Redis Streams for simple fast streams and live status, RabbitMQ for complex routing and self-managed infrastructure, AWS SQS for a simple managed queue on AWS, FIFO for order/customer-level ordering, and Kafka when the event log and replay are a data product, not just a queue. - [How do you launch a React Native app without App Store or Google Play delays?](https://gmi.software/blog/react-native-app-store-launch-checklist) - updated 2026-07-11; Short answer: React Native store launch does not start on upload day. A safe release needs early checks for Apple/Google account ownership, EAS credentials, permissions, privacy labels, Data safety, payments, reviewer access, review backend availability and hotfix plans. Expo EAS speeds up the pipeline, but it does not replace App Review Guidelines or Google Play policy compliance. - [How do you build a manufacturing CPQ system that is not just Excel in disguise?](https://gmi.software/blog/cpq-manufacturing-ecommerce-pitfalls) - updated 2026-07-11; Short answer: manufacturing CPQ only works when product configuration, compatibility rules, BOM, prices, discounts, approvals, ERP and quote documents become one controlled process. A 3D configurator without a rules engine and ERP integration is mostly a polished frontend that still leaves sales teams with spreadsheets. - [How do you design real-time inventory for quick commerce without overselling?](https://gmi.software/blog/quick-commerce-realtime-inventory) - updated 2026-07-11; Short answer: real-time inventory in quick commerce is not a one-minute stock refresh. You need short cart reservations, atomic decrement, TTL, WMS events, idempotent checkout, release after timeout and a UI that shows availability only for the right dark store or micro-warehouse. - [MACH architecture in ecommerce: when does it create advantage, and when does it add complexity?](https://gmi.software/blog/mach-architecture-stakeholder-guide) - updated 2026-07-11; Short answer: MACH makes sense when ecommerce needs to evolve checkout, search, content, pricing, ERP/PIM/WMS, mobile and B2B channels independently without risking the whole monolith every time. It does not make sense when the company lacks domain owners, API contracts, observability and integration budget. For stakeholders, MACH is an operating-model decision, not only a stack decision. - [T-shaped developers in mobile commerce: team model, risks and a CTO checklist](https://gmi.software/blog/t-shaped-developer-mobile-ecommerce) - updated 2026-07-11; Short answer: a T-shaped developer in mobile commerce has one deep specialty, such as React Native or commerce backend, plus practical breadth across neighbouring layers: UX, APIs, analytics, QA, release, ERP/PIM/WMS and operations. They speed delivery up when they reduce handoffs and improve end-to-end decisions. They become a risk when "T-shaped" means one person doing everything without depth, tests, owners or specialist support. - [SFD commerce app: lessons from high traffic and MTA recognition](https://gmi.software/blog/sfd-commerce-app-lessons-client-story) - updated 2026-07-11; The SFD commerce app (React Native, 100k+ downloads, 4.9★ App Store rating according to GMI/SFD data) shows how to connect shop, loyalty, challenges and campaign-ready backend without losing cart and account consistency. - [Ecommerce observability: how to prepare checkout for Black Friday 2026](https://gmi.software/blog/observability-commerce-peaks-black-friday) - updated 2026-07-11; Short answer: ecommerce observability is the ability to quickly explain why a user cannot buy: whether the issue sits in cart, payment, promotion, inventory, ERP/PIM/WMS, API, database, queue or mobile app. For Black Friday, a green CPU dashboard is not enough; you need traces, metrics, logs, checkout SLOs, business alerts and rehearsed runbooks. - [B2B marketplace split checkout: how to split cart, payments, payouts and invoices](https://gmi.software/blog/b2b-marketplace-split-checkout-explained) - updated 2026-07-11; Short answer: split checkout in a B2B marketplace lets a buyer pay in one flow for products from many vendors, but technically you must split four things: order split, payment authorization/capture, seller payout and invoicing/reconciliation. Stripe Connect, Adyen or PayPal can handle funds movement, but you still need your own ledger, tax/VAT rules, refunds, disputes and ERP integration. - [B2B ecommerce trade credit: how to connect checkout with ERP, limits and invoices](https://gmi.software/blog/b2b-trade-credit-erp-integrations) - updated 2026-07-11; Short answer: trade credit in B2B ecommerce should be a payment method backed by an exposure ledger, not a simple "pay by invoice" checkbox. The storefront must know customer limit, utilization, overdue invoices, reservations from open carts, orders in fulfilment and ERP blocking rules. Otherwise you either block good buyers or ship goods above the agreed limit. - [Staff augmentation vs product team: when to buy capacity and when to choose outcome ownership](https://gmi.software/blog/staff-augmentation-vs-product-team-gmi) - updated 2026-07-11; Staff augmentation extends your team when you already own the backlog, architecture, QA, release process and technical leadership. A product team is better when you need one accountable unit to discover, design, build, test, release and hand over the product after DDT without vendor lock-in. - [Ecommerce security review before Black Friday: what to check before traffic, bots and checkout hit production](https://gmi.software/blog/security-review-before-peak-sales) - updated 2026-07-11; An ecommerce security review before Black Friday should test more than code vulnerabilities. It should cover the revenue path: edge/WAF, bot protection, API authorization, checkout, payments, data access, PostgreSQL, queues, monitoring and incident response. The best timing is 6-8 weeks before the campaign, while risks can still be remediated inside a scoped, post-DDT fixed price. - [Composable commerce and OMS: how to design fulfilment, split shipments and ERP/WMS integrations](https://gmi.software/blog/composable-commerce-oms-fulfilment) - updated 2026-07-11; A composable commerce OMS is the decision layer between checkout, inventory, ERP, WMS, 3PL, stores and customer service. Its job is not just shipping a parcel; it decides where each order line is fulfilled from, when stock is reserved, when to split shipments, and how to handle holds, returns, cancellations and reconciliation. At GMI, we design that model after DDT, usually on MedusaJS, NestJS, PostgreSQL and event-driven queues, with client-owned code. - [Mobile app and backend from one partner: how to avoid ping-pong between API, app and integrations](https://gmi.software/blog/polish-brands-mobile-backend-one-partner) - updated 2026-07-11; One partner for mobile and backend makes sense when product success depends on one API contract, reliable integrations, observability, E2E tests and release accountability. At GMI, that scope goes through DDT before it can responsibly receive a fixed-price proposal. - [NestJS, Prisma and PostgreSQL at scale: how to diagnose slow APIs, connection pools and N+1 queries](https://gmi.software/blog/nestjs-prisma-postgresql-at-scale) - updated 2026-07-11; Scaling NestJS, Prisma and PostgreSQL is not about buying a larger database first. Measure p95/p99 latency, connection pools, slow queries, N+1 patterns, indexes, transactions, queues and cache. Only after DDT can GMI responsibly propose fixed price for remediation or backend rebuild. - [Are MACH and composable commerce the same in ecommerce?](https://gmi.software/blog/mach-vs-composable-commerce-ecommerce) - updated 2026-07-11; Short answer: MACH and composable commerce are not the same thing. MACH describes four technical principles: microservices, API-first, cloud-native and headless. Composable describes an operating decision: which commerce capabilities you buy, build and connect through APIs. The best ecommerce stack can be both MACH-aligned and sensibly composable, but not every composable stack is MACH. - [How do you connect B2B ecommerce, ERP and PIM in a MACH architecture?](https://gmi.software/blog/mach-b2b-ecommerce-integrations-erp-pim) - updated 2026-07-11; In B2B ecommerce, the biggest problem usually is not the UI. It is drifting systems of record: ERP knows one price, PIM has incomplete content, WMS shows different stock and sales approves credit by email. MACH pays off when those rules become explicit APIs, events, logs and operational ownership. - [When is MACH architecture a bad idea for ecommerce?](https://gmi.software/blog/when-not-to-adopt-mach-ecommerce) - updated 2026-07-11; Short answer: do not adopt MACH if you do not have a real problem with change velocity, integrations, channel scale, data ownership or the TCO of your current platform. Shopify B2B and BigCommerce show that modern SaaS can cover many B2B needs. MACH starts to make sense only when SaaS constraints block revenue, margin, mobile, ERP/PIM/WMS or product roadmap. - [MedusaJS or Shopify Plus - what is cheaper over 3 years?](https://gmi.software/blog/medusa-vs-shopify-plus-tco) - updated 2026-07-11; Shopify Plus usually wins when the priority is fast D2C go-live and standard checkout. MedusaJS v2 starts winning TCO with B2B, ERP, custom pricing and omnichannel because cost moves from subscription plus marketplace apps into owned code, integrations and predictable maintenance. - [Medusa vs commercetools vs Saleor - headless B2B in 2026](https://gmi.software/blog/medusa-vs-commercetools-saleor-b2b) - updated 2026-07-11; For mid-market B2B with ERP, MedusaJS v2 usually gives the lowest entry point and strongest code control. commercetools fits global enterprise with procurement and multi-region scale. Saleor is strong for GraphQL, catalogue and Python teams, but advanced B2B usually needs custom modules. - [How much does a MedusaJS implementation cost in 2026?](https://gmi.software/blog/medusa-implementation-cost-2026) - updated 2026-07-11 - [React Native vs Flutter in 2026 - business decision guide](https://gmi.software/blog/react-native-vs-flutter-2026) - updated 2026-07-11; In 2026 React Native with Expo is the safer choice for companies already using React/TypeScript, Next.js or Node.js backends: hiring is easier, types can be shared and hotfixes ship faster. Flutter wins when the company already has Dart, highly custom UI or needs platform-independent rendering. - [React Native app development cost in 2026](https://gmi.software/blog/react-native-app-development-cost-2026) - updated 2026-07-11 - [How to choose a React Native development company](https://gmi.software/blog/how-to-choose-react-native-development-company) - updated 2026-07-11; A strong React Native development company proves production ownership: live app links, backend/API role, store-release process, QA, maintenance and pricing after discovery. Do not choose by hourly rate or sales deck alone - ask for a scorecard, references and a post-launch responsibility plan. - [How to migrate from Magento to MedusaJS?](https://gmi.software/blog/medusa-migration-from-magento) - updated 2026-07-11 - [React Native agency Europe - what to look for?](https://gmi.software/blog/react-native-agency-europe) - updated 2026-07-11; A strong React Native agency in Europe should prove three things: live App Store and Google Play apps, backend/API ownership, and a release plus maintenance process. Poland nearshore makes sense when you need CET overlap, English delivery and fixed price after DDT without building two native teams. - [Nearshore from Poland - who it fits and how to start?](https://gmi.software/blog/nearshore-software-development-poland) - updated 2026-07-11; Nearshore software development from Poland means a CET team, English delivery and rates often 30-50% below a US agency - GMI Software from Gdansk focuses on React Native, MedusaJS and headless e-commerce for international clients, not generic body leasing. - [MedusaJS B2B e-commerce guide 2026](https://gmi.software/blog/medusa-b2b-ecommerce-guide) - updated 2026-07-11 - [MedusaJS development agency in Europe - how to choose](https://gmi.software/blog/medusa-development-agency-europe) - updated 2026-07-11; A strong MedusaJS agency in Europe is not a team that only ships a Next.js storefront - it is a partner with live B2B plus ERP deliveries, monolith migrations and post-launch care. GMI Software from Gdansk works in English for EU, UK and US clients; we share an initial estimate within 48h after discovery. - [Medusa vs Saleor - headless comparison 2026](https://gmi.software/blog/medusa-vs-saleor) - updated 2026-07-11; Medusa vs Saleor in 2026: Medusa v2 most often wins with a JavaScript/TypeScript team, custom B2B workflow, marketplace, ERP/PIM/WMS and a web + React Native channel plan. Saleor is strong when GraphQL is a company standard, the product catalogue is the key domain and the team can operate Python/Django. GMI chooses the platform after DDT, not after a vendor feature table. - [Commerce mobile app development guide 2026](https://gmi.software/blog/commerce-mobile-app-development) - updated 2026-07-11 - [React Native app maintenance cost in 2026](https://gmi.software/blog/react-native-app-maintenance-cost) - updated 2026-07-11 - [Expo for business apps - when and why 2026](https://gmi.software/blog/expo-for-business-apps) - updated 2026-07-11; Expo for business apps in 2026 does not mean a prototype or a quality compromise. For most React Native products at GMI, it is the default operating model: EAS Build for iOS/Android binaries, EAS Update for safe JS hotfixes, EAS Submit for publication, development builds for the team and CNG/prebuild when controlled native work is needed. Bare RN is chosen only when native code is core to the product, not as a prestige argument. - [Hire dedicated developers from Poland - nearshore model 2026](https://gmi.software/blog/hire-dedicated-developers-poland) - updated 2026-07-11 - [Poland vs US agency - software development cost 2026](https://gmi.software/blog/poland-vs-us-agency-software-development-cost) - updated 2026-07-11 - [E-commerce mobile app margin: when an app lifts LTV and when it burns budget](https://gmi.software/blog/ecommerce-mobile-app-margin) - updated 2026-07-10; Short answer: an m-commerce app improves margin when it lowers the cost of the next order and improves cohort contribution margin, not when it merely generates installs. Before investing, calculate LTV, retention cost, discounts, returns, technology maintenance and the real incremental lift from the app. - [MVP strategy: How to scope, build and price an app in 2026 (without burning budget)](https://gmi.software/blog/mvp-strategy) - updated 2026-07-10 - [Next.js commerce in production: how to design caching, PPR, MedusaJS and Core Web Vitals](https://gmi.software/blog/nextjs-commerce-production-patterns-2026) - updated 2026-07-10; Short answer: production Next.js commerce is not about rendering everything statically. Strong storefronts cache stable PDP/PLP parts, stream personalization and cart behind Suspense, invalidate price and stock by tags, and keep checkout and account as request-time flows with clear contracts to MedusaJS, ERP/PIM/WMS and payments. - [B2C loyalty app: how to grow repeat purchase without burning margin](https://gmi.software/blog/loyalty-apps-repeat-purchase-b2c) - updated 2026-07-09; Short answer: a B2C loyalty app increases repeat purchase only when it connects customer identity, a real return reason, personalization, POS/e-commerce backend and contribution-margin measurement. A points program without holdouts and discount control can raise revenue while lowering profit. - [Mobile UX/UI trends in 2026: design that sells](https://gmi.software/blog/mobile-app-design-trends) - updated 2026-07-08; In 2026 mobile UX/UI should be judged by conversion, retention, maintenance cost and delivery risk: Liquid Glass, Material 3, AI personalization and micro-interactions matter only when they help users complete a task faster. ## Freshness policy - Blog and case-study links are generated from the same source registries used by sitemap and public routes. - New public blog posts and published case studies are included automatically. - P0/P1 services, advanced e-commerce topics, technology pillars and proof pages are guarded by npm run verify:llms. - For Google AI Overviews and AI Mode, llms.txt is an auxiliary index only; crawlability, indexability, schema, internal links and source-backed content remain the primary SEO/AEO/GEO foundation.