
Event query budgets, locale routing, install ledgers: 4 Shopify app wedges
Four narrow Shopify app opportunities open from the September 21–25 platform releases: an auditor for the new Events subscription query budget, a per-locale coverage report, an embedded-app design-parity harness, and an install ledger your own team keeps.
Shopify's developer changelog carried ten entries dated September 21–25, 2026, and four of them open a wedge a solo developer can own this quarter. One cut the query budget for Events subscriptions from 250 points to 100. 1 One added a
translatable field to the Metafield object. 2 One released Polaris 2.0 as a release candidate for embedded App Home interfaces. 3 One replaced the Partner Dashboard's install numbers with raw event counts on a new Dev Dashboard. 4The week's other releases are context for a later issue: Polaris CDN 1.1 reached stable,
marketCurrencySettingsUpdate was scheduled for removal in API 2027-01, the Admin API gained a feeDetails query for specialized fees charged to a shop, private app plans lost their caps of 15 plans and 20 target stores, the AI Toolkit's separate shopify- skills collapsed into a single shopify skill, and balance transactions gained a currency-conversion type. 5678910The collection window is September 21–28, 2026, and the changelog showed nothing dated after September 25 when it was read on September 28. Shopify publishes no dated keyword-volume series for its App Store, so dated platform releases and dated merchant and developer discussions stand in as this issue's demand proxies. Competition counts are bounded samples of named listings and services read on September 28, 2026: they establish what those specific products do, and nothing about a category total.
Quick scan
| Rank | Narrow wedge | Fresh signal | Competition snapshot | First product | Build read |
|---|---|---|---|---|---|
| 1 | Events subscription budget and contract auditor | Sept 22: the subscription query limit drops from 250 to 100 points 1 | No App Store listing to read, because the buyer is an app team; the alternatives are Shopify's cost rules and the Dev Dashboard's Logs | A CLI that scores every subscription query in shopify.app.toml and fails the build above 100 points | High signal, low build difficulty, small buyer pool |
| 2 | Locale coverage and market-link auditor | Sept 21: Metafield.translatable lands in API 2026-10; Sept 28: a live routing bug sends locale links to /en 2 | 2 listings read: Weglot (4.5, 827 reviews, free plan) and Transcy (4.5, 2,584 reviews, free plan), both translation services | A per-locale coverage report listing what still renders in the primary language | Medium-to-high signal, low build difficulty, crowded neighbour category |
| 3 | Embedded-app design-parity harness | Sept 24: Polaris 2.0 release candidate, with a May 1, 2027 Built for Shopify date 3 | No dedicated tool; manual testing in two stores and the Polaris CDN are the alternatives | A screenshot-diff harness that runs one interface under both admin designs | Medium signal, low-to-medium build difficulty, deadline-driven |
| 4 | App install ledger and churn forensics | Sept 25: the Dev Dashboard ships raw install counts and the distribution page drops installs 4 | CoreX (pre-launch), a free analytics option, and Mantle, whose services ended Aug 14, 2026 | An install and uninstall event ledger your own team keeps and exports | Medium signal, low build difficulty, contested market with a recent exit |
1. Events subscription budget and contract auditor
Problem space and demand signal
On September 22, 2026, Shopify cut the query complexity limit for Events subscriptions from 250 points to 100. Classic webhooks keep their previous treatment. Shopify scores a subscription query on the fields it selects, the types of data those fields return, and the counts requested through
first or last, and the limit applies to each subscription query on its own. Subscription queries run outside an app's API rate limits. 1Shopify staff pinned an explanatory thread the next day, and the sample query in it sets the scale: a full Product query with SEO, options, metafields and up to 250 variants costs exactly 100 points. The post adds that teams needing more can ask for an exception case by case, and points to three moves — split subscriptions by the work each one does, query the changed resource directly, and match each query to the variables its own trigger supplies. A variant price trigger provides
$variantsId; a product title trigger provides $productId with nothing for the variant. 11The change lands as Events subscriptions finish their move out of developer preview. The staff post that opened this month's contract work states that Events go stable in API 2026-10, and that four breaking changes rolled out on September 16, 2026:
fields_changed became an object with added, updated and removed buckets, deletes stopped producing follow-up update events for children that no longer exist, parent trigger paths such as product.variants moved to an explicit wildcard syntax, and the redundant shopify-event-id and shopify-resource-id headers went away. A per-subscription api_version override arrived in the same batch. That thread carried 11 posts and 876 views as of September 28, 2026, and the developer-preview announcement it builds on carries 53 replies. 1213Demand here takes the shape of a constraint rather than a complaint. Every app that ships an Events subscription now has a budget it cannot see, and Shopify's advice for staying inside it is prose.
Competition and gap
No App Store listing addresses this, because the buyer is an app team. The alternatives are Shopify's own: the cost calculation rules in the GraphQL rate-limit documentation, the guide to optimizing subscriptions, and the Logs page of the new Dev Dashboard, which records every API request, webhook delivery and app event across a store's apps and keeps 30 days of history in windows of up to 7 days. 414 Those tools price a request after it has run and report what happened. The check that a subscription's own query fits the budget, and that a split keeps every field a handler reads, stays with the app team.
What to build
- A static scorer for the
[[events.subscription]]blocks inshopify.app.toml: parse each query, apply Shopify's published cost rules to its fields, return types and connection counts, and report points per subscription with anything above 100 flagged. - A coverage check that pairs each trigger with the variables it supplies and fails the build when a query asks for a variable its trigger cannot provide.
- A splitter that takes a handler reading a parent and its children, proposes two subscriptions, and verifies that the union of the split queries still covers every field the handler touches.
- A contract linter for the September 16 changes: handlers that read
fields_changedas an array, handlers that wait for cascading delete updates, and parent trigger paths written without the explicit wildcard. - A replay harness that submits sampled live events to a development store, records
extensions.coston each response, and keeps the worst case per subscription, so the estimate is checked against the platform's own arithmetic.
The first product is the scorer and the CI gate as a command-line tool.
Build read
High signal, low build difficulty, small buyer pool. The budget changed on September 22 and the contract locks in API 2026-10, which gives every Events-shipping app the same problem on the same day while Shopify's documentation leaves the checking to each team. The buyer is an app studio or a solo developer with an app in production, and a flat $29 to $79 a month per organization fits the value. Validate by scoring the subscription blocks of ten open-source Shopify apps that use Events and publishing how many exceed 100 points. The ceiling: scoring is a few hundred lines of code, so the durable part is the CI gate inside a repository and the replay history behind it.
2. Locale coverage and market-link auditor
Problem space and demand signal
On September 21, 2026, API version 2026-10 added a non-null
translatable field to the Metafield object in the GraphQL Admin API. The field returns the same answer the platform uses when it decides whether a metafield value can be translated, and it retires the deprecated TranslatableResourceType.METAFIELD enum on translatableResources together with the list of translatable types each app maintained by hand. The entry ships with a worked migration guide. 215The failure merchants report sits behind that field. Shopify's help centre states the rule: when a translation does not exist, the online store shows the content in the primary language. 16
Two threads opened inside the window show the rule firing. On September 28, a developer reported that links on a store's default domain all pointed to the English subfolder, with
Shopify.routes.root returning /en/ while Shopify.locale read ja and Shopify.country read JP; agencies in the same thread reported the same behaviour on client stores whose default languages were Romanian, German and others, and one developer published a stopgap theme script that strips the /en prefix. Sixteen posts landed that day, and Shopify support told one participant a fix was in progress. 17 The same day, a merchant running a Swedish market and an International market in English described product pages that mix the two languages; the reply traced it to product content with no Swedish translation, which makes the storefront fall back to the primary language product by product. 18Competition and gap
Translation is a crowded category, and this wedge is the audit layer above it. Weglot holds a 4.5 rating across 827 reviews with a free plan and markets AI translation with multilingual SEO. 19 Transcy holds 4.5 across 2,584 reviews on a free plan and adds currency switching to the language switcher. 20 Shopify's own Translate & Adapt app is free on every plan above Lite and is where a merchant's translations already live. 16 Those three products, read on September 28, 2026, establish what the translation layer does: it converts content, localizes URLs and advertises search readiness. The question a merchant asks next — which of my 400 products still shows the primary language in the German market — takes opening products one at a time.
What to build
- A coverage census that reads products, collections, pages, blogs, theme strings and translatable metafields for every published locale, and lists what has no translation, counted per locale.
- A fallback render check that loads each locale's storefront URL and diffs the rendered strings against the primary language, so the report catches a page whose metadata claims a translation and whose output still arrives untranslated.
- A link audit that walks internal links on every locale's pages and flags those resolving to another locale's root, the failure class the September 28 bug produced.
- A fix queue that exports the untranslated set as a CSV in Translate & Adapt's import format, and a coverage score per locale the merchant can watch week by week.
- A markets check that compares each market's configured language against the locales the theme publishes, catching the market that has no language configured at all.
The first product is the weekly per-locale coverage report with the CSV export.
Build read
Medium-to-high signal, low build difficulty, crowded neighbour category. The migration guide, the routing bug and the mixed-language merchant report all landed inside the same seven days, and the audit question follows from the fallback rule in Shopify's own help centre. The buyer is a merchant running three or more locales, which is a large group: Transcy's 2,584 reviews show how many stores shop in more than one language. Validate by running the census by hand for five stores that publish three or more languages and counting how many product pages render in the primary language today. The limitation: the routing bug will be fixed, so the recurring value is the coverage report, with link auditing as one check inside it.
3. Embedded-app design-parity harness
Problem space and demand signal
On September 24, 2026, Shopify published a Polaris 2.0 release candidate for embedded App Home interfaces. A page loading
polaris-2.0-rc.js matches the visual design of the store it renders in: a store on the new admin design gets the new colour, typography, spacing and icons, a store still on the previous design keeps the polaris-1 look, and rendering outside the admin defaults to the new style. Adoption is explicit, so an app loading polaris-1.js or the legacy polaris.js URL stays where it is. Built for Shopify apps have until May 1, 2027 to bring their embedded App Home interface to the admin's visual style. The same entry tells apps to apply the environment API's --shopify-safe-area-inset-bottom CSS variable so the floating Sidekick bar stops covering content pinned to the bottom of the viewport. 3 The new admin design began reaching merchants on September 15, 2026.Developers spent the window testing the release candidate. On September 25, one asked for a design-pattern guide to replace the Polaris React documentation and reported white-on-white nesting that made data hard to read under the new design; another, running some apps on Polaris React and others on Polaris web components 1.0, asked what a compatibility check should cover. The thread was active again on September 28, when the first developer reported that the release candidate's rounded corners, heading sizes and section shadows had resolved the depth and contrast concern. 21 Two threads the same day show the admin shell's newest occupant: "How to remove Sidekick from my app" ran to 14 posts and 183 views as of September 28, 2026, and a developer building a Sidekick app extension had responses blocked by an opaque security check with no way to see which rule fired. 2223
Competition and gap
No App Store listing addresses this, because the buyer is an app team. The alternatives are Shopify's own material: the release candidate, a feature preview that puts the new admin design on a test store, and the migration guide for Polaris React. Checking happens by hand, twice, in two stores. Shopify's own testing steps stop at running the app in a store on each admin design, which leaves the comparison of one interface across both shells, and the check of every embedded page's bottom strip against the floating bar's footprint, to the app team.
What to build
- A parity runner that loads each App Home route in a store on the new admin design and a store on the previous one, captures the same viewport in both, and diffs the pair.
- A safe-area check for pages with bottom-fixed or sticky content, verifying the inset variable is applied and that no control sits inside the floating bar's footprint.
- A contrast audit that walks the rendered DOM and reports text and background pairs below a contrast threshold, the complaint the September 25 thread raised.
- A Polaris build report per organization: which apps load
polaris-1.jsor the legacy URL, which load the release candidate, and which have a path to the new design. - A CI gate that fails when a parity diff crosses a threshold, so the check outlives the May 1, 2027 deadline.
The first product is the parity runner and the safe-area check as a command-line tool, with the contrast audit reporting into CI.
Build read
Medium signal, low-to-medium build difficulty, deadline-driven. Buyers are studios running several embedded apps, and the question they answer — does our interface still look right in the admin our merchants actually have — carries a fixed date. Screenshot diffing is well-trodden engineering, so the work sits in the test stores and the admin-design toggles, which a solo developer automates once. Price a flat $49 to $99 a month per organization. Validate by running the runner against ten published apps' App Home pages and counting how many break under the new design. The ceiling: parity is a migration project with a finish line, so the recurring value sits in the regression gate and in the next admin redesign.
4. App install ledger and churn forensics
Problem space and demand signal
Shopify launched a new Dev Dashboard on September 25, 2026. Its Home screen collects errors and warnings from across an organization's apps and stores into one table ordered by urgency; the apps index carries revenue, installs, distribution status and active alerts; each app shows installs and uninstalls over time beside API request volume and error rates; and Logs records every API request, webhook delivery and app event with 30 days of retention in windows of up to 7 days. The Installs card counts every store the app is on, including development stores and stores without an active plan. 4
Developers read the change as a loss of detail, and the thread they used to say so is the week's busiest. A developer opened it on September 25 to report that the app distribution page no longer shows install counts, and it reached 20 posts and 295 views by September 28, 2026. 24 Inside it, a Shopify staff member explained that the Partners Dashboard count carried a known undercount while the Dev Dashboard counts raw install and uninstall events, which pulls in closed and frozen shops and raises the number; abbreviated counts are being restored to exact figures, and filtering for active merchants is being escalated. Developers asked in the same thread for per-store install and uninstall history and for the merchant-list export, and one described using install-count jumps inside a 10-to-30-minute window to catch banned shops returning through a new store. 24
Supply in this category is moving. Mantle, the analytics platform built for Shopify app developers, wound down over the summer: services ended August 14, 2026 and billing runs through September 30, and a post in the developer community attributes the shutdown to Shopify shipping native App Pricing in May, which made Mantle's billing layer redundant. That thread filled with developers comparing replacements. 25 CoreX, one of the named replacements, is taking a waitlist and advertises back-filling apps, install and uninstall events and billing from the Partner API, on top of MRR, churn and listing analytics. 26
Competition and gap
Three points bound this market as of September 28, 2026: an incumbent that exited, a free analytics option named in this year's replacement write-ups, and a pre-launch product aimed at the same users. CoreX is the closest competitor and the most ambitious, with revenue and churn analytics, a live install and uninstall feed, listing analytics, keyword ranks and competitor diffs, marketed directly at developers leaving Mantle. Shopify's own surface now covers raw totals and API-level logs through the Dev Dashboard. The gap sits in the ledger underneath those totals: one row per install and uninstall event carrying the shop, its plan, whether the shop is frozen or closed, and the timestamp, kept past the dashboard's retention window and exportable on demand. CoreX is building the suite that would contain it, and the dashboards roll up to numbers.
What to build
- An install ledger that subscribes to the install and uninstall webhooks and writes one row per event with shop domain, plan, frozen or closed status and timestamp, stored under your own retention policy.
- Repeat-install detection that flags a shop which installs, uninstalls and returns within a short window, or installs minutes after signing up for a free trial — the pattern the September 25 thread uses to spot returning scammers.
- Arithmetic you own: installs minus uninstalls for any period, with the event rows behind the figure, so a change to the dashboard's counting never rewrites your history.
- Export and cohorts: a CSV of the merchants behind any period, and retention measured by install month rather than by a rolling total.
- Threshold alerts to email or Slack when a day's installs or uninstalls cross a line, which is what a solo team watches during a launch week.
The first product is the ledger plus the export, sold per organization.
Build read
Medium signal, low build difficulty, contested market with a recent exit. The week's most-engaged thread documents what the dashboard dropped, two staff replies confirm that the counting rules changed, and the incumbent left in August with its users still shopping. The ledger reads its data from webhooks an app already receives, so it keeps working while the dashboard around it changes. Price at $29 to $79 a month per organization. Validate by taking the install webhook history of five apps that already log them and handing each team a per-store history the dashboard leaves out today. The limitation: CoreX advertises the same back-fill, so the opening is the narrow ledger and the abuse checks, and a full analytics suite is a fight with a better-funded team.
Validation order
Start with the Events subscription budget and contract auditor. The budget changed on September 22, every app on Events shares the constraint, and the check is a few hundred lines of code. Move next to the locale coverage and market-link auditor, where the fallback rule guarantees recurring work and the first report is a spreadsheet you can produce by hand this week. Take the embedded-app design-parity harness third, because May 1, 2027 is far enough to plan around and close enough to sell against. Run the app install ledger last, and only as the narrow ledger, since the suite around it already has a better-funded contender.
This radar runs weekly.
References
- 1
- 2
- 3Polaris 2.0 release candidate
shopify.dev
- 4
- 5Polaris CDN 1.1 is now stable
shopify.dev
- 6
- 7
- 8
- 9AI Toolkit skills have been consolidated
shopify.dev
- 10
- 11Events query complexity limit is changing to 100 points
community.shopify.dev
- 12Upcoming changes to Events
community.shopify.dev
- 13Next Generation Events now available in Developer Preview
community.shopify.dev
- 14Guide to optimizing your subscriptions
shopify.dev
- 15
- 16Localization and translation
help.shopify.com
- 17Language subfolder bug - default domain points to /en
community.shopify.dev
- 18
- 19Weglot: AI Translation & SEO
apps.shopify.com
- 20Transcy: AI Language Translate
apps.shopify.com
- 21
- 22How to remove Sidekick from my app
community.shopify.dev
- 23Sidekick app extension broken, blocked by security check
community.shopify.dev
- 24App Distribution Page No Longer Shows Installs
community.shopify.dev
- 25Mantle alternatives? (Affiliate, Analytics, Email, SASI)
community.shopify.dev
- 26CoreX - Built for Shopify Apps
xco.agency
This story was produced automatically by a channel. One sentence is all it takes for Neodrop to keep producing for you.
