Remobile: a headless Shopify storefront that buys phones as well as sells them
Live trade-in on every product page, German and English for Germany and Austria with shipping across Europe, and search designed into the build — not bolted on after launch.

A shop where the customer is also the supplier
Refurbished phones are a two-sided business. Selling needs trust the buyer cannot feel in their hand. Buying stock is harder still — margin depends on handsets that arrive cheaply and predictably, and the cheapest supply is sitting in the pocket of the customer about to buy a replacement.
Remobile runs that loop on one screen: every product page offers trade-in for the phone the shopper is holding. Accepted devices come back, get refurbished in the client's lab, and go on sale again.
Three minutes, nobody in the loop, and a number the business can still honour after inspection.
Trade-in priced on the product page in about three minutes
Every product page asks if the shopper has a phone to trade in. Model, storage and a few condition questions pull a live market price, apply the client's rules, and lock an offer for 14 days — no staff in the loop.
Where the money is protected
The number on screen is not the number that gets paid — every figure that costs the business money is checked again on the server.
Offer reaches checkout
Accepted valuations ride cart attributes into Shopify checkout and land on the order.
Server re-checks the number
On order create the storefront recalculates the valuation and drops the submission if the figures stop making sense.
Payouts stay gated
IBAN checksum, EU-only accounts, name matching and postcode lookup run before payout automation starts.
German and English storefronts for Germany and Austria — shipping across Europe
Two languages and two primary geos today, with delivery that reaches beyond those borders. Legal copy, tax treatment and shipping promises change where the law does — and the locale layer is built to grow without rewriting the storefront.

Two languages
German and English storefronts, with the right legal and commercial copy for each.
Two geos
Germany and Austria as primary markets — currency, tax treatment and shipping promises that match local rules.
Europe-wide delivery
Shoppers outside DE/AT can still buy. Routing and an international catch-all keep baskets purchasable instead of sold out.
Visitors are routed by location and language preference, with a switcher for anyone who wants something else. The international catch-all resolves the shopper's actual country so the basket stays purchasable — a failure mode that quietly loses orders on many multi-market shops.
Search was designed into the storefront, not bolted on after launch
The pages earning the most organic traffic are pages the storefront generates. That is an architecture outcome, not a campaign outcome.


Server-rendered HTML at the edge
Pages render on Shopify's edge network as real HTML, not an empty shell that fills itself in after load.
1,048 legacy URLs answered permanently
A generated redirect table catches old addresses — including query-string filter variants — before a page is built.
Comparison and collection pages worth indexing
Side-by-side model pages, bookmarkable collections, plus a condition guide and FAQ as real routes.
Correct DE / EN market signals
Language and market signals keep German and English variants supporting each other instead of competing.
Six of the store's top organic pages are generated comparison pages. Collection pages rank on commercial queries. Both language variants of the same market earn traffic — evidence the locale signals were configured properly.
Comparison pages, collections, redirects, canonicals and server-rendered delivery are ours. Ranking blog guides are the client's content on the storefront we built. A clean store with no content ranks for its brand name; content on a store search engines cannot read produces nothing.
Why this could not be a Shopify theme
Trade-in, German and English market storefronts, and generated comparison pages do not fit inside a theme. Shopify keeps the catalogue, customers, orders and payment page — the parts that are genuinely hard to replace. Everything the visitor sees is a separate application the team controls.
Storefront API for what shoppers see. Customer Account for login, orders and returns. Admin for operations the shop performs on itself. Hydrogen on Oxygen so copies of the site run close to mostly-mobile European traffic.
What the build is earning
Ahrefs open data for remobile.eu — organic keywords in positions 1–20 grew from near zero after the 1 Oct 2025 launch to roughly 1,100 by mid-2026. Collections and generated comparison pages carry the commercial queries.


Ranking pages include Samsung and under-€300 collections, iPhone comparison URLs the platform generates, and both German and English market variants — the same SEO layer described above.
Migration, counted in the code: 1,048 legacy URLs answered at the edge, one canonical address per page across German and English market variants.
Three things worth stealing from this build
Put the money logic on the server, twice
Anything a customer can see, a customer can edit. Every figure that costs the business money is recalculated when the order is created, and the submission is dropped if the numbers stop making sense.
Decide the URL layer before the design layer
Redirects, canonical addresses and market prefixes were the first thing in the request pipeline rather than a launch checklist item. That is why moving more than a thousand addresses did not show up as a traffic loss.
Ship the pages the platform can generate
A comparison page layer, a condition guide and real FAQ pages cost a fraction of a content programme, and on this store they out-earn most of it.
Questions about this project
Why headless instead of a Shopify theme?›
The trade-in flow, German and English storefronts with market-specific legal and tax copy, and the generated comparison pages could not be built inside a theme. Shopify still owns catalogue, checkout, payments and tax — the parts that are genuinely hard to replace.
How long did it take?›
Development started in June 2025. The storefront launched on 1 October 2025, and we are still improving it with the client.
How is the trade-in price calculated?›
A live market price feed gives today's value for the model and storage size, the client's uplift is applied, then the worst declared fault comes off as a percentage and the screen and body grades come off as fixed amounts. The offer holds for 14 days and is verified again on the server when the order is placed.
Which markets and languages are live?›
Germany and Austria in German and English, with shipping across Europe. The locale layer is built to expand without rewriting the storefront.
What happened to the old site's URLs?›
1,048 of them are answered at the edge with permanent redirects, including query string variants of filtered category pages, and every page has one canonical address.
Can the client's team run the shop without developers?›
Yes. Products, collections, menus, pages, blog, FAQs and banners all come from the Shopify back office.
Could you build something like this for us?›
Yes — the storefront, the commerce logic and the integrations. Talk to us about Shopify development.
Build something like this
If you compete on the shopping experience — trade-in, market-specific rules, a catalogue from feeds — tell us what you need built. We come back with a free project estimate: scope, approach (theme, headless, or neither), timeline, and a fixed-price range.