# Provider strategy research **Status:** Reference (research notes from Feb 2025) Research session exploring multi-provider strategy for SimpleShop. Goal: identify the best additional POD providers to complement Printify, with a focus on UK fulfilment coverage. --- ## The problem: Printify's UK coverage gap Printify's API was queried for all 10 demo product types to check which have UK-based print providers: | Product type | UK providers | Notes | |---|---|---| | T-shirt | Print Clever (72), Monster Digital (29) | 2 UK options | | Hoodie | Monster Digital (29), Print Clever (72) | 2 UK options | | Canvas | Print Clever (72) | 1 UK option | | Tote bag | None | Ships from US | | Mug | None | Ships from US | | Cushion | None | Ships from US | | Blanket | None | Ships from US | | Notebook | None | Ships from US | | Phone case | None | Ships from US | | Laptop sleeve | None | Ships from US | **Result: 3/10 product types have UK providers.** 7/10 ship transatlantic from the US, adding cost and delivery time for UK customers. No single Printify provider covers more than 3 product types within the UK. The Print Bar, Print Clever, and Printify Choice each cover 3 at most. --- ## Providers evaluated ### Prodigi (recommended) - **Coverage:** 9/10 product types from UK - **Fulfilment:** Own UK facility (Birmingham) + global network (US, EU, AU) - **API:** REST v4, proper sandbox environment (`api.sandbox.prodigi.com`), catalogue endpoints, shipping rate queries, webhooks - **Auth:** `X-API-Key` header - **Pricing:** ~10-15% more expensive than Printify on apparel (e.g. Bella+Canvas 3001: Printify ~£7.07, Prodigi ~£8.00), but lower shipping costs and no aggregator markup. Gap narrows on paid plans. - **Strengths:** Widest UK product range, mature API with sandbox, direct manufacturer (no middleman), lower shipping from UK - **Weaknesses:** Higher per-item base cost, smaller community than Printify **API highlights:** - Sandbox: `https://api.sandbox.prodigi.com/v4.0/` - Production: `https://api.prodigi.com/v4.0/` - Catalogue: `GET /v4.0/products` (with country/currency filtering) - Shipping: `GET /v4.0/shipping/quote` (per-order quotes) - Orders: `POST /v4.0/orders`, `GET /v4.0/orders/{id}` - Webhooks: order status changes, configurable URL ### Gelato - **Coverage:** ~6/10 product types - **Fulfilment:** Via partners in 140+ facilities across 32 countries - **API:** REST, webhooks, catalogue endpoints - **Pricing:** Subscription model (Gelato+), aggregator like Printify - **Strengths:** Massive global network, good for international sellers - **Weaknesses:** Aggregator model (same limitations as Printify), subscription cost, less UK-specific advantage ### Inkthreadable - **Coverage:** 5/10 product types (strong on apparel, eco products, embroidery) - **Fulfilment:** Own UK facility (Lancashire) - **API:** Order-only — `GET/POST/DELETE /orders`. No catalogue endpoints, no shipping rate queries - **Auth:** AppID + SHA1 Signature - **Pricing:** Competitive on apparel - **Strengths:** Eco-focused (organic cotton, water-based inks), embroidery capability, UK-based - **Weaknesses:** Very limited API (can't fetch products or shipping rates programmatically), would need manual catalogue management ### Two Fifteen - **Coverage:** ~4/10 product types (DTG, DTF, embroidery) - **Fulfilment:** Own UK facility - **API:** Primarily Shopify/WooCommerce plugins, sparse custom API documentation - **Strengths:** DTF printing capability, embroidery, UK-based - **Weaknesses:** Heavy overlap with Inkthreadable's coverage, weakest API of the bunch, documentation hard to find ### Printful - **Coverage:** Wide (~8/10 types) - **Fulfilment:** Global (UK via Latvia/Spain, US facilities) - **API:** Mature REST API - **Pricing:** ~£8.50 for Bella+Canvas 3001, most expensive of the lot - **Strengths:** Mature platform, good API - **Weaknesses:** Highest pricing, UK fulfilment is actually from EU (Latvia/Spain), not genuinely UK-based --- ## Pricing comparison (Bella+Canvas 3001 t-shirt) | Provider | Base cost | UK shipping | Total to UK customer | |---|---|---|---| | Printify (via Monster Digital) | ~£7.07 | ~£4-5 (from UK) | ~£11-12 | | Prodigi | ~£8.00 | ~£3-4 (from UK) | ~£11-12 | | Printful | ~£8.50 | ~£4-5 (from EU) | ~£12.50-13.50 | | Inkthreadable | ~£7.50 | ~£3-4 (from UK) | ~£10.50-11.50 | Net cost is comparable across providers for UK delivery. Prodigi's higher base cost is offset by lower shipping. --- ## Recommended strategy (revised Feb 2025) ### Phase 1: Add Printful (revised winner) Original analysis recommended Prodigi for UK coverage (9/10 types). But Prodigi has a critical gap: **no mockup generation API**. Sellers would need to manually create and upload product mockups, which is too much friction for SimpleShop's target audience. Printful wins because: - **Mockup generation API** — dedicated async endpoint, generates mockups on actual product blanks - **Own UK facility** (Wolverhampton) — ~252 products, DTG/embroidery/DTF/sublimation - **Full catalogue API** — browse, filter, pricing, availability, all via REST - **Live shipping rate calculator** — `POST /shipping/rates` with recipient + items - **Mature API** (v1 stable, v2 beta) — same Bearer token auth as Printify Trade-off: ~30% more expensive per item than Printify on base cost (e.g. Bella+Canvas 3001: ~$11.50 vs ~$8.88). Gap narrows with UK shipping savings. See: [printful-integration.md](printful-integration.md) for full implementation plan (~16 hours) ### Phase 2: Prodigi (conditional) Still the best option for shops that are price-sensitive and willing to handle mockups manually. Good sandbox environment for development. Worth revisiting if: - Dynamic Mockups API integration is added (third-party mockup service) - Prodigi adds their own mockup API - A seller specifically needs Prodigi's product range ### Phase 3: Inkthreadable (conditional) Only worth adding if there's seller demand for: - Eco-friendly apparel (organic cotton, water-based inks) - Embroidery products - Niche UK-only products not on Prodigi or Printful The weak API makes integration harder — no catalogue sync, no shipping rate queries. Would need manual product management. ### Skip: Two Fifteen Too much overlap with Inkthreadable's coverage. Weaker API, harder to find documentation. Not worth the effort unless they offer something unique that Inkthreadable doesn't. ### Skip: Gelato Aggregator model like Printify — same fundamental limitation of routing to whichever facility has capacity, with less control over where items ship from. --- ## Smart fulfilment (future vision) Once multiple providers are integrated, the system could offer intelligent order routing: 1. **Catalogue collation** — unified product view across providers, showing which providers can fulfil each product type 2. **Smart recommendations** — suggest the best provider per product based on customer location, cost, delivery time, quality ratings 3. **Order routing** — split a multi-item order across providers to optimise for cost, speed, or eco impact (e.g. UK items from Prodigi, US items from Printify) This is Tier 5 thinking — the architecture supports it via the Provider behaviour, but the UX and business logic are complex. Start with manual provider selection per product, graduate to smart routing once there's data. --- ## Architecture notes The existing codebase already supports multi-provider through: - **`Provider` behaviour** with callbacks for sync, orders, shipping - **`ProviderConnection` schema** linking shops to providers with credentials - **`provider_data` JSON field** on products storing provider-specific metadata - **Shipping context** grouping by `print_provider_id` for combined shipping calculation - **`Provider.for_type/1`** dispatch (currently Printify-only, extensible via app env) Adding Prodigi requires: 1. `lib/simpleshop_theme/clients/prodigi.ex` — HTTP client 2. `lib/simpleshop_theme/providers/prodigi.ex` — Provider behaviour implementation 3. Migration: update provider_connections to support "prodigi" type 4. Admin UI: provider selection during setup