Medusa.js se présente comme une solution e-commerce open source complète avec une architecture headless et une modularité avancée. Le framework offre de nombreuses fonctionnalités prêtes à l'emploi incluant une administration complète pour gérer les paramètres du magasin, les canaux de vente multiples, le catalogue avec hiérarchie de catégories, la gestion des stocks avec variantes de produits, la gestion des clients et des listes de prix personnalisées, ainsi que des outils marketing pour les promotions et remises. L'architecture technique repose sur des workflows transactionnels, un système événementiel basé sur Redis, une modularité poussée avec des modules spécifiques, des migrations intégrées et une gestion du cache.

Cependant, l'expérience pratique révèle des limitations significatives. La personnalisation du cœur du framework est particulièrement problématique car il est impossible de modifier radicalement la logique métier, les modèles ou les réponses API existantes. Les développeurs doivent créer des modules personnalisés pour étendre les fonctionnalités, mais de nombreux composants internes restent inaccessibles. La plateforme souffre également de nombreux bogues mineurs mais persistants, d'une documentation superficielle et d'une communauté limitée, rendant le débogage difficile. Les limitations de l'API, notamment l'impossibilité de filtrer par champs imbriqués, et la personnalisation restreinte de l'interface d'administration compliquent davantage le développement.

Medusa.js convient principalement aux projets e-commerce standards où le client accepte les fonctionnalités existantes sans personnalisation majeure. Pour les projets nécessitant une logique métier complexe, une structure multi-magasins avancée ou supportant de fortes charges, la plateforme présente des risques importants. L'écosystème comprend également Mercur.js, une surcouche open source transformant Medusa en marketplace, mais ce module reste immature avec des dépendances importantes aux services occidentaux et nécessite un développement substantiel pour être fonctionnel.