Retour

Orfeo

macOS

La 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.

SwiftSwiftUIMusicKitSupabaseNext.jsTypeScript

À 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

  1. v1 — Soirée live de bout en bout

    In progress

    Web 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.

  2. v2 — Service self-serve

    Planned

    Hô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.

  3. vNext — Affûtage & ouverture

    Planned

    Adaptateur Spotify (le cerveau reste agnostique), playlist souvenir post-event, et raffinements du scoring (vélocité, era, transitions).

  4. Cerveau de curation pur & testable

    Shipped2026-06

    Scoring déterministe (votes log-normalisés, fit énergie/humeur/phase, pénalités anti-répétition) isolé de toute plateforme de lecture.

  5. Pilotage temps réel via Apple Music

    Shipped2026-06

    L'hôte macOS résout les ISRC et ordonnance la file d'ApplicationMusicPlayer, synchronisé en temps réel via Supabase.

  6. App web invités sans installation

    Shipped2026-06

    Recherche catalogue, proposition, upvote, humeur et dédicace depuis le navigateur — aucune app à installer.

Autres apps patolabs