<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Camille Roux</title>
    <description>The latest articles on DEV Community by Camille Roux (@camillerouxdev).</description>
    <link>https://dev.to/camillerouxdev</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1747781%2F642081a8-f9b8-4978-8cd7-74c7cf9af592.jpeg</url>
      <title>DEV Community: Camille Roux</title>
      <link>https://dev.to/camillerouxdev</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/camillerouxdev"/>
    <language>en</language>
    <item>
      <title>Algorithmic Art: From Discovery to a Drop</title>
      <dc:creator>Camille Roux</dc:creator>
      <pubDate>Sun, 16 Aug 2026 22:17:50 +0000</pubDate>
      <link>https://dev.to/camillerouxdev/algorithmic-art-from-discovery-to-a-drop-25c</link>
      <guid>https://dev.to/camillerouxdev/algorithmic-art-from-discovery-to-a-drop-25c</guid>
      <description>&lt;p&gt;&lt;em&gt;Translated from the French. The original, &lt;a href="https://www.camilleroux.com/art-generatif-de-la-decouverte-a-la-publication-dun-projet-dans-un-studio-prestigieux/" rel="noopener noreferrer"&gt;Art génératif : de la découverte à la publication d'un projet dans un studio prestigieux&lt;/a&gt;, is on my personal site. One deliberate change in this version: where the French says "art génératif", this one says algorithmic art. The meaning of "generative art" has not changed, but since generative AI took over the word, people who do not know the field tend to assume my projects are made with AI.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;You know by now that I am a curious person. I love discovering new disciplines and spending months or years exploring them. I have written before about music production, vegetarianism and the electric guitar.&lt;/p&gt;

&lt;p&gt;Here I want to write about the passion that has taken up most of my time these past few years: algorithmic art. From my first scripts producing simple animations, to a show in New York and a drop (a project launch, in our jargon) with one of the most demanding studios in the field, this is the story of an adventure I did not see coming.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Edit: after this piece was published in French, I was invited to give the closing keynote of DevFest Toulouse 2023 on the subject.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/g0aNeMUAODU"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;Here is a more recent version, presented at MiXiT 2025.&lt;/p&gt;

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/lHFZHBRNK08"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  What is algorithmic art?
&lt;/h2&gt;

&lt;p&gt;Algorithmic art is artistic creation, usually digital, that uses algorithms to produce work which generates itself or is not determined in advance.&lt;/p&gt;

&lt;p&gt;I will also talk about creative coding, which is a broader definition. It means using programming as a medium of artistic expression in its own right: visual, musical, literary, interactive, performative.&lt;/p&gt;

&lt;h2&gt;
  
  
  Discovering creative coding, and first steps on Hic Et Nunc
&lt;/h2&gt;

&lt;p&gt;It starts on the day I decide I want to learn to draw. I have no skill at it whatsoever, but I am curious. I like the idea of a new passion disconnected from screens. I picture myself with a notebook and a pencil at a café terrace.&lt;/p&gt;

&lt;p&gt;I ask an artist friend to give me a lesson. Her lesson is great, but unsurprisingly I quickly realise I have everything to learn and that the road is long. Before long I want to make more geometric drawings, then to work on an iPad with Procreate to compensate for my lack of dexterity, then to do vector drawing, and then I go back to my computer to code what I had been trying to make. That is how I take my first steps in creative coding.&lt;/p&gt;

&lt;p&gt;I start with &lt;a href="https://p5js.org/" rel="noopener noreferrer"&gt;p5.js&lt;/a&gt;, a JavaScript library, probably the most widely used, especially by beginners. You could describe it as Microsoft Paint, but in JavaScript. There are plenty of &lt;a href="https://p5js.org/tutorials/" rel="noopener noreferrer"&gt;tutorials&lt;/a&gt;, a thorough &lt;a href="https://p5js.org/reference/" rel="noopener noreferrer"&gt;reference&lt;/a&gt;, books, an &lt;a href="https://editor.p5js.org/" rel="noopener noreferrer"&gt;online editor&lt;/a&gt;. I start playing with mathematics, physics, the classic algorithms of the field, noise, randomness.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F1c8f4w094c11ald1mqdy.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F1c8f4w094c11ald1mqdy.webp" alt="One of my very first sketches in p5.js" width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;One of my very first attempts in p5.js&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;As I sink further into creative programming, I start following a lot of artists on Instagram and Twitter, learning from their work and experimenting with my own ideas. It is a period of exploration and discovery.&lt;/p&gt;

&lt;p&gt;This is when I make my first drops on &lt;a href="https://teia.art/camilleroux" rel="noopener noreferrer"&gt;Hic Et Nunc&lt;/a&gt;. I begin by publishing perfect loops, animations that repeat endlessly. To my great surprise those first drops are well received, and I start getting valuable feedback from my very first collectors.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://art.camilleroux.com/content/media/2026/08/qmwrl4f8nyjmzxnxetn7lbc5cl21cajq3tvewlzfkzw5mj.mp4" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F2aqkxc2xakqvybf0rhl2.webp" alt="Animated Rays 01, on Hic Et Nunc" width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Animated Rays 01, on Hic Et Nunc — &lt;a href="https://art.camilleroux.com/content/media/2026/08/qmwrl4f8nyjmzxnxetn7lbc5cl21cajq3tvewlzfkzw5mj.mp4" rel="noopener noreferrer"&gt;play the animation&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Discovering long-form, and first drops on fx(hash)
&lt;/h2&gt;

&lt;p&gt;From here on I will mostly be talking about long-form, a format popularised by platforms like &lt;a href="https://www.artblocks.io/" rel="noopener noreferrer"&gt;Art Blocks&lt;/a&gt; and fx(hash). The concept works like this:&lt;/p&gt;

&lt;p&gt;The artist writes a generative script, which is recorded on a blockchain, making it permanent, immutable and verifiable. The artist then specifies how many iterations, or pieces, can be created from that script, usually a few hundred. When a collector buys an iteration, the script runs to generate a new piece, which is wrapped in an NFT and transferred directly to the collector. When the script runs, nobody knows exactly what will come out of it: not the collector, not the platform, not the artist. It is a surprise for everyone.&lt;/p&gt;

&lt;p&gt;I publish, or drop, my first long-form projects on &lt;a href="https://www.fxhash.xyz/u/Camille%20Roux" rel="noopener noreferrer"&gt;fx(hash)&lt;/a&gt; very shortly after it opens. The first one is &lt;a href="https://art.camilleroux.com/work/sea/" rel="noopener noreferrer"&gt;SEA&lt;/a&gt;: a very simple project, made in a few days, from which I learn an enormous amount. 150 animated editions, built quickly just to play with fx(hash).&lt;/p&gt;

&lt;p&gt;The pieces find collectors quickly. I talk to some of them and meet nothing but lovely people, as amused as I am at watching what everyone is doing with these platforms, at being spectators to all this ferment and creativity, and generally well informed about algorithmic art and NFTs.&lt;/p&gt;

&lt;p&gt;That is how I end up publishing some fifteen projects on the platform in a few months. Each time I try new techniques, question the aesthetics, test new concepts.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fjli7w0z65hbswedtvq20.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fjli7w0z65hbswedtvq20.webp" alt="My fx(hash) profile, showing a grid of published projects" width="800" height="1318"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;My fx(hash) profile&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Let me tell you about two projects I am particularly attached to.&lt;/p&gt;

&lt;h3&gt;
  
  
  BRIDGE
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://art.camilleroux.com/work/bridge/" rel="noopener noreferrer"&gt;BRIDGE&lt;/a&gt; is a collaborative project for which I published the code on GitHub and invited any artist who wanted to contribute. It is a long-form project of 520 editions. The concept is simple: write a piece of code that draws a bridge in p5.js, respecting the given positions of the deck slabs. Each minted piece has a default style, but the collector can cycle through all 26 styles on their bridge.&lt;/p&gt;

&lt;p&gt;The project introduced me to several artists I still talk to. It is fascinating to see the diversity of styles that came out of identical constraints.&lt;/p&gt;

&lt;h3&gt;
  
  
  ARTERIA
&lt;/h3&gt;

&lt;p&gt;I also want to mention &lt;a href="https://art.camilleroux.com/work/arteria/" rel="noopener noreferrer"&gt;ARTERIA&lt;/a&gt;, probably the fx(hash) project I am proudest of so far. It has 333 editions. At that point I wanted to take more time, to attempt more complex and more considered projects. There is a &lt;a href="https://immutablecollective.art/writing/arteria-making-of/" rel="noopener noreferrer"&gt;making-of&lt;/a&gt; describing how it works and how it came about in detail.&lt;/p&gt;

&lt;p&gt;The name ARTERIA means "artery" in old Occitan. The project is an exploration of autonomous agents: entities that follow a set of simple rules, here in order to draw paths.&lt;/p&gt;

&lt;p&gt;In ARTERIA the agents have a default behaviour: they move straight ahead, they reproduce, and they die when they meet the trajectory of another agent. As they move they draw small circles. The system starts from dozens of random initial parameters: level of recursion, position and size of the agents, colours, birth angle, distribution. The possibilities are endless.&lt;/p&gt;

&lt;p&gt;Local rules can then be applied on top. All the agents in the upper half might slowly turn, for instance. The final result is the product of the initial parameters, the interactions between agents, and the local rules. It is a piece about the beauty and complexity that can emerge from simple rules and autonomous interaction.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://art.camilleroux.com/content/media/2026/08/arteria-166.mp4" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fqatcl32csc9oruq0rrp1.webp" alt="ARTERIA #166" width="760" height="1141"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;ARTERIA #166 — &lt;a href="https://art.camilleroux.com/content/media/2026/08/arteria-166.mp4" rel="noopener noreferrer"&gt;play the animation&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  "I would have liked to be an artist"
&lt;/h2&gt;

&lt;p&gt;The ARTERIA drop is a success on fx(hash). I start having collectors who follow my work closely, who buy and share my projects, who advise and support me. It makes me want even more to take my time, to keep working on the aesthetics, to build richer and more complex generators. It is getting serious.&lt;/p&gt;

&lt;p&gt;Here is a podcast recorded in June 2022 in which I am interviewed by Lucie-Eleonore Riveron, CEO of the Paris auction house FauveParis. I talk about how I got here, but also about the impostor syndrome that makes it hard for me to think of myself as an artist, about the preconceptions I carry about "real artists", and about what I want to do next.&lt;/p&gt;

&lt;p&gt;&lt;iframe src="https://open.spotify.com/embed/episode/3TS5ML7tq7muiy9b2DkxMz" width="100%" height="232px"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;fx(hash), which I have talked about at length, is an open platform: anyone can post a project whenever they want, and there is a great deal of excellent work on it. But there are many others. Some are equally open; others require the project to be selected by a curation panel. Platforms like &lt;a href="https://www.gmstudio.art/" rel="noopener noreferrer"&gt;gm.studio&lt;/a&gt;, or Art Blocks with its Curated section, can be extremely demanding.&lt;/p&gt;

&lt;p&gt;So I set myself a challenge: could I too land a drop with one of the platforms I keep admiring from a distance?&lt;/p&gt;

&lt;h2&gt;
  
  
  FOLRADURA
&lt;/h2&gt;

&lt;p&gt;I keep experimenting with a new long-form project, &lt;a href="https://art.camilleroux.com/work/folradura/" rel="noopener noreferrer"&gt;FOLRADURA&lt;/a&gt;, published on &lt;a href="https://256art.com/artist/camilleroux" rel="noopener noreferrer"&gt;256ART&lt;/a&gt;. It explores the creation of organic patterns through a mix of mathematics, physics, noise and chance.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F97uzdzokmldwlkwg2tll.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F97uzdzokmldwlkwg2tll.webp" alt="FOLRADURA #2, organic patterns built from local modifiers" width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;FOLRADURA #2&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;FOLRADURA rests on one main concept: local modifiers. A modifier applies a local effect, an attraction for instance, to a grid of hundreds of thousands of points. What you see is the path of those points, between their initial and their final position. Each edition plays with one or two types of modifier. They can be placed in different ways, sometimes randomly, sometimes on a grid. Each produces very different effects depending on its configuration and on its type: squares, spirals, lines, waves.&lt;/p&gt;

&lt;p&gt;Every point is influenced by every modifier. All that complexity produces a very organic look and a great deal of detail. The project was a success, and it showed the aesthetics and complexity that can emerge from simple rules and autonomous interaction. There is a &lt;a href="https://immutablecollective.art/writing/folradura-the-making-of/" rel="noopener noreferrer"&gt;making-of&lt;/a&gt; if you want more.&lt;/p&gt;

&lt;p&gt;&lt;iframe class="tweet-embed" id="tweet-1544384571730427905-854" src="https://platform.twitter.com/embed/Tweet.html?id=1544384571730427905"&gt;
&lt;/iframe&gt;

  // Detect dark theme
  var iframe = document.getElementById('tweet-1544384571730427905-854');
  if (document.body.className.includes('dark-theme')) {
    iframe.src = "https://platform.twitter.com/embed/Tweet.html?id=1544384571730427905&amp;amp;theme=dark"
  }



&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;More on FOLRADURA&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://art.camilleroux.com/work/folradura/" rel="noopener noreferrer"&gt;Project page&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://immutablecollective.art/writing/folradura-the-making-of/" rel="noopener noreferrer"&gt;Making-of&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://256art.com/project/folradura" rel="noopener noreferrer"&gt;The project on 256ART&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  INTRICADA
&lt;/h2&gt;

&lt;p&gt;Having loved working with autonomous agents on ARTERIA, I decided to take the concept back up and push it in a new direction.&lt;/p&gt;

&lt;p&gt;The name &lt;a href="https://art.camilleroux.com/work/intricada/" rel="noopener noreferrer"&gt;INTRICADA&lt;/a&gt; means "interlaced" in old Occitan. The project explores the balance between emergence and control, a recurring theme in algorithmic art.&lt;/p&gt;

&lt;p&gt;INTRICADA is built on autonomous agents similar to those in ARTERIA. The agents draw very small dots and follow simple rules. I designed INTRICADA as a simulation: set initial conditions, then watch what comes out. Each piece is the result of thousands of unforeseeable consequences.&lt;/p&gt;

&lt;p&gt;What makes INTRICADA singular is the sheer variety of possible outcomes. Many parameters influence the initial position and direction of the agents, the colour palettes, and much else. Every combination produces a genuinely distinct result.&lt;/p&gt;

&lt;p&gt;INTRICADA offers a visual experience on several scales. From a distance a piece can look like intersecting circles, like geometric patterns, like confetti. Closer, you see that those shapes are made of a multitude of agent trajectories. Closer still, you see that those trajectories are made of dots, several hundred thousand per output.&lt;/p&gt;

&lt;p&gt;INTRICADA was dropped as an open edition, meaning there was no limit on the number of pieces that could be created, only a time limit. I had the honour of being selected by &lt;a href="https://www.brightmoments.io/" rel="noopener noreferrer"&gt;Bright Moments&lt;/a&gt; as their artist of the month in March 2023. What is particular about Bright Moments is their care in giving a physical and human dimension to the projects they publish. INTRICADA was shown in cities around the world: New York, London, Mexico City, Venice Beach, Berlin and Tokyo. An incredible experience.&lt;/p&gt;

&lt;p&gt;&lt;iframe class="tweet-embed" id="tweet-1630697350502170624-706" src="https://platform.twitter.com/embed/Tweet.html?id=1630697350502170624"&gt;
&lt;/iframe&gt;

  // Detect dark theme
  var iframe = document.getElementById('tweet-1630697350502170624-706');
  if (document.body.className.includes('dark-theme')) {
    iframe.src = "https://platform.twitter.com/embed/Tweet.html?id=1630697350502170624&amp;amp;theme=dark"
  }



&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;More on INTRICADA&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://art.camilleroux.com/work/intricada/" rel="noopener noreferrer"&gt;Project page&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://app.brightmoments.io/collections/0x0a1bbd57033f57e7b6743621b79fcb9eb2ce3676/37" rel="noopener noreferrer"&gt;The project on Bright Moments&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The Source
&lt;/h2&gt;

&lt;p&gt;Alongside INTRICADA, since July 2022, I had been working on a collaboration with a long-time friend and business partner, &lt;a href="https://immutablecollective.art/matthieu-segret/" rel="noopener noreferrer"&gt;Matthieu Segret&lt;/a&gt;. From my earliest days in this world I had been telling him about what I was finding. It did not take him long to be tempted himself, and his &lt;a href="https://www.fxhash.xyz/u/Matthieu%20Segret" rel="noopener noreferrer"&gt;fx(hash) profile&lt;/a&gt; is worth a look.&lt;/p&gt;

&lt;p&gt;By the summer of 2022, algorithmic art had been taking up a substantial share of our free time for a year, and we talked about it constantly. An idea slowly took shape: what if we pooled our skills into an artistic collaboration? Find an idea, enjoy ourselves, do our best, and see what came out.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fvidbvoaaan76hkje9zy1.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fvidbvoaaan76hkje9zy1.webp" alt="Working together on The Source" width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;For this project Matthieu wanted to play with textures and try to achieve a physical quality in the render; I wanted to work with mathematical concepts.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ff9wyxpos2sooi3ql86a7.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ff9wyxpos2sooi3ql86a7.webp" alt="A brainstorming session with Matthieu" width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;A brainstorming session with Matthieu&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;That was the start of months of thinking, brainstorming, trials, code, debugging, doubt and joy. After a few months we found our through-line: to represent water abstractly, in its various forms, with coloured reflections drawn from places around the world. During that period we regularly rented places to work together, sometimes by the sea or a river, for the inspiration.&lt;/p&gt;

&lt;p&gt;We have already told &lt;a href="https://immutablecollective.art/writing/the-source-building-process-from-start-to-finish/" rel="noopener noreferrer"&gt;the story of how the project came together&lt;/a&gt; in detail, so let me jump forward a few months.&lt;/p&gt;

&lt;p&gt;By early 2023 we were very happy with what we had. It was almost certainly the best project either of us had made. Being two, and spending that much time on it, let us work every detail. We had a project, a name and a presentation deck. Now we had to find somewhere to publish it. We pitched it to several platforms, including the ones I had been dreaming about for a while.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fjtyv3cvzxhynzfvm27y0.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fjtyv3cvzxhynzfvm27y0.webp" alt="An edition of The Source" width="800" height="1200"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In early May the news came: gm.studio wanted to publish it. What is particular about gm.studio is that the curation panel does not know the artist's name. It makes for a fairer and more inclusive selection, based on the project alone. We love the platform and we love their selection. And to top it off, it was the first time a project had been selected unanimously by the panel. We were more than delighted, and we signed without hesitation.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://art.camilleroux.com/work/the-source/" rel="noopener noreferrer"&gt;The Source&lt;/a&gt; came out on gm.studio on 31 July 2023. I will let you admire the teaser they made for the occasion.&lt;/p&gt;

&lt;p&gt;&lt;iframe class="tweet-embed" id="tweet-1679877306981007360-454" src="https://platform.twitter.com/embed/Tweet.html?id=1679877306981007360"&gt;
&lt;/iframe&gt;

  // Detect dark theme
  var iframe = document.getElementById('tweet-1679877306981007360-454');
  if (document.body.className.includes('dark-theme')) {
    iframe.src = "https://platform.twitter.com/embed/Tweet.html?id=1679877306981007360&amp;amp;theme=dark"
  }



&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;More on The Source&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://art.camilleroux.com/work/the-source/" rel="noopener noreferrer"&gt;Project page&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.gmstudio.art/collections/the-source" rel="noopener noreferrer"&gt;The project on gm.studio&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://immutablecollective.art/writing/the-story-behind-the-source/" rel="noopener noreferrer"&gt;The story behind The Source&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.nftmorning.com/p/533-camille-roux-and-matthieu-segret" rel="noopener noreferrer"&gt;Episode of the NFT Morning podcast&lt;/a&gt; (in French)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The Destination, at Bright Moments Paris
&lt;/h2&gt;

&lt;p&gt;The adventure did not stop there. Matthieu and I decided to keep collaborating. Starting from the source code of The Source, we built an entirely new project drawing on the same universe: &lt;a href="https://art.camilleroux.com/work/the-destination/" rel="noopener noreferrer"&gt;The Destination&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The Destination is an ode to curiosity, a piece about the diversity of paths one can take and the multitude of subjects there are to discover. Each planet or star represents a field to explore. Matthieu and I combined our own enthusiasms to bring the series to life; it celebrates the whole journey towards a goal as much as reaching it. The title is also a nod to our first collaboration.&lt;/p&gt;

&lt;p&gt;The project took us to Bright Moments Paris, where we got to meet collectors of ours, and artists we admire and talk to regularly.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fzwq4iemg1pnrjjtw59x4.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fzwq4iemg1pnrjjtw59x4.webp" alt="Bright Moments Paris" width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F8pzyn77b8z3jw7oprh7s.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F8pzyn77b8z3jw7oprh7s.webp" alt="Bright Moments Paris" width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fv9wu799rchz4tzh8llf3.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fv9wu799rchz4tzh8llf3.webp" alt="Bright Moments Paris" width="800" height="1200"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fwylzsi8okeb57ntqf2rv.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fwylzsi8okeb57ntqf2rv.webp" alt="Bright Moments Paris" width="800" height="1200"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fpxrkkj3ekcrawm0hs04y.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fpxrkkj3ekcrawm0hs04y.webp" alt="Bright Moments Paris" width="800" height="1000"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ftrum4b73u1xupr5ys0u8.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ftrum4b73u1xupr5ys0u8.webp" alt="Bright Moments Paris" width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F83v1j93xwudlu1x0mm9c.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F83v1j93xwudlu1x0mm9c.webp" alt="Bright Moments Paris" width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fg7n42kzf0r7rw354hbkk.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fg7n42kzf0r7rw354hbkk.webp" alt="Bright Moments Paris" width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Bright Moments Paris, February 2024&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Bright Moments Finale, in Venice
&lt;/h2&gt;

&lt;p&gt;Bright Moments then invited me to work with them again for their final event, this time on a unique project shown during the 2024 Venice Biennale. The piece is singular in that it combines the work of over sixty artists who had been pivotal to the gallery's history.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="https://art.camilleroux.com/work/bright-moments-finale/" rel="noopener noreferrer"&gt;Bright Moments Finale (2024)&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I am honored to have been part of Bright Moments Finale, showcased at the 2024 Venice Biennale. This event marked my third collaboration with Bright Moments, following Intricada and The Destination.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F9b46mzqev3wmqo2hoynp.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F9b46mzqev3wmqo2hoynp.webp" alt="My contribution to Bright Moments Finale" width="800" height="1067"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It was a pleasure to see my work presented in such an extraordinary setting.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F3sa1l0vqyo03qmmxston.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F3sa1l0vqyo03qmmxston.webp" alt="Bright Moments Finale, installed in Venice" width="800" height="1067"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Bright Moments Finale, Camille Roux (credits: Emily Xie)&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Résilience
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://art.camilleroux.com/work/resilience/" rel="noopener noreferrer"&gt;Résilience&lt;/a&gt; is a deeply personal algorithmic project, born of a year exploring visual patterns and textures. It dropped in November 2024 on gm.scribe. Each edition stands for a moment of a life, a trial that was overcome, a slow but real transformation. Drawn from a health experience that had a heavy impact on my life, hyperacusis and tinnitus, the work is about the human capacity to adapt, to heal and to move forward.&lt;/p&gt;

&lt;p&gt;Through abstract forms, evolving palettes and a subtle animation, Résilience invites collectors to find, in a given piece, a resonance with their own path. It is a piece about persistence, about rebuilding, and about hope.&lt;/p&gt;

&lt;p&gt;It is also my first project on Bitcoin.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F9tgc6ss4r5zagl7gxbht.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F9tgc6ss4r5zagl7gxbht.webp" alt="An edition of Résilience" width="760" height="1141"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fxbm95ifswpjx9a7epna5.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fxbm95ifswpjx9a7epna5.webp" alt="An edition of Résilience" width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F55viuq3z8uw4horcw577.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F55viuq3z8uw4horcw577.webp" alt="An edition of Résilience" width="800" height="1295"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Résilience&lt;/em&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="https://art.camilleroux.com/work/resilience/" rel="noopener noreferrer"&gt;Résilience (2024)&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Life is not always a smooth journey. Each of us faces challenges and difficult times. Resilience is a collection where each edition reflects a distinct slice of life, capturing the essence of challenges faced and obstacles overcome.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  What comes next
&lt;/h2&gt;

&lt;p&gt;I have projects in the works, shows and drops on the way. I would also like the chance to show my work, and algorithmic art more broadly, in my own city of Montpellier, or at least in France.&lt;/p&gt;

&lt;p&gt;I get a lot of pleasure out of introducing people to this world. I have presented algorithmic art through my own path at DevFest Toulouse in 2023, and more recently at MiXiT and MontpellierJS.&lt;/p&gt;

&lt;p&gt;If you want to follow along, it happens on &lt;a href="https://twitter.com/camillerouxart" rel="noopener noreferrer"&gt;Twitter&lt;/a&gt; and &lt;a href="https://www.instagram.com/camillerouxart/" rel="noopener noreferrer"&gt;Instagram&lt;/a&gt;. There is also &lt;a href="https://art.camilleroux.com/genart-podcast/" rel="noopener noreferrer"&gt;the GENART podcast&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Thank you to everyone who has been part of this.&lt;/p&gt;

</description>
      <category>creativecoding</category>
      <category>art</category>
      <category>javascript</category>
      <category>showdev</category>
    </item>
    <item>
      <title>claude-seo : la skill pour faire des audits SEO directement dans Claude Code</title>
      <dc:creator>Camille Roux</dc:creator>
      <pubDate>Mon, 13 Jul 2026 13:37:52 +0000</pubDate>
      <link>https://dev.to/camillerouxdev/claude-seo-la-skill-pour-faire-des-audits-seo-directement-dans-claude-code-1odg</link>
      <guid>https://dev.to/camillerouxdev/claude-seo-la-skill-pour-faire-des-audits-seo-directement-dans-claude-code-1odg</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F8a3d768j0tgnfqx7bzmv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F8a3d768j0tgnfqx7bzmv.png" alt="claude-seo : la skill pour faire des audits SEO directement dans Claude Code" width="800" height="627"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;J'utilise beaucoup le plugin &lt;a href="https://github.com/AgriciDaniel/claude-seo?ref=camilleroux.com" rel="noopener noreferrer"&gt;claude-seo&lt;/a&gt; pour Claude Code car elle me permet d'enchaîner rapidement audit SEO, corrections et vérification.&lt;/p&gt;

&lt;p&gt;Je lance un audit, je récupère des problèmes priorisés, je demande des explications, je corrige un title ou une meta-description, j'améliore un maillage interne, puis je relance l'analyse.&lt;/p&gt;

&lt;p&gt;Ce n'est pas juste un rapport SEO de plus. C'est une boucle de travail. Je m'en sers de temps en temps pour mon blog, mais surtout pour Human Coders où le SEO est essentiel.&lt;/p&gt;

&lt;p&gt;Je l'avais d'ailleurs citée dans mon &lt;a href="https://www.camilleroux.com/top-skills-plugins-claude-code-2026-v3/" rel="noopener noreferrer"&gt;top des skills et plugins Claude Code&lt;/a&gt;. Voici plus précisément ce que ça change dans mon usage au quotidien.&lt;/p&gt;

&lt;h2&gt;
  
  
  claude-seo : une skill SEO open source pour Claude Code
&lt;/h2&gt;

&lt;p&gt;claude-seo est un plugin open source pour Claude Code, sous licence MIT. Au moment où j'écris ces lignes, le repo a dépassé les 10 000 étoiles sur GitHub.&lt;/p&gt;

&lt;p&gt;L'installation se fait en deux commandes :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;/plugin marketplace add AgriciDaniel/claude-seo
/plugin &lt;span class="nb"&gt;install &lt;/span&gt;claude-seo@agricidaniel-claude-seo

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Ensuite, tout part de la commande &lt;code&gt;/seo&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Le plugin installe une vraie boîte à outils SEO dans Claude Code : audits de site, analyse de page, SEO technique, contenu, Schema.org, sitemap, maillage interne, images, GEO/AEO, SEO local, e-commerce, international, backlinks, reporting…&lt;/p&gt;

&lt;p&gt;Je n'utilise pas tout. Mais même avec un usage assez simple, c'est déjà très pratique.&lt;/p&gt;

&lt;p&gt;Autre point important : on peut commencer sans connecter de comptes externes. Pas besoin de connecter Google Search Console, GA4, Ahrefs ou DataForSEO pour obtenir un premier audit. Le plugin analyse ce qu'il peut récupérer publiquement sur le site et produit déjà des recommandations utiles.&lt;/p&gt;

&lt;p&gt;Évidemment, si on ajoute des données réelles, l'analyse devient plus intéressante.&lt;/p&gt;
&lt;h2&gt;
  
  
  Ce qu'elle sait faire sans rien brancher
&lt;/h2&gt;

&lt;p&gt;Même sans identifiants Google, claude-seo peut déjà analyser pas mal de choses.&lt;/p&gt;

&lt;p&gt;Sur une page ou un site, elle regarde notamment :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;les titles ;&lt;/li&gt;
&lt;li&gt;les meta-descriptions ;&lt;/li&gt;
&lt;li&gt;la structure des titres ;&lt;/li&gt;
&lt;li&gt;l'indexabilité ;&lt;/li&gt;
&lt;li&gt;les canonicals ;&lt;/li&gt;
&lt;li&gt;les redirections ;&lt;/li&gt;
&lt;li&gt;le robots.txt ;&lt;/li&gt;
&lt;li&gt;le sitemap ;&lt;/li&gt;
&lt;li&gt;les données structurées ;&lt;/li&gt;
&lt;li&gt;le maillage interne ;&lt;/li&gt;
&lt;li&gt;la qualité du contenu ;&lt;/li&gt;
&lt;li&gt;les signaux E-E-A-T ;&lt;/li&gt;
&lt;li&gt;les images ;&lt;/li&gt;
&lt;li&gt;la citabilité pour les IA.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Par exemple, on peut lancer un audit complet :&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;/seo audit https://www.camilleroux.com

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Ou une analyse plus ciblée sur une page :&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;/seo page https://www.camilleroux.com/mon-article/

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;On peut aussi se concentrer sur un aspect précis :&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;/seo schema https://www.camilleroux.com
/seo geo https://www.camilleroux.com
/seo technical https://www.camilleroux.com

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Le résultat n'est pas seulement une liste de problèmes. Chaque recommandation est formulée avec une observation, une priorité, une logique, parfois une dépendance avec d'autres corrections, et surtout une façon de vérifier si l'action a eu un effet.&lt;/p&gt;
&lt;h2&gt;
  
  
  Mon usage au quotidien
&lt;/h2&gt;

&lt;p&gt;En pratique, je m'en sers surtout comme d'un assistant SEO intégré à Claude Code.&lt;/p&gt;

&lt;p&gt;Je lance un audit, puis je regarde d'abord les recommandations qui combinent trois critères :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;une page importante ;&lt;/li&gt;
&lt;li&gt;un impact probable ;&lt;/li&gt;
&lt;li&gt;une correction faisable simplement.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Si claude-seo signale un problème, je peux corriger immédiatement (meta-description, schema, liens internes), puis relancer l'analyse pour vérifier.&lt;/p&gt;

&lt;p&gt;C'est ce côté itératif que j'apprécie : audit, correction, vérification, sans changer.&lt;/p&gt;
&lt;h2&gt;
  
  
  Là où ça devient vraiment utile : les données Google
&lt;/h2&gt;

&lt;p&gt;Je suis pas un grand fan de Google, vous le savez, mais quand on parle de SEO c'est assez incontournable.&lt;/p&gt;

&lt;p&gt;claude-seo peut se connecter à plusieurs sources Google selon le niveau de configuration : PageSpeed Insights, CrUX, Search Console, GA4...&lt;/p&gt;

&lt;p&gt;Ça permet de repérer les pages qui ont déjà des impressions mais un taux de clic trop faible. Les requêtes où une page se situe autour de la position 8 à 15. Les contenus qui apparaissent dans Google mais ne transforment pas assez.&lt;/p&gt;
&lt;h2&gt;
  
  
  Le suivi dans le temps
&lt;/h2&gt;

&lt;p&gt;claude-seo propose aussi un suivi dans le temps avec une baseline et des comparaisons :&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;/seo drift baseline https://www.camilleroux.com
/seo drift compare https://www.camilleroux.com
/seo drift &lt;span class="nb"&gt;history &lt;/span&gt;https://www.camilleroux.com

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Je ne m'en sers pas encore, mais l'idée est de repérer facilement ce qui change ou se dégrade entre deux audits.&lt;/p&gt;
&lt;h2&gt;
  
  
  La citabilité IA, sans en faire une religion
&lt;/h2&gt;

&lt;p&gt;claude-seo permet aussi de travailler la GEO/AEO, c'est-à-dire l'optimisation pour les réponses générées par les IA : AI Overviews, ChatGPT, Perplexity, Gemini, etc.&lt;/p&gt;

&lt;p&gt;L'idée est simple : vérifier si une page est claire, structurée et facile à citer. Par exemple :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;des titres qui répondent vraiment aux questions ;&lt;/li&gt;
&lt;li&gt;des paragraphes compréhensibles hors contexte ;&lt;/li&gt;
&lt;li&gt;une source et une légitimité claires ;&lt;/li&gt;
&lt;li&gt;un contenu bien structuré.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;De plus en plus de clients de Human Coders nous disent nous avoir trouvé en cherchant une formations via ChatGPT ou autres. Ça reste marginal, difficile à optimiser, ... mais ça me parait utile de vérifier que au moins les bases sont là.&lt;/p&gt;
&lt;h2&gt;
  
  
  Là où ça compte vraiment : Human Coders
&lt;/h2&gt;

&lt;p&gt;Sur mon blog, le SEO reste secondaire. J'écris surtout pour partager ce que je teste, parler de mes passions...&lt;/p&gt;

&lt;p&gt;Chez &lt;a href="https://www.humancoders.com/?ref=camilleroux.com" rel="noopener noreferrer"&gt;Human Coders&lt;/a&gt;, c'est différent. Le référencement est un sujet important depuis toujours. Nous avons un catalogue de plus de 250 formations aujourd'hui, et chaque formation doit être trouvable, compréhensible, bien structurée, et assez claire pour répondre aux questions des personnes qui cherchent à se former ou à former leur équipe.&lt;/p&gt;

&lt;p&gt;C'est typiquement là que claude-seo devient intéressante.&lt;/p&gt;

&lt;p&gt;Elle aide à vérifier le balisage &lt;code&gt;Product&lt;/code&gt;, &lt;code&gt;Offer&lt;/code&gt; ou &lt;code&gt;BreadcrumbList&lt;/code&gt;, à améliorer la structure des pages, à repérer les contenus trop faibles, et à rendre certaines sections plus faciles à citer par les moteurs de recherche comme par les IA.&lt;/p&gt;

&lt;p&gt;Je continue aussi à utiliser &lt;a href="https://monitorank.com/?ref=camilleroux.com" rel="noopener noreferrer"&gt;Monitorank&lt;/a&gt; pour suivre proprement les positions des mots-clés importants du catalogue. claude-seo ne remplace pas ce suivi, mais ajoute une couche très pratique dans mon workflow Claude Code. Il m'arrive aussi de lui passer de temps en temps un export pour compléter les informations issues de GA et de GSC.&lt;/p&gt;

&lt;p&gt;Et si le sujet Claude Code vous intéresse côté équipe (skills, plugins, hooks, MCP, sub-agents, intégration dans un vrai workflow de dev) on a justement des formations &lt;a href="https://www.humancoders.com/formations/claude-code?ref=camilleroux.com" rel="noopener noreferrer"&gt;Claude Code&lt;/a&gt; et &lt;a href="https://www.humancoders.com/formations/claude-code-avance?ref=camilleroux.com" rel="noopener noreferrer"&gt;Claude Code avancé&lt;/a&gt; chez Human Coders ;)&lt;/p&gt;
&lt;h2&gt;
  
  
  Ce que je n'utilise pas encore
&lt;/h2&gt;

&lt;p&gt;Je n'utilise qu'une partie du plugin.&lt;/p&gt;

&lt;p&gt;Il y a pas mal de fonctions que je n'utilise pas encore : briefs de contenu, clustering sémantique, analyse concurrentielle, backlinks, SEO local, hreflang, SEO programmatique, rapports, et intégrations externes.&lt;/p&gt;
&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;claude-seo ne remplace pas les outils SEO classiques, mais elle change la façon de travailler : tout se passe dans Claude Code, avec une boucle simple et rapide entre analyse, correction et vérification.&lt;br&gt;&lt;br&gt;
C’est ce côté itératif qui fait la différence au quotidien.  &lt;/p&gt;

&lt;p&gt;Si vous voulez tester par vous-même, le dépôt est disponible ici :&lt;/p&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/AgriciDaniel" rel="noopener noreferrer"&gt;
        AgriciDaniel
      &lt;/a&gt; / &lt;a href="https://github.com/AgriciDaniel/claude-seo" rel="noopener noreferrer"&gt;
        claude-seo
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Universal SEO skill for Claude Code. 25 sub-skills + 18 sub-agents covering technical SEO, E-E-A-T, schema, GEO/AEO, backlinks, local SEO, maps intelligence, semantic clustering, e-commerce SEO, international SEO, Google APIs, and PDF/Excel reporting. Optional DataForSEO, Firecrawl, and Banana extensions.
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;&lt;p&gt;&lt;a rel="noopener noreferrer" href="https://github.com/AgriciDaniel/claude-seo/assets/cover.svg"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fraw.githubusercontent.com%2FAgriciDaniel%2Fclaude-seo%2FHEAD%2Fassets%2Fcover.svg" alt="Claude SEO cover: a Claude Code command palette with /seo audit, schema, geo, content, and backlinks commands over a dark CRT panel"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;Claude SEO: SEO Skill for Claude Code&lt;/h1&gt;
&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Claude SEO is an open-source SEO analysis plugin for &lt;a href="https://claude.ai/claude-code" rel="nofollow noopener noreferrer"&gt;Claude Code&lt;/a&gt;.&lt;/strong&gt; It runs 25 sub-skills and 18 specialist agents in parallel across technical SEO, content quality (E-E-A-T), Schema.org markup, AI search optimization (GEO), local SEO, e-commerce, and international SEO. Every audit produces a prioritized action plan with testable recommendations grounded in primary-source guidance from Google.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/AgriciDaniel/claude-seo/actions/workflows/ci.yml" rel="noopener noreferrer"&gt;&lt;img src="https://github.com/AgriciDaniel/claude-seo/actions/workflows/ci.yml/badge.svg" alt="CI"&gt;&lt;/a&gt;
&lt;a href="https://claude.ai/claude-code" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/015c3eea2aef0f57cac859555845f079ffe120cdcc029277fa6183eac4de889a/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f436c61756465253230436f64652d536b696c6c2d626c7565" alt="Claude Code Skill"&gt;&lt;/a&gt;
&lt;a href="https://github.com/AgriciDaniel/claude-seo/LICENSE" rel="noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/fdf2982b9f5d7489dcf44570e714e3a15fce6253e0cc6b5aa61a075aac2ff71b/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d4d49542d79656c6c6f772e737667" alt="License: MIT"&gt;&lt;/a&gt;
&lt;a href="https://github.com/AgriciDaniel/claude-seo/releases" rel="noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/296951e6542c039ce6092f4ad5b169adc22889bb18543a046b9547b17292c3fc/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f762f72656c656173652f41677269636944616e69656c2f636c617564652d73656f" alt="Version"&gt;&lt;/a&gt;
&lt;a href="https://github.com/AgriciDaniel/claude-seo/tests/" rel="noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/50b9ec5cf22e14acd3571550618135219504f58d2f50386f76da7c9101b02097/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f74657374732d34313025323070617373696e672d627269676874677265656e" alt="Tests"&gt;&lt;/a&gt;
&lt;a href="https://www.skool.com/ai-marketing-hub-pro" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/4c6d27f42eda2931792927c62409c78d9fcfae4a063a21400b9a5b119940e61c/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f41492532304d61726b6574696e672532304875622d50726f253230636f6d6d756e6974792d707572706c65" alt="Community"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Two versions of this skill.&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;🌐 &lt;strong&gt;Public open-source&lt;/strong&gt; → &lt;a href="https://github.com/AgriciDaniel/claude-seo" rel="noopener noreferrer"&gt;&lt;code&gt;AgriciDaniel/claude-seo&lt;/code&gt;&lt;/a&gt;: MIT, public releases, no membership. Use this if you want stable + downloadable.&lt;/li&gt;
&lt;li&gt;🔒 &lt;strong&gt;Community private mirror&lt;/strong&gt; → &lt;a href="https://github.com/AI-Marketing-Hub/claude-seo" rel="noopener noreferrer"&gt;&lt;code&gt;AI-Marketing-Hub/claude-seo&lt;/code&gt;&lt;/a&gt;: early access to upcoming features and direct collaboration with the &lt;a href="https://www.skool.com/ai-marketing-hub-pro" rel="nofollow noopener noreferrer"&gt;AI Marketing Hub Pro&lt;/a&gt; community. Requires membership.&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;Why Claude SEO&lt;/h3&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;AI-search first.&lt;/strong&gt; Aligned with &lt;a href="https://developers.google.com/search/docs/fundamentals/ai-optimization-guide" rel="nofollow noopener noreferrer"&gt;Google's AI Optimization Guide&lt;/a&gt;. Question-based citability scoring, primary-source evidence on llms.txt, IPTC &lt;code&gt;TrainedAlgorithmicMedia&lt;/code&gt; for AI-generated product images, agent-friendly page checks per &lt;a href="https://web.dev/" rel="nofollow noopener noreferrer"&gt;web.dev&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Parallel execution.&lt;/strong&gt; Full site audits spawn up to…&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/AgriciDaniel/claude-seo" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;Et pour aller plus loin sur Claude Code et son intégration dans un workflow de développement, vous pouvez jeter un œil aux formations &lt;a href="https://www.humancoders.com/formations/claude-code?ref=camilleroux.com" rel="noopener noreferrer"&gt;Claude Code&lt;/a&gt; et &lt;a href="https://www.humancoders.com/formations/claude-code-avance?ref=camilleroux.com" rel="noopener noreferrer"&gt;Claude Code avancé&lt;/a&gt; chez Human Coders.&lt;/p&gt;

</description>
      <category>développement</category>
      <category>claudecode</category>
    </item>
    <item>
      <title>I built a /digest skill for Claude Code. No more HN rabbit holes.</title>
      <dc:creator>Camille Roux</dc:creator>
      <pubDate>Mon, 13 Apr 2026 12:26:05 +0000</pubDate>
      <link>https://dev.to/camillerouxdev/i-built-a-digest-skill-for-claude-code-no-more-hn-rabbit-holes-did</link>
      <guid>https://dev.to/camillerouxdev/i-built-a-digest-skill-for-claude-code-no-more-hn-rabbit-holes-did</guid>
      <description>&lt;p&gt;I have a bad habit: I check Hacker News constantly. Not because I need to — just because it's there.&lt;/p&gt;

&lt;p&gt;So I built &lt;code&gt;/digest&lt;/code&gt;: a Claude Code skill that fetches the best dev articles from HN and Lobste.rs, deduplicates them, and drops a clean daily recap directly in my terminal.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbqczmbay9uofvadhbfka.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbqczmbay9uofvadhbfka.gif" alt=" " width="600" height="442"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  What it looks like
&lt;/h1&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;  # Tech Digest -- April 11 to April 13, 2026
&lt;span class="gt"&gt;  &amp;gt; 21 articles from 2 sources over the last 3 days&lt;/span&gt;

  ## Sunday, April 13
&lt;span class="p"&gt;
  -&lt;/span&gt; &lt;span class="gs"&gt;**Programming used to be free**&lt;/span&gt; -- &lt;span class="sb"&gt;`culture`&lt;/span&gt; -- &lt;span class="ge"&gt;*Lobste.rs*&lt;/span&gt;
&lt;span class="p"&gt;  -&lt;/span&gt; &lt;span class="gs"&gt;**Exploiting the most prominent AI agent benchmarks**&lt;/span&gt; -- &lt;span class="sb"&gt;`ai`&lt;/span&gt; -- &lt;span class="ge"&gt;*Hacker News*&lt;/span&gt;
&lt;span class="p"&gt;  -&lt;/span&gt; &lt;span class="gs"&gt;**All elementary functions from a single binary operator**&lt;/span&gt; -- &lt;span class="sb"&gt;`math`&lt;/span&gt; -- &lt;span class="ge"&gt;*Lobste.rs*&lt;/span&gt;

  ## Saturday, April 12
&lt;span class="p"&gt;
  -&lt;/span&gt; &lt;span class="gs"&gt;**An undocumented bug in the Apollo 11 guidance computer**&lt;/span&gt; -- &lt;span class="sb"&gt;`testing`&lt;/span&gt; -- &lt;span class="ge"&gt;*Lobste.rs*&lt;/span&gt;
&lt;span class="p"&gt;  -&lt;/span&gt; &lt;span class="gs"&gt;**CPU-Z and HWMonitor compromised**&lt;/span&gt; -- &lt;span class="sb"&gt;`security`&lt;/span&gt; -- &lt;span class="ge"&gt;*Hacker News*&lt;/span&gt;
  ...
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h1&gt;
  
  
  How it works
&lt;/h1&gt;

&lt;p&gt;The skill is a small Python script (fetch_feeds.py) that:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Reads a sources.yml config file&lt;/li&gt;
&lt;li&gt;Fetches all feeds in parallel (threads)&lt;/li&gt;
&lt;li&gt;Parses XML, filters by date, deduplicates by URL&lt;/li&gt;
&lt;li&gt;Keeps the top N articles per day by score&lt;/li&gt;
&lt;li&gt;Outputs TSV — Claude formats it as markdown&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Zero external dependencies. Pure stdlib.&lt;/p&gt;

&lt;p&gt;When you type &lt;code&gt;/digest&lt;/code&gt;, Claude Code reads the skill definition, runs the script, and formats the output. The number of days is configurable:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight console"&gt;&lt;code&gt;&lt;span class="gp"&gt;  /digest      #&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;last 3 days &lt;span class="o"&gt;(&lt;/span&gt;default&lt;span class="o"&gt;)&lt;/span&gt;
&lt;span class="gp"&gt;  /digest 7    #&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;last 7 days
&lt;span class="gp"&gt;  /digest 14   #&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;last 14 days
&lt;span class="go"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;p&gt;GitHub: &lt;a href="https://github.com/camilleroux/tech-digest" rel="noopener noreferrer"&gt;https://github.com/camilleroux/tech-digest&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Feedback and PRs welcome — especially new sources.&lt;/p&gt;

</description>
      <category>claude</category>
      <category>productivity</category>
      <category>opensource</category>
      <category>digest</category>
    </item>
  </channel>
</rss>
