Skip to content

04

Routr

SaaS — Shopify Embedded App2026 →

RemixTypeScriptPrismaPostgreSQLBullMQRedisShopify

Problem

Romanian Shopify merchants pay steep monthly fees for shipping and invoicing integrations — the established providers charge premium rates for what is essentially API glue between Shopify, local couriers, and invoicing tools. I saw an opportunity to offer the same functionality at a fraction of the cost, since the underlying integrations aren't complex enough to justify the pricing.

Approach

Built a Shopify embedded app with Remix and a two-process architecture on Fly.io: a web server for UI and webhook ingestion, and a BullMQ worker for background jobs. The core design decision was a priority-based rules engine that auto-routes orders to the right courier and triggers label/invoice generation. Courier and invoice integrations follow an interface + registry pattern — adding a new provider means implementing an interface, not changing the orchestrator.

Outcome

Core flow is built end-to-end — Shopify webhook ingestion, rule evaluation, label generation with batch PDF merging, invoice creation, tracking polling, and COD reconciliation. Not yet shipped to merchants. The biggest lesson so far: Shopify's OAuth and protected customer data requirements were harder to get right than the courier integrations themselves.