2 / 5
SillonsMUSIQUE
[ Sillons ]
MUSIQUE
Sillons
Écosystème personnel pour collectionneur de vinyles

Suivi de collection vinyles et veille hebdomadaire des nouvelles sorties, connectés à Discogs — SwiftUI.

RÔLE
Conception produit & UX, réalisation avec un agent IA
ANNÉE
2026
COMPAGNIE
Projet personnel

Collectionneur de vinyles depuis plusieurs années, je gérais ma collection (257 disques) et ma wantlist (146 lignes) sur Discogs, qui fait bien une chose : cataloguer. Mais entre le catalogue et l'usage réel d'une collection, il manque tout ce qui rend les données exploitables au quotidien — et rien ne m'aidait à repérer les nouvelles sorties pertinentes parmi le flux permanent de la production musicale actuelle.

J'ai construit Sillons pour combler ces deux manques, en partant des données que j'avais déjà accumulées sur Discogs plutôt que d'un historique d'écoute ou d'un outil tiers.

Un collectionneur unique : moi-même.
Le projet n'a pas d'utilisateur externe, ce qui a permis d'aller vite sur les arbitrages produit, mais impose une exigence différente : l'outil doit tenir dans la durée sans que j'aie à le maintenir, sous peine d'être abandonné comme les tentatives précédentes — tableurs, notes éparses.

Le point de départ n'a pas été une enquête utilisateur classique mais l'exploitation de mes propres données Discogs. L'analyse a tranché plusieurs questions de cadrage, et en a soulevé une que je n'avais pas anticipée.

Deux tiers de la collection sortis dans les années 2020.
J'achète du neuf. Une veille sur l'actualité a du sens, là où une collection de fonds de bac n'aurait rien justifié.
146 lignes de wantlist.
Le signal le plus riche : des intentions déclarées et non satisfaites, plus explicites que n'importe quelle donnée comportementale.
Une collection plus éclectique que je ne le pensais.
Electro 77 disques, Rock 51, Metal 46, Jazz/Soul 45. Cette répartition a invalidé une partie de mon cadrage initial — j'avais choisi des sources de veille qui couvraient l'indie et le rock, soit un tiers de ce que j'écoute réellement.
Comment transformer des données de catalogage en un système utile au quotidien, sur deux usages distincts : suivre et exploiter ce que je possède déjà, et repérer ce qui mérite d'être ajouté — sans réintroduire la charge de maintenance qui a fait échouer mes outils précédents ?

Le projet s'est scindé en deux produits complémentaires, nourris par le même matériau.

Application iOS
Rendre la collection exploitable au quotidien.

Synchronisation automatique avec Discogs, avec garde-fous contre les suppressions en masse en cas d'anomalie réseau. Fiches disque enrichies en données réelles — pochette, tracklist, prix du marché, extraits audio. Tableau de bord de valeur et de répartition par genre. Un sélecteur de pressage qui compare les éditions vinyle d'un même album selon quatre critères. Un mode session qui enchaîne des disques par affinité.

Architecture 100 % client, aucun backend, avec des services indépendants pour la synchronisation, la limitation de débit et la reprise sur erreur face à des données Discogs souvent imparfaites à typer et à nettoyer.

Deux fonctionnalités ont demandé plus de conception que prévu.

Le mode session.

La première version enchaînait par cascade : label partagé, sinon style partagé, sinon même genre — le premier signal trouvé l'emportait. En la testant sur des séquences réelles, trois défauts sont apparus. Un label généraliste comme Capitol ou Sony écrasait tout le reste alors qu'il ne dit rien d'un lien musical. Un seul style partagé sur six suffisait à valoir autant que six sur six. Et rien ne retenait la dérive : en trois sauts, une session partie de house française finissait sur du city pop japonais.

La version actuelle additionne les signaux au lieu de les court-circuiter, écarte les labels généralistes, pondère les styles par proportion partagée, et garde en mémoire le disque de départ avec un poids décroissant. Une session peut s'éloigner, elle ne part plus ailleurs.

Le sélecteur de pressage.

Un album comme Californication existe en vingt-cinq pressages vinyle. Discogs les liste sans aider à choisir. Sillons en propose un à trois selon le critère demandé : pressage original, meilleur son, meilleur rapport qualité/prix, le moins cher.

Le signal le plus utile s'est révélé être le crédit « Lacquer Cut By » — le graveur — plutôt que « Mastered By ». Un repressage recopie souvent le mastering d'origine mais change de graveur, ce qui s'entend. Sur Californication, cette lecture révèle un résultat contre-intuitif : le pressage original à 195 € a une gravure moins reconnue qu'une réédition à 30 €.

Sillons Hebdo
Répondre à la question de la découverte.

Chaque vendredi, un pipeline automatisé interroge Discogs sur les labels et les artistes présents dans ma collection et ma wantlist, et publie une édition numérotée. Chaque recommandation cite le disque de ma collection qui la justifie — ce qui rend la confiance réparable quand une reco tombe à côté.

Deux registres publiés : « Dans ta zone » pour ce qui prolonge directement la collection, « À suivre » pour les sorties annoncées mais pas encore disponibles. Un troisième, « Hors-piste », existe dans le contrat mais reste vide : c'est la découverte hors de mes habitudes, et la seule voie qui pouvait l'alimenter a été coupée. Une section vide plutôt qu'une section fausse.

La décision structurante a été de renverser l'architecture.

La première version parcourait une dizaine de sources musicales et demandait à un modèle de langage d'en extraire les sorties pertinentes. Sur 185 articles collectés en une semaine, un seul concernait ma collection. Et un audit systématique de chaque item contre son article source a révélé 40 % d'erreurs — dont deux artistes qui n'existaient pas.

Le problème n'était pas le modèle. C'était que le filtre d'affinité s'appliquait en sortie, après avoir collecté tout ce qui sortait. Discogs sait déjà ce que je possède : il suffisait de lui demander ce qui paraît sur mes labels et de mes artistes. Tout ce qui revient est pertinent par construction.

Le pipeline actuel est entièrement déterministe. Aucun modèle de langage n'intervient dans le chemin de publication. Artiste, titre, label et date viennent de Discogs, vérifiés. Un audit tourne avant chaque publication et rejette tout item dont l'artiste n'apparaît pas dans sa source.

Ce que j'ai appris sur l'IA.

C'était ma première expérience de conception avec un agent en autonomie — pas comme assistant ponctuel, mais comme collaborateur sur l'intégralité du projet, de la conception au code.

Le projet s'est amélioré quand j'ai retiré l'IA du chemin critique, pas quand j'en ai ajouté. Ce n'est pas un rejet : l'agent a été indispensable pour construire, déboguer et documenter. Mais lui confier le jugement éditorial était une erreur de cadrage — la pertinence était déjà dans mes données, il n'y avait rien à deviner.

Ce que j'ai appris sur la méthode.

Les bugs ne venaient jamais du modèle. Ils venaient des ambiguïtés que je laissais dans les données ou dans le code.

Un corpus d'articles dont 82 % contenaient des guillemets typographiques qui cassaient la génération JSON. Un candidat toxique sur 165 qui faisait échouer tout un lot. Un token régénéré à un endroit et périmé à deux autres. Un genre Discogs — « Folk, World, & Country » — dont les virgules internes fragmentaient silencieusement le parsing, et qui a mis deux jours à être trouvé parce que l'affichage restait plausible.

Le motif le plus coûteux s'est répété trois fois en deux jours : une valeur absente qui signifiait à la fois « confirmé absent » et « pas encore su ». Un bouton disparu partout, un prix figé à « aucun exemplaire en vente » après un simple échec réseau, un libellé qui mentait. La correction est toujours la même — trois états explicites plutôt qu'un optionnel qui porte deux sens.

La discipline qui a fait la différence : exiger une mesure avant chaque correction. Combien de candidats, quel code d'erreur, quel taux de réussite sur trois tentatives. Sur les prix Discogs, une mesure sur vingt disques a révélé que le champ utilisé divergeait dans seize cas, avec un écart allant jusqu'à 155 fois. J'ai plusieurs fois eu tort en supposant, jamais en mesurant.

Ce que j'ai appris sur le produit.

Le vrai défi n'a pas été de concevoir les fonctionnalités mais de résister à en ajouter. Un projet sans utilisateur externe pour dire non se transforme vite en backlog infini. J'ai dû m'imposer les mêmes disciplines qu'en contexte professionnel — cadrer, prioriser, savoir arrêter une itération.

Et une règle simple, née d'un item faux évité de justesse : mieux vaut une section vide qu'une recommandation inventée. Une page honnête sur ce qu'elle n'a pas trouvé vaut mieux qu'une page qui remplit le vide.

2 / 5