App Community Suite: one mobile app per organisation

White-label: a single application base, branded and published on the stores as each organisation's own app, with one shared server behind it.

Wisepear techlab 2026 → today

In plain words

The need
Community organisations running their collective life on a chat group and a spreadsheet, wanting their own app without being able to fund a bespoke build.
What we delivered
A mobile app in each organisation's name and colours, with its member area, its public pages readable without an account, and its admin tool.
What it changed
An organisation finally has a tool that carries its own name, where before it only had accounts opened on someone else's platform.
Sector
Wisepear techlab product — associations and community groups
Period
2026 → today
Our role
Product design, architecture, development and operation
Tech stack
  • Celery
  • WebSocket

At a glance

  • One codebase, branded per organisation, never duplicated
  • First organisation live, published under its own name
  • Member area, public pages readable without an account, and an admin tool

The context

A community organisation runs on tools that are not its own: a chat group where messages get lost, a social page not everyone follows, a member list only one person knows how to maintain. The need is always the same — a single place that carries the organisation’s name — and the budget never stretches to a bespoke build.

App Community Suite is the answer we built: a single application base, branded into an app of its own for each organisation.

The challenge

The trap in this kind of product is well known: from the second customer on, the base forks. Each organisation asks for one adjustment, it gets made “just for them”, and six months later there are four different applications to fix four times over. The product dies before it has been sold.

Three constraints sit on top of that.

The organisation must be the visible publisher. An organisation putting an app in its members’ hands does not want its supplier’s name on the home screen. The app carries its name, its logo, its colours, and its own store listing.

A visitor has to be able to look without an account. An app whose content sits entirely behind an invitation cannot be promoted: it cannot be shared, it cannot be indexed, and it gets rejected in review for want of visible content.

The organisation decides what leaves the members’ circle. Not as a global setting but item by item — this event yes, this gallery no — by volunteers who have had no training.

What we did

  • A Django back end carrying members, events, the gallery, messaging, votes, polls, finances, moderation and notifications, exposed as one REST API shared by every branded build.
  • A strict separation between product code and per-customer branding. The product lives on a single branch; each organisation owns one configuration file and one image folder. A fix written once reaches every branded build by rebase, never by copy-paste.
  • A single Flutter application for iOS and Android, whose visual identity is read from configuration rather than written into the screens.
  • Server-rendered public pages, so the calendar, the news and the gallery are readable — and indexable — without an account, with a join flow that brings the visitor back to an invitation approved by an officer.
  • A web admin tool with four role levels and a moderation queue, because a space where members publish needs a place where someone decides.

The outcome

The first organisation is live: its app is published under its own name and its members use it daily. Two further branded builds are prepared on the same base.

The lesson of this product fits in one sentence: the hard part is not writing the second application, it is the discipline that forbids writing it. Anything that looks like a customer-specific adjustment is first examined as a badly phrased generic need — and most of the time, that is exactly what it is.

Shall we talk?

A few lines are enough. We reply within one business day, no strings attached.

Two people talking over coffee at a pale table.