Open source · Federated · Mobile-first

Community software that turns interaction into relationship.

People are the engine. Kopling is the clutch: community software that engages the energy people already bring — sharing the moment while it's still a moment, welcoming the very first post, keeping every conversation whole — so interaction can grow into honest, real connection.

In development · by whom?

A real Moment on a Kopling community — one post, its replies and reactions gathered as one whole thing, updating live.

kop·ling from Dutch koppeling — clutch. A clutch doesn't create motion — it engages power that's already there.

Kopling exists so human interaction can grow into honest, real relationships — through work, hobbies, friendship, or a stranger's well-intended answer at the right moment.

That's why we build for people, not "users". People have real emotions, struggles, and hopes — good days and bad ones. Engagement is what happens when people enjoy each other; it's a consequence we welcome, never a metric we optimize.

What Kopling is

A community platform, reimagined as a forum that feels alive.

Kopling is open source software you install on your own server to run a community — the same role a forum has played for decades, rebuilt for how people actually talk online today. What people share is called a Moment: the post and everything that gathers around it — every reply, every reaction — as one whole thing, never a first post buried inside a separate thread. Nothing here is a chat app or a social feed you don't control.

1

Everything lives in one Moment

A Moment holds the whole thing — what's shared, plus every reply and reaction around it — so nothing's scattered across a feed or split off into a separate "original post."

2

Replies appear live

No refresh button. Reactions and reply counts update the moment someone responds — like the demo above.

3

Lightweight reactions

A quick "this is cool" counts as a real response — warmth doesn't require writing an essay.

4

Connected to other communities

A Kopling community can talk to other Kopling sites — and to Mastodon and the wider fediverse — so a Moment isn't trapped behind one site's login.

5

Yours to run

Install it on your own server or hosting, own your community's data, and shape it with extensions — no platform can shut it down or change the rules on you.

6

Built for phones

Fast on a weak connection, installable like an app, with real push notifications — not a desktop tool squeezed onto a small screen.

Principles

Commitments made before the first release.

Connection is the goal; everything below is in service of it. These aren't features on a roadmap — they're constraints every technical decision on this page was tested against.

Open source

Yours to run, read, and fork

Free license, public development, and a governance model designed before the community arrives — not after.

Federated

Conversations across instances

Discussions federate as discussions — threaded, forum-shaped — over ActivityPub, following the trail Discourse and NodeBB blazed.

Mobile-first

Designed for the device in your hand

Server-rendered pages that are fast on weak connections, installable as an app, with push notifications from day one.

Immediate

Share it while it's real

A moment shared while it's still a moment is unpolished and honest. Replies stream in live, and a simple "this is cool" counts — warmth shouldn't require an essay.

Extensible

An ecosystem, not an afterthought

Extensions are PHP and templates — no build step, no frontend framework to learn, no upgrade roulette.

For every scale

Friend groups to enterprises

Runs modestly on modest hosting, shines on real infrastructure — and tells you plainly which mode you're in.

Specification

The stack, decided.

Most projects announce a vision. We're publishing the engineering decisions — and the reasoning — so you know exactly what you'd be building on, contributing to, or sponsoring.

Backend
PHP · Laravelfull framework, wrapped in Kopling contracts
The most widely known PHP stack there is. Extensions code against stable Kopling APIs, so framework upgrades never ripple through the ecosystem.
Frontend
htmx 4 + Blade + AlpineHTML over the wire
The server is the single source of truth. Interactivity lives in attributes, live updates stream over SSE and WebSockets, and there is no client framework for extension authors to learn.
Styling
Tailwind v4 + daisyUIbeneath a Kopling component library
A documented set of ready-made components — buttons, forms, modals — with accessibility and behavior built in. Admins re-theme at runtime; no rebuild, ever.
Editor
Tiptapstructured content, rendered server-side
Posts are stored as structured documents and rendered to HTML in PHP. Extensions add rich content types — polls, embeds — validated and sanitized on the server.
Federation
ActivityPubforum-shaped conversations
Threaded discussions federate as threaded discussions, compatible with the emerging forum federation work — not flattened into microblog posts.
Identity
UUIDv7 everywhereorigin-aware from the first migration
Time-ordered universal IDs keep massive databases fast and make every object addressable across instances. Remote content is a first-class citizen in the schema.
Extensions
Kopling registryComposer-compatible · kopl.ing
One official registry with machine-checked compatibility — core versions, database support, conflicts — surfaced before you install. Anyone can run their own.
Storage
Capability-based filesystemsnamed drivers, mapped by admins
Extensions declare what they need — public URLs, cloud, signed links. Admins define storage once and map requests to it from the admin panel.
Databases
MySQL · MariaDB · Postgres · SQLitedeclared per extension
SQLite makes small communities and local development trivial; Postgres and MySQL carry the big ones. Extensions declare engine support in their manifest.
Realtime
SSE + WebSocketswith honest degradation
Full live updates on real infrastructure; graceful fallbacks on shared hosting — with a health dashboard that names exactly what's degraded and why.
Translations
Core-team ownedone platform for software and docs
Localization is official infrastructure, not a volunteer's side project. Strings flow from the registry to translators and back as installable language packs.

rev. 2026-07 — decisions are published before code so they can be challenged early. Disagree? That's what the discussion is for.

For extension developers

An extension is PHP and templates. Full stop.

If you've ever built for a forum platform, you know the pain: a bespoke frontend framework, a mandatory build pipeline, and monkey-patching that shatters on every core update. Kopling's extension surface is designed so that none of that exists.

  • Inject into named outlets across the UI — declared, prioritized, discoverable
  • Ship interactivity as attributes in your own templates — no compile step
  • Update core-owned regions through the response, never by patching core code
  • Optional JavaScript for the rare cases that truly need it — plain modules, no bundler required
Read the extension guide
// A complete "reactions" feature: one hook, one template.

Outlet::add('post.actions', 'reactions::button');

<!-- reactions/button.blade.php -->
<x-k::action :post="route('reactions.toggle', $ctx)"
             swap="outer">
    👍 {{ $ctx->reactions_count }}
</x-k::action>
Governance

Rules written before the crowd arrives.

Kopling runs on a BDFL model — the same pattern behind Laravel, Linux, and Ghost — with its guarantees stated up front, before anyone contributes a line. Seven commitments are already settled:

How a decision gets made.

Decisions follow a decide-by-default process: proposed in public, an objection window stated, the outcome and reasoning recorded in writing.

Built to outlive its founder.

A written succession plan — what happens to the code, the trademark, the registry, and the infrastructure — is published before 1.0, so the project's future never rests on one person's availability.

The license is your protection.

The code is free software and stays that way. The right to fork is the community's ultimate constitutional guarantee — it keeps any leadership honest, this one included.

Money never buys influence.

Sponsors and donors receive recognition, visibility, and a consulted voice — never authority over technical decisions, moderation, or the roadmap. Funding and governance are deliberately decoupled, and finances are published.

Public by default.

Decisions, their reasoning, and the project's money live in the open. Private handling is a narrow, named, time-bounded exception — for people's privacy, legal matters, and unreleased security fixes — never a habit.

A steering committee with real authority.

We aim to charter a technical steering committee with responsibilities of its own — binding say over the extension API contract, breaking-change policy, and deprecation windows — once it exists. It starts small and earns scope as the contributor pool grows, with its remit written down, not implied.

Control loosens on a real trigger.

Control is deliberately tight while the software is still finding its shape. Once it's stable and a steering committee has formed, that hands off to a public, two-monthly release cycle with a clear roadmap.

The full governance charter — the steering committee's chartered responsibilities included — is being drafted in the open, in plain language, and will be adopted before the 1.0 release. It speaks of people, not users: people with real emotions, struggles, and hopes — including the occasional bad day. Kopling will govern itself on its own software: every decision, discussed and recorded on a Kopling instance.

Read the full charter
Who's building this

Decisions are cheap. Twenty years of learning why isn't.

Anyone can publish a spec sheet. What can't be copied is the career that produced this one — two decades running on both tracks at once: engineering leadership in enterprise software by day, open source community stewardship the rest of the time. Kopling is where those tracks finally merge.

Every commitment on this page serves the same goal: a stable foundation — stable APIs for an ecosystem to build on, governance settled before it's needed, and a team and a pace of development that can sustain itself for years. Kopling isn't a fresh idea — it's twenty years of engineering and community leadership aimed squarely at building that foundation from day one.

"I've watched brilliant community software struggle for every reason except the code. Kopling is what I'd build knowing what I know now — and this time, the hard lessons are decided before the first release, not after."
Leadership

A decade leading Flarum — from moderator to core developer to chairman of its foundation. Releases, roadmap, team, and an ecosystem of hundreds of extensions.

Enterprise

Led development teams at one of Europe's largest fashion e-commerce platforms — a unicorn — with engineering-lead roles throughout a twenty-year career.

Laravel

Authored one of the earliest widely adopted Laravel multi-tenancy packages — ecosystem authorship in the exact framework Kopling builds on.

Infra

Years inside a hosting provider, enterprise cloud migrations, auto-scaling realtime systems — the operational reality behind "runs anywhere, shines on real infrastructure".

Communities

Guided one of the largest Dutch online communities through a live migration between forum platforms — and has chaired communities since 2008.

Federation

Took part in the Discourse × NodeBB conversations on forum-to-forum federation — the work Kopling's approach builds on directly.

Get involved

Built in the open. Funded in the open.

Kopling is at the beginning — the decisions are made, the code is starting. Early followers shape the roadmap; early sponsors make full-time development possible.

Sponsor development

Sponsorship funds core development, registry infrastructure, and the translation platform. Sponsors are credited on this site and in every release.

Per the governance commitments above: sponsorship buys recognition and gratitude, never authority. Every contribution and every expense is public in real time on Open Collective — not just in a periodic report — per the charter's transparency promise.