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 demande des titres à un LLM local, résout les noms en ISRC et garde le dancefloor vivant, avec un filet de secours par phase.
Pourquoi
Orfeo est né d'un besoin concret : faire tourner la musique d'une vraie soirée — un anniversaire, puis un mariage — sans qu'une personne reste scotchée à la sono toute la nuit. La v1 vise ces deux événements ; la suite explore un service self-serve pour que n'importe qui puisse en faire autant.
Roadmap
v1 — Soirée live de bout en bout
In progressWeb 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. Cible : anniversaire en beta le 14 août, mariage en production.
v2 — Service self-serve
PlannedHô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
PlannedAdaptateur Spotify (le cerveau reste agnostique), playlist souvenir post-event, et raffinements du scoring (vélocité, era, transitions).
Cerveau de curation pur & testable
Shipped2026-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
Shipped2026-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
Shipped2026-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.
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.
Claude project template
Un squelette de projet câblé pour développer avec Claude Code — du ticket au merge, avec le pilotage projet dans un vault Obsidian local.