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, running a store that has to stay compliant in German and keep selling across DACH.
Delivered remotely for brands across Berlin and Germany.
German Shopify stores accumulate apps faster than most, because so much of the local requirement arrives as a plugin: an invoice generator, a legal-text service keeping the withdrawal and privacy pages current, a returns portal, a tax tool handling OSS reporting, a shipping connector talking to DHL and DPD, an accounting bridge feeding the Steuerberater. Each was a sensible decision on the day. Together they are a monthly bill nobody has reviewed, a stack of scripts on every page load, and three overlapping tools all claiming to own the order record.
So the first pass is stabilisation. Every app assessed for what it actually does, what it costs, what it loads and whether a native Shopify setting or a small Function now covers it. In German stores the duplication is usually clustered in exactly two places — tax and shipping — where merchants have layered tools during expansion and never removed the one they outgrew. Cutting that is the cheapest speed and cost win available, and it lands before any new feature work.
Then a cadence. A named developer and a named strategist, a ranked backlog you can reorder, and something shipped every sprint: the CRO winners hard-coded, the seasonal merchandising ready before December rather than during it, the Austrian or Swiss market configured properly instead of as a shipping zone, the theme kept clean as Shopify ships platform changes. Compliance work is not a one-off project either — legal text, packaging obligations and product-information requirements change, and a store that was correct at launch drifts.
The support work that a Berlin store actually needs looks different from a US retainer, and most of the difference sits in operations. Tax handling has to keep pace with cross-border growth: once EU distance sales pass the threshold you are charging destination rates and filing through the One Stop Shop, and a store still configured for domestic-only rates will produce filings your Steuerberater has to correct by hand. Shipping is its own layer — DHL, DPD and Hermes labels, parcel-locker delivery, return labels that customers expect to be straightforward, and freight rating for the cargo-bike and furniture-scale orders this city produces. Accounting wants a clean export in a format DATEV can consume rather than a monthly CSV someone reformats. And the legal furniture — withdrawal instructions, privacy text, unit pricing, packaging obligations tied to what and where you ship — needs a maintenance owner, because it drifts as the catalogue and the markets change. We treat all of it as one system with one backlog, and we run the sprint rhythm around the eight-hour gap: standing calls in our morning and your late afternoon, everything else in writing, deploys scheduled for your quiet hours rather than ours.
The same standard of work we run for every client — applied to a Berlin 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 Berlin 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.