Active Demonstration • Non-commercial Démonstration en ligne • Non commerciale

A social feed with private, encrypted messaging Un fil social avec messagerie privée et chiffrée

A live demo of a complete social platform: public posts, rich embeds (YouTube & SoundCloud), real-time direct messages, voice notes, and video. Built with Spring Boot, Elixir, Rust, and native Web Components.

Une démo en direct d’une plateforme sociale complète : publications publiques, intégrations riches (YouTube et SoundCloud), messagerie en temps réel, notes vocales et vidéo. Conçue avec Spring Boot, Elixir, Rust et des Web Components natifs.

Log in with a ready-made account in one click. Everything resets every night.

Connectez-vous en un clic avec un compte prêt à l’emploi. Tout est réinitialisé chaque nuit.

escodes.com/feed
The escodes social feed with posts, embeds and media
📸

Engineered with sandboxed media processing, searchable encryption, scoped AI access, and real-time ranking.

Conçu avec un traitement des médias isolé, un chiffrement interrogeable, un accès IA cloisonné et un classement en temps réel.

Security & media Sécurité et médias

Isolated media pipeline

Traitement des médias isolé

All untrusted uploads (images, audio, video) are handled by an isolated Rust service with zero network egress. It strips EXIF and GPS metadata, decodes images in pure Rust, and constrains FFmpeg inside a hardened sandbox with strict protocol whitelists.

Tous les fichiers téléversés (images, audio et vidéo) sont traités par un service Rust isolé, sans accès réseau sortant. Il purge les métadonnées EXIF et GPS, décode les images en Rust pur et confine FFmpeg dans un bac à sable aux protocoles strictement restreints.

  • Rust
  • FFmpeg
  • Docker
Cryptography Chiffrement

Search inside encrypted messages

Recherche dans des messages chiffrés

Messages are encrypted at rest with AES-256-GCM, authenticated to their row ID to prevent tampering. Search runs through keyed HMAC blind indexes, allowing fast PostgreSQL lookups while a stolen database dump reveals neither the messages nor the searched keywords.

Les messages sont chiffrés au repos avec AES-256-GCM, authentifiés à leur identifiant de ligne pour empêcher toute falsification. La recherche s’effectue par des index aveugles HMAC, permettant des requêtes PostgreSQL rapides sans qu’un vol de base de données ne révèle le contenu des messages ou les termes recherchés.

  • AES-256-GCM
  • HKDF / HMAC
  • PostgreSQL
AI integration Intégration IA

Connect your AI assistant

Connectez votre assistant IA

A built-in MCP server lets AI assistants like Claude search feeds, publish rich posts (including video embeds), and summarize unread activity. Connected via OAuth or personal access tokens, assistant scopes are strictly isolated: an agent token can never read your private messages or alter account settings.

Un serveur MCP intégré permet à des assistants comme Claude d’explorer les fils, de publier des contenus enrichis (vidéos incluses) et de résumer l’activité non lue. Connectés via OAuth ou des jetons personnels, les accès sont strictement cloisonnés : un jeton d’assistant ne peut en aucun cas lire vos messages privés ni modifier vos paramètres.

  • MCP
  • OAuth 2.1
  • PKCE
Discovery & ranking Découverte et classement

For You ranking engine

Moteur de classement « Pour vous »

Posts are scored by personal affinity, global quality, and time decay. Per-viewer interest profiles are built from implicit signals like reads and thread opens alongside likes, replies, and shares. Diversity rules cap repeat authors and topics, while periodic exploration slots keep the feed from closing in.

Les publications sont évaluées côté serveur selon l’affinité personnelle, la qualité globale et la fraîcheur. Un profil d’intérêt propre à chaque utilisateur est généré à partir de signaux implicites (temps de lecture, fils ouverts) et explicites (mentions j’aime, partages). Des règles de diversité limitent les répétitions d’auteurs et de sujets, tandis que des créneaux d’exploration évitent d’enfermer le fil sur lui-même.

  • Interest ProfilesProfils d’intérêt
  • Time DecayDécroissance temporelle
  • Diversity RulesRègles de diversité

Architecture at a glance L’architecture en bref

Business logic and encryption in Spring Boot • Real-time presence and fan-out with Elixir • Light native Web Components.

Logique métier et chiffrement dans Spring Boot • Présence et diffusion en temps réel avec Elixir • Web Components natifs légers.

Client Browser Native Web Components WebSocket • HTTPS AI Assistant MCP Client OAuth 2.1 • PKCE ◀ Fanout & Presence Notification ▶ REST API MCP ▶ Elixir Service Gateway & Real-Time Fanout Forwards Notification ▼ Spring Boot Auth, Logic & Cryptography Redis Pub/Sub • Message Broker Publishes ▲ ◀ Subscribes Rust + FFmpeg Worker Media Ingestion & Transcoding PostgreSQL Encrypted at Rest • Blind HMAC

Also in the demo: YouTube & SoundCloud cards · Waveform voice notes · Video & PDF uploads · Group chats & DMs · @mentions & #tags · Live notifications · For You, Latest, Following & Popular feeds

Aussi dans la démo : cartes YouTube et SoundCloud · Notes vocales avec forme d’onde · Vidéos et PDF · Groupes et messages privés · @mentions et #tags · Notifications en direct · Fils Pour vous, Récents, Abonnements et Populaires