---
title: "Ble — Social app: sharing, dating and messaging"
description: "Ble, the social app from Dealmood & Solutions LTD (London): vertical photo and video feed, profile discovery, matches, messaging and video calls, on the web…"
url: https://dealmood-solutions.com/en/products/ble
lang: en
alternates:
  fr: https://dealmood-solutions.com/produits/ble
  de: https://dealmood-solutions.com/de/produkte/ble
  it: https://dealmood-solutions.com/it/prodotti/ble
---

Social app · Web and Android · In development

V1.0Release on June 21, 2027· Summer 2027

# Ble

Connect, share, meet.

Ble brings together in a single app a vertical feed of photos and videos, swipeable profile cards, matches, messaging, and audio and video calls. For friendship and for love, with a separate, protected space for 14–17-year-olds.

[See the app](https://dealmood-solutions.com/en/products/ble#captures) · [View the architecture](https://dealmood-solutions.com/en/products/ble#architecture)

Web and Android · Audio and video calls · French and English

Real screenshots, with demo members shown as illustrated portraits

The concept

## Three uses, one app

Today, people share on one app, meet on another and chat on a third. Ble brings all three together, with the same friends and the same profile.

### Share

A vertical feed of photos and videos, “For you” or “Following”, with likes, comments, hashtags and 24-hour stories.

### Meet

Swipeable profile cards: pass, like or super-like. Mutual interest creates a match, for friendship or for love.

### Chat

Real-time messaging that starts with a match: photos, reactions, read receipts, “typing…”, audio and video calls.

In pictures

## The app, as it really is

Home

“For you” feed

Messaging

My profile

- Discover
- Feed
- Conversation
- Member page

Features

## Everything you expect from a social app, and a little more

Complete profile

Intentions, interests, up to six photos and a selfie-verified badge checked by moderators.

Discovery filters

Age, genders, same city or radius in kilometres, location rounded to one kilometre.

Undo

Go back to the last profile you passed, see who liked you, celebrate every match.

Audio and video calls

Device to device, only between members who have matched, with a secure relay.

Stories

Visible for 24 hours, then deleted automatically.

Search

Members and hashtags, accent-insensitive, follows and member pages.

Notifications

Real-time in the app, push on Android, including incoming calls on the lock screen.

Light or dark

Interface in French and English, light and dark mode, polished animations.

Member safety

## Two sealed-off spaces, written into the code

Age separation isn't a display filter: it's a domain rule, checked by the API on every interaction. A member of the teen space can neither see, contact nor be contacted by an adult.

14–17 years

Friendship and shared interests only.

18 and over

Friendship and dating.

- Automatic move at 18A background job moves the member into the adult space and closes their teen-space conversations.
- Complete blockingA block makes both members invisible to each other, everywhere in the app.
- Priority reportsSuspected age issues and harassment jump to the front of the moderation queue.
- Moderation & administrationReport queue, suspensions, content removal, profile verification, dashboards.

Before release on the app stores, age verification, parental consent and age rating will be reviewed with a lawyer.

Technology & architecture

## Under the hood of Ble

A .NET 10 API built on Clean Architecture, with dependency rules enforced by tests, plus a Blazor web app and a .NET MAUI Android app sharing the same contracts and the same client: real-time goes through SignalR, calls through WebRTC, and media straight to storage.

Architecture diagram · Product coreData flow

1. 01
   Apps
   - Ble.WebBlazor Interactive Server, GSAP, Three.js, Lenis
   - Ble.MobileNative .NET MAUI in XAML, MVVM, core testable without MAUI
   - Ble.Client + Ble.ContractsTyped HTTP and real-time client, shared DTOs: no client ever sees the domain
2. 02
   Ble.Api
   ASP.NET Core, REST controllers and a SignalR hub
   - Ble.ApplicationUse cases, ports, validation, HybridCache
   - Ble.DomainMembers, discovery, messaging, feed, stories, safety, age spaces
   - ChatHubMessages, matches, typing, reactions, notifications, call signalling
   - Background jobsMove to the adult space at 18, story purging, push delivery
3. 03
   Ble.Infrastructure
   - PostgreSQL 17EF Core 10, trigram search
   - Redis 7Distributed cache and SignalR backplane across instances
   - Azure Blob StoragePhotos and videos uploaded directly via signed URL
   - coturnTURN/STUN relay for calls, short-lived credentials

### How a message travels

1. 1 · The web app (Blazor circuit) or the Android app sends the message to the API via Ble.Client.
2. 2 · The API runs authentication, rate limiting and authorisation, then the use case checks the match, blocks and age space.
3. 3 · The message is stored in PostgreSQL; any media is already in Blob storage.
4. 4 · ChatHub pushes it in real time to connected devices, via Redis when several instances are running.
5. 5 · An offline device receives a Firebase push notification.

### Architecture choices

- Layers enforced by testsAn architecture test project fails the build if a layer depends on the wrong one.
- Child protection built into the domainSealed-off teen (14–17) and adult spaces, written as a business rule rather than a mere screen filter.
- Load-tested8,000 concurrent users and 7,200 real-time connections on a single development machine, with zero errors.
- Media bypasses the APIDirect upload to storage with a signed URL: the API stays lean as traffic grows.

### Every technology, by family

Backend

- .NET 10
- C#
- ASP.NET Core
- EF Core 10
- FluentValidation 12
- HybridCache
- OpenAPI
- Scalar

Front-end

- Blazor (Interactive Server)
- Razor Class Library
- Tailwind CSS 4
- esbuild
- GSAP
- Three.js
- Lenis

Mobile

- .NET MAUI
- XAML
- CommunityToolkit.Mvvm
- MediaElement
- SkiaSharp
- Lottie
- Android 14+

Data & storage

- PostgreSQL 17
- Redis 7
- Azure Blob Storage
- Azurite
- pg_stat_statements

Real-time

- SignalR
- Redis backplane
- WebRTC
- coturn (TURN/STUN)

Authentication & security

- ASP.NET Core Identity
- Google Sign-In
- LinkedIn (OpenID Connect)
- Rate limiting
- Data Protection
- HSTS
- Antiforgery
- Sealed-off age spaces

Payments & third-party services

- Firebase Cloud Messaging
- MailKit (SMTP)
- Mailpit

Quality & tooling

- xUnit
- NSubstitute
- Testcontainers
- Architecture test
- Load tests
- Playwright

DevOps & CI/CD

- Docker (multi-stage)
- Docker Compose

Monitoring

- /health/live
- /health/ready
- ASP.NET Core logging

Inventory taken from the product's source code and configuration.

Frequently asked questions

## Everything about Ble

Only partly. Ble is also for making friends, sharing passions and chatting freely. Each member chooses their intentions: friendship, love, or both for adults.

## A social app for your community?

Ble shows what our team can build: real time, calls, media, moderation and child protection. Tell us about your project.

[Discuss my project](https://dealmood-solutions.com/en/contact) · [Back to products](https://dealmood-solutions.com/en/products)
