White-label
One Flutter client, three football brands
FCBinside, BVBWLD and SchalkeTOTAL share the same Dart codebase. Branding, feeds and store listings change; the product does not get rebuilt three times.
Daily FC Bayern news in a native Flutter app — and the same white-label client for BVBWLD and SchalkeTOTAL.
10,000+
Google Play installs for FCBinside
Google Play listing, as of August 2026.
4.4 ★
App Store rating (iOS)
480 ratings in Germany, as of August 2026.
3 apps
White-label Flutter clients: FCBinside, BVBWLD and SchalkeTOTAL

FCBinside is a high-frequency news product: transfers, match analysis, short stories, video and podcasts. Fans expect the feed on a phone to feel as current as the website — without waiting for two native teams to catch up, and without stuffing the WordPress site into a WebView.
The backend is WordPress. In Germany the app holds a 4.4 ★ App Store rating from 480 ratings. On Google Play the Android client sits in the 10,000+ install bucket.
The customer is ballnews media , a digital football publisher in Biberach. Vjekoslav Keskic started FCBinside.de in 2019 as an FC Bayern fan portal. The company behind it now runs several football brands across websites, apps, social channels and podcasts — journalism and community, “from fans, for fans.”
fcbinside.de, bvbwld.de and schalketotal.de sit in the range of several million monthly visits. WordPress stays the editorial system — the apps are native clients.
We built the Flutter client for FCBinside first. The same product then shipped as:
Three store listings, three editorial voices, one Dart codebase. What changes per brand is corporate design, content source, notification copy and in-app purchases. What does not change is the feed, article view, audio, settings, ads and the ad-free subscription.
Wrapping fcbinside.de in a WebView would have been cheaper on day one and wrong on day two.
A news app has to do things a mobile browser is bad at: push that arrives when a transfer breaks, a feed that scrolls at 60 fps with images and ads, video and audio that keep playing, store subscriptions that actually remove ads, and an article view that does not wait for a full WordPress page. After a rumour, tens of thousands of devices can wake up together. They should hit a REST API, not pull the entire CMS theme through a WebView.
It is not the website behind an app icon. Push, billing and ads sit in the app, where they belong. The result is a native client on iOS and Android from the same sources.
The free app is an ad-supported product. The paid tier is the same client with the ads off, sold as a monthly, quarterly or yearly subscription in the stores.
That only works if ads are in the app, not on a webpage the app happens to display. We integrated native ad SDKs into the Flutter UI so units can sit in the feed with the same scroll performance as the stories. Each white-label brand can run its own ad inventory. Mediation, viewability and privacy prompts stay on the platform side, where the networks expect them.
A WebView wrapper typically cannot pass those checks cleanly. It also cannot offer a credible ad-free subscription, because the “app” is still showing the public website.
ballnews media ships FC Bayern, BVB and Schalke coverage from one mobile codebase. The editorial teams keep WordPress. Fans get a native app instead of a bookmark. Tapped keeps the Flutter client in a shape that can take another brand without starting over.
White-label
FCBinside, BVBWLD and SchalkeTOTAL share the same Dart codebase. Branding, feeds and store listings change; the product does not get rebuilt three times.
Native ads
Display ads sit in the native client, not in a WebView. Each brand can run its own units. An in-app subscription turns them off.
Not a wrapper
The editorial sites stay WordPress. The apps talk to the REST API, draw their own UI, and ship push, video and store billing as platform features.
Source: Apple App Store (Germany) and Google Play, August 2026
Tell us what you want to build. In a short call we’ll discuss the project and estimate time and budget.