Cringe : une app de rencontres conçue pour vous garder célibataire

Une IA réécrit votre profil honnêtement plutôt que flatteusement. Certaines des personnes de votre deck ne sont pas des personnes, et l'app vous le dit.

Client
Nuits
Année
2026
Statut
Liste d'attente
Rôle
Fondateur solo, Design produit, Ingénierie, Systèmes IA
Stack
React, Cloudflare, OpenRouter, Cloudflare AI Gateway
Cringe : une app de rencontres conçue pour vous garder célibataire

Le contexte

Cringe est une app de rencontres à fonction objectif inversée. Toutes les autres apps de la catégorie optimisent l’engagement et appellent ça de la connexion. Cringe optimise le fait que vous la fermiez et que vous sortiez dehors.

Vous écrivez un profil. Une IA le réécrit honnêtement plutôt que flatteusement, ce qui donne chez la plupart des gens un document court et mal accueilli. Ensuite vous parcourez un deck. Certains de ces profils sont des IA infiltrées, et l’app signale lesquels, parce que le règlement européen sur l’IA dit qu’une personne a le droit de savoir quand elle parle à une machine.

C’est en liste d’attente.

Le problème

Les apps de rencontres sont l’exemple le plus net d’un désalignement d’intérêts que tous les intéressés voient et que personne ne corrige. Un match réussi retire deux utilisateurs payants. Un presque-match les garde tous les deux abonnés. L’interface est réglée sur la sensation du presque, indéfiniment.

La couche profil aggrave le tout. Chacun écrit une version optimisée de lui-même, chacun sait que tous les autres font pareil, et les trois premiers rendez-vous passent à décoder l’écart entre le texte et la personne. La malhonnêteté est mutuelle, consentie et inutile.

Je voulais voir à quoi ressemblait la même interface une fois la flatterie retirée et le faux étiqueté.

Mon rôle

Seul. Nuits n’a jamais embauché personne, donc c’est mon design produit, ma marque, mon interface et mon code.

Le travail de design ici n’était pas de la décoration. Le difficile, c’était de faire d’une mention d’information une partie du produit plutôt qu’un autocollant de conformité dans un coin de l’écran. Un avis légal qui ressemble à un avis légal se balaie en un geste et personne n’a rien appris. C’était un problème de design avant d’être un problème juridique.

L’approche

Je suis parti de la réécriture honnête, parce qu’elle vous dit tout de suite si l’idée entière est drôle ou simplement cruelle.

La ligne que j’ai tracée : la réécriture a le droit d’être peu flatteuse envers les affirmations, jamais envers la personne. « Adore voyager » devient une note disant que vous êtes allé dans quatre pays et que vous avez posté sur deux d’entre eux. Elle ne commente ni votre visage, ni votre corps, ni vos revenus, ni votre valeur. Taper sur le cliché, c’est la blague. Taper sur l’utilisateur, c’est un produit qui fait mal aux gens, et la distinction devait être inscrite dans le prompt système plutôt que laissée au goût.

Les IA infiltrées sont venues ensuite. Un deck composé exclusivement de vraies personnes dans une app où personne ne s’est encore inscrit, c’est une pièce vide, et un faux étiqueté est quelqu’un de vraiment intéressant à qui parler. Les étiqueter n’a jamais été optionnel.

La construction

React sur Cloudflare. La stack est volontairement petite, parce que l’ingénierie intéressante se trouve dans la couche modèle.

Les appels aux modèles passent par OpenRouter, donc le moteur de réécriture des profils et les personas infiltrés reposent sur des modèles différents, et je peux déplacer l’un ou l’autre sans toucher au code applicatif. Le moteur de réécriture tourne sur un modèle qui suit très bien les instructions, parce que le jeu de contraintes est long et qu’en violer une seule est l’échec qui tue le produit. Les conversations des infiltrés tournent sur quelque chose de moins cher et de plus rapide, puisque la latence dans un fil de discussion se ressent directement et que personne ne note le style.

Cloudflare AI Gateway se place devant le traitement des images et fait de la classification de sécurité sur tout ce qu’un utilisateur envoie. Ce n’est pas un bonus sur un produit de rencontres ; c’est le prix à payer pour autoriser l’envoi d’images tout court. La gateway me donne aussi du cache et des plafonds de dépense par route, ce qui est la façon dont un produit gratuit en liste d’attente survit au contact d’internet.

Le moteur de réécriture est la pièce que j’ai évaluée le plus durement. J’ai gardé un jeu de profils réels, passé chaque révision de prompt sur tous, et lu la sortie en cherchant un seul échec : le modèle qui décide d’avoir de l’esprit aux dépens de la personne. Les grands modèles dérivent vers la cruauté quand vous leur demandez de l’honnêteté, parce que la cruauté est ce qui ressemble le plus à l’honnêteté dans les données d’entraînement. La correction a été une liste de contraintes négatives, plus une seconde passe qui classe chaque phrase générée comme visant l’affirmation ou visant la personne, et qui jette la deuxième catégorie. Ça coûte un appel de plus par réécriture. Ça les vaut.

Les infiltrés portent la mention à trois endroits : sur la carte dans le deck, dans l’en-tête du chat, et dans les réglages, où vous pouvez les désactiver complètement. Selon le règlement européen sur l’IA, une interaction avec un système d’IA doit être signalée à la personne qui interagit avec lui. L’intégrer dès le premier commit coûtait moins cher que de le rajouter après coup, et il se trouve que c’est la fonctionnalité que les gens citent en premier.

Le résultat

La liste d’attente est ouverte sur becringe.org. Les inscriptions sont le résultat pour l’instant, et je préfère le dire platement plutôt que déguiser une liste d’attente en traction.

La mention n’a rien coûté. Personne n’a pris les profils IA étiquetés pour un bug. Plusieurs personnes les ont pris pour la raison de s’inscrire.

Ce que je ferais autrement

J’ai construit le deck de swipe avant le moteur de réécriture, ce qui a signifié un mois passé à régler une interface autour d’une sortie que je n’avais pas mise à l’épreuve. Le comportement du modèle aurait dû venir en premier, avec l’interface dessinée autour de ce que le modèle fait réellement.

J’aurais aussi écrit le texte d’information lié au règlement sur l’IA dans les quatre langues du site dès le départ. Traduire un avis légal une fois le ton fixé, c’est une réécriture, pas une traduction.