·   ·  67 posts
  • 7 followers
  • 4 friends

How this network is put together: a quick architecture tour

What sits behind the website and the mobile app, without the jargon.

A few members asked what actually happens when you tap "Post" in the app, so this is the short version of how the network is put together. No diagrams yet, just words.

The core: UNA

Everything you create here, from posts and comments to groups, events and messages, lives in UNA, the open-source community platform we run on our own server. UNA handles accounts, permissions, privacy settings, notifications and file storage. It's PHP and MySQL underneath, and it's the single source of truth.

The front ends: web and mobile

The website and the mobile app are separate front ends built on top of UNA. The web app uses Next.js and the mobile app uses React Native, and they share most of their code for fetching and displaying content. Neither of them keeps your data. They ask UNA for it through its API and render what comes back.

What happens when you post

  • The app sends your text and any photos to UNA's API.
  • UNA checks you're allowed to post there, saves the post and stores the files.
  • It creates notifications for anyone following you or the group.
  • Your followers' feeds pick up the new post the next time they load or refresh.

Why split it this way

Keeping UNA as the core means privacy rules and permissions are enforced in one place, whichever app you use. It also means we can redesign the front end without touching anyone's data, which is exactly what we've been doing for the past few months.

If you self-host UNA and want to try a similar setup, ask in UNA Builders. Happy to go deeper on any part of this.

  • 363

Info

Category:
Created:
Updated:

html

asdasdasd

Comments (9)

    • Thanks for the overview.

      • Reading this on the mobile app.

        • Small clarification: posts in private groups never reach non-members' feeds. UNA checks that before the feed is built, not after.

          • Someone asked in messages whether web and mobile really share code. They do, most of the data-fetching layer. Best decision we made this year.

            • Saved this for later.

              Login or Join to comment.