App Stack Audit & Management
Every app scored on cost, script weight, overlap and actual usage. We remove what is redundant and own the relationship with what stays.
A named Shopify developer and strategist on a fixed sprint cadence, for Milan brands whose store has accumulated an app for every problem anyone ever had.
Delivered remotely for brands across Milan and Italy.
Italian Shopify stores accumulate a very particular app stack, because the local requirements each arrive as a separate subscription. One app for electronic invoicing to SDI. One for courier labels with BRT or GLS. One for the gestionale sync. One for cookie consent. One for a currency switcher, one for translations, one that a freelancer installed in 2022 to add a size chart and is still charging every month while injecting a script on every page. Nobody has audited it, and the combined cost — in euros and in page weight — is larger than anyone in the business believes.
The retainer exists so the store stops decaying between rebuilds. We audit and own the app stack, score everything on cost, script weight, overlap and actual use, and replace the ones that would be cheaper and lighter as custom code or a Shopify Function. We keep the theme clean and documented instead of accumulating a fourth developer's undocumented edits, and we work a ranked backlog every sprint so the small things that never get done — a broken filter, a slow collection page, a translation string in the wrong language on the German checkout — actually get done.
The integrations get treated as production systems rather than as installed apps, which for an Italian store is the difference between a quiet month and a serious one. When an invoicing provider changes an API, when a courier's label format shifts, when a payment method starts failing for a subset of orders, someone has to notice and fix it. That is the part of a retainer that never appears in a proposal and is the reason to have one.
The eight-hour gap between Milan and Albuquerque is not an advantage and we will not sell it as one — you cannot get us on the phone at ten in the morning. What it is, once the working pattern is right, is a genuine overnight cycle: you leave a prioritised list at the end of your day, the work is done while Milan sleeps, and it is waiting for review at 09:00 with notes. Live conversation sits in the overlap from roughly 16:00 to 19:00 your time, once a fortnight for planning and otherwise only when a decision genuinely needs voices. Two things make it work: written handover as the default rather than as a fallback, and an agreed escalation path for anything that stops orders, which is monitored rather than waiting for a meeting. The other calendar fact we plan around is August. Milan effectively closes, your team and often your suppliers are away, and it is the wrong month to ship a risky change and the right month to do the unglamorous work — app stack cleanup, performance, documentation, next season's templates — that never gets a window during the rest of the year.
The same standard of work we run for every client — applied to a Milan brand’s realities.
Full service detailEvery app scored on cost, script weight, overlap and actual usage. We remove what is redundant and own the relationship with what stays.
Private apps, Shopify Functions and admin extensions built when a subscription stack is more expensive or slower than owning the code.
Quarterly Core Web Vitals review, dead-code removal, dependency updates and regression testing against Shopify's platform releases.
Named Slack channel with defined response times: two business hours for revenue-blocking issues, one business day for everything else.
A ranked backlog of improvements, features and experiments, with an agreed sprint capacity so a fixed number of items ship every month.
A session on what shipped, what it moved, and what the next quarter should target. Priorities get reset against your commercial plan, not a fixed contract scope.
We do not work off a rate card. Every Milan engagement starts with a fixed statement of work — named deliverables, named dates, one number — written after we have looked at your store, not before. If a smaller first step would serve you better, we will say so.
Get this scopedApp stack, theme code, speed, integrations and open bug list documented in the first two weeks. You get the findings whether you continue or not.
Redundant apps removed, urgent bugs cleared, monitoring and staging environments set up. Usually pays for a chunk of the first quarter in cancelled subscriptions.
A shared, ranked backlog and a fixed sprint rhythm. You always know what is in flight, what is next, and what capacity is left.
Two-week sprints with a demo and changelog at the end of each. Work is visible in your own board, not hidden in an agency system.
Monthly reporting on what shipped and what it moved, then a quarterly reset of priorities against your commercial goals.
Anonymised under NDA. Figures pulled from the client’s own analytics.
~$4.2M/yr, 60% subscription revenue, 22 SKUs, US · Shopify Plus (Recharge, Klaviyo)
Monthly subscription churn hit 9.4% and the cancel flow was a single button on a hosted page nobody had touched in three years. Support processed 340 subscription changes a month by hand because customers could not do it themselves. The named constraint: no forced logins. The brand refused to gate account access behind a password reset, which ruled out every off-the-shelf portal.
~$7M/yr, 480 SKUs, US + EU via Shopify Markets · Shopify Plus (Shopify Markets, 3 regions)
Paid social carried 81% of revenue and CAC had climbed 44% in eighteen months. Organic sat at 2,100 sessions a month against category competitors doing ten times that, and the EU storefront duplicated the US catalogue with no hreflang at all. The named constraint: three national retailers own the head terms with link profiles this brand could not match in a year, so the plan had to win on query depth instead of authority.
“First month they cancelled eleven apps we were still paying for, just under $1,900 a month, which covered more than half the retainer before they shipped a line of code. The backlog lives in our own board and we rank it together — it is not a bucket of hours that quietly evaporates. Two years in and I have never had to chase a bug fix twice. We are twenty minutes from their office and they still turn up in person for the quarterly, which I appreciated more than I expected to.”
Thirty minutes with the strategist who would actually run your account. We screen-share your store, read your data live, and tell you the three highest-value things we can see from the outside.
Prefer to write it out? [email protected] gets a real reply the same business day, Mon-Fri, 9am-6pm MT.