est. 2018 · szczecin, poland ● availability: open — 1 retainer + 1 short build vol. viii — no. 42 · may 2026
late edition
EN·PL·
„Moin." Mein Deutsch reicht gerade fürs Essenbestellen, „die Karte, bitte" und „zahlen, bitte". Für alles Weitere — lieber Englisch oder Polnisch. 🍺

The Perliński Gazette

all the stack that's fit to ship
single issue
one email
§ a4 — notes from the workshopBusiness2026.03.04
← all dispatches

What I learned submitting ShelfIQ to Shopify


I built ShelfIQ over a few months of evenings: a merchandising-intelligence app that tells Shopify merchants which products to promote, discount, or retire, and why. The hard part wasn't the recommendation engine. It was getting past review.

The eleven resubmissions

Shopify's app review is not a gate, it's a conversation you didn't ask for. My first rejection was for a privacy-policy URL that 404'd for exactly the eight minutes the reviewer happened to check. The second was a billing-API edge case I genuinely had wrong. The rest were a tour of every assumption I'd made about how a "public app" differs from the private ones I'd shipped for clients.

Things that got me rejected, in order of how dumb they felt afterwards:

  • A GDPR webhook that returned 200 but didn't actually delete anything.
  • Requesting read_all_orders scope I used in exactly one place I could have designed around.
  • An OAuth flow that worked perfectly — unless the merchant declined and came back, which the reviewer always does.

The 19 days of silence

Between submission six and seven, nothing. No status change, no email. I refreshed the Partner dashboard like it owed me money. The lesson: build the thing so a 19-day gap doesn't matter to your runway. I kept shipping client work; ShelfIQ waited.

What I'd tell past me

Treat the reviewer as your first real user, because they are. Write the listing copy before you write the feature. And assume every scope you request will be questioned — so request the minimum, and have a one-sentence justification ready for each. Approved spring '26. The review queue, as the advert says, builds character.