One thing that moved installs for me, curious what's worked for you

Solo dev on a small Shopify app. The single highest-leverage thing I did was rewrite my App Store listing around search terms merchants actually type, rather than the words I use internally to describe the app.

I'd been describing it the way I think about it. Merchants search for the problem or the physical thing they want. Once I moved those terms into the title and the opening lines of the description, and stopped burying them halfway down, search installs picked up noticeably. It costs nothing, it compounds, and it's the only traffic source where the person is already looking for your category.

Two things I'd add: the first two lines do most of the work, since that's all anyone reads before deciding to scroll. And it's worth redoing every few months as the category shifts.

What's worked for you? Also interested in anything outside the App Store, since that's the part I haven't figured out yet.

reddit.com
u/GrowDigitalNL — 19 hours ago
▲ 1 r/ShopifyAppDev+1 crossposts

A few lessons from building a Shopify sales channel app

Context: I built a tablet kiosk app called Kioskify. Customers browse on the tablet, checkout hands off to their own phone. Solo dev. Some things I wish I'd known earlier.

Cart attributes are about the only thing that survives checkout

If you need custom data to reach the order webhook, that's where it goes. It works, but it's an untyped blob you have to parse defensively, and anything that rebuilds the cart drops it.

Adding a scope re-prompts every merchant you already have

I wanted a nicer picker UI in the config. It needed a scope I didn't have, so every existing install would get an OAuth prompt and stay stuck until they clicked through. Shipped a plain text field instead. Worse UX, no risk. Now I batch scope changes until something justifies the prompt.

Billing webhooks lie about churn

A lot of cancellation events are just plan switches, where the old charge cancels and a new one activates moments later. Act on them directly and you'll email paying customers goodbye. Wait, then confirm there's no active subscription.

Measure the individual calls before blaming the platform

I spent days assuming cold starts were making the embedded admin slow. It was one GraphQL call in the loader blocking render. Timing logs found it almost immediately once I stopped guessing.

Check what Shopify already gives you before building it

I nearly rebuilt product filtering from scratch before realising merchants configure filters in Search and Discovery and that config comes through on collection queries.

What are yours? Interested in the stuff that only shows up once you have real merchants on the app.

u/GrowDigitalNL — 19 hours ago