Orfeo
macOSLa fête choisit la musique. L'app la mixe.
Auto-DJ participatif — les invités proposent et votent depuis leur téléphone, un cerveau autonome décide quoi jouer et quand.
À propos
La fête décide, l'app exécute
Orfeo — d'après L'Orfeo de Monteverdi — est un auto-DJ participatif. Les invités d'une soirée proposent et votent des titres depuis leur téléphone, sans installer la moindre app, et un cerveau autonome décide quoi jouer et quand, enchaînant tout seul quand le flux de propositions se tarit.
La contrainte qui définit le projet : l'app est le DJ. Elle ordonnance et pilote la lecture en temps réel, pendant que la logique de curation reste totalement agnostique de la plateforme.
Trois couches, une règle d'or
Côté invités, une app web (Next.js) sert la recherche catalogue, le vote et les dédicaces. Côté hôte, une app macOS native (SwiftUI + MusicKit) s'abonne à l'état temps réel et pilote ApplicationMusicPlayer. Entre les deux, Supabase fait autorité — chaque morceau est identifié par son ISRC, jamais par un URI natif.
La règle d'or : le cerveau (CurationEngine) ne connaît jamais la plateforme de lecture. Il reçoit un instantané de l'état live et émet un plan ordonné de titres. Seuls les adaptateurs touchent Apple Music. Toute la logique métier vit dans des unités pures et testables, jamais dans une View SwiftUI ni un composant React.
Le cerveau
Le CurationEngine score chaque candidat — votes log-normalisés, adéquation énergie/humeur, fit de phase de soirée, bonus de dédicace, pénalités anti-répétition d'artiste et de genre — et produit une file ordonnée, déterministe hors aléa injecté. Quand les propositions sèchent, l'auto-continue navigue un vrai catalogue à partir de ce que la salle écoute — chaque titre mène à son artiste, à la radio de cet artiste et aux artistes proches — avec, en filet de secours, des titres repères choisis par l'organisateur. Le LLM local ne propose jamais de titre : il ne fournit que des genres et des étiquettes, donc un morceau de remplissage ne peut jamais être un titre qui n'existe pas.
Pourquoi
Orfeo est né d'un besoin concret : faire tourner la musique d'une vraie soirée sans qu'une personne reste scotchée à la sono toute la nuit. La v1 l'a fait le 14 août 2026 : un anniversaire de 45 invités, de midi à 3 h du matin ; la suite explore un service self-serve pour que n'importe qui puisse en faire autant.
Feuille de route
v2 — Service self-serve
PrévuHôte iOS, inférence LLM hébergée (fin de la dépendance Ollama locale), billing Stripe + comptes self-serve, et conformité légale d'un service payant.
vNext — Affûtage & ouverture
PrévuAdaptateur Spotify (le cerveau reste agnostique), playlist souvenir post-event, et raffinements du scoring (vélocité, era, transitions).
v1 — Soirée live de bout en bout
Livré2026-08Web invités (proposer/voter/humeur/dédicace), hôte macOS qui pilote Apple Music, cerveau de curation agnostique plateforme et auto-continue quand le pool sèche. A fait tourner un anniversaire de 45 invités, de midi à 3 h du matin.
Cerveau de curation pur & testable
Livré2026-06Scoring déterministe (votes log-normalisés, fit énergie/humeur/phase, pénalités anti-répétition) isolé de toute plateforme de lecture.
Pilotage temps réel via Apple Music
Livré2026-06L'hôte macOS résout les ISRC et ordonnance la file d'ApplicationMusicPlayer, synchronisé en temps réel via Supabase.
App web invités sans installation
Livré2026-06Recherche catalogue, proposition, upvote, humeur et dédicace depuis le navigateur — aucune app à installer.
Autres apps patolabs
Souffle
Respiration guidée, 13 ambiances sonores et vibrations synchronisées. Retrouvez votre calme en quelques minutes.
Quotaly
Vos quotas Claude, Codex, Cursor et Copilot d'un coup d'œil. Sachez si vous tiendrez jusqu'à la recharge.
Luchamon Bot
Bot d'automatisation de combats pour luchamon.com sur Base — choisit l'adversaire par simulation et joue le meilleur coup, énergie après énergie.