Devlog

custom-apps.md — VIEW

$ cat ~/devlog/custom-apps.md

Custom apps: when off-the-shelf stops fitting

fig.1 — where every app starts
fig.1 — where every app starts

App Store apps cover the common 80%. The last 20% — your pricing rules, your ERP, your fulfilment quirks — is where a custom app pays for itself.

Signs you need one

  • You run three apps glued together with Zapier and a spreadsheet.
  • Staff repeat the same admin clicks every morning.
  • Your logic lives in someone's head, not in code.

Anatomy of a modern Shopify app

A React Router 7 app embedded in the Shopify admin through App Bridge, UI built with Polaris, data via the Admin GraphQL API, and webhooks for anything that happens while nobody is looking.

app/routes/app._index.tsx
import { authenticate } from "../shopify.server";

export const loader = async ({ request }) => {
  const { admin } = await authenticate.admin(request);
  const res = await admin.graphql(`#graphql
    query { shop { name currencyCode } }`);
  return (await res.json()).data.shop;
};

Shipping it

shopify app deploy creates an immutable app version. Releases are atomic, so rolling back is selecting the previous version — no hotfix at 2 a.m.

-- EOF --