<?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: Joshua</title>
    <description>The latest articles on DEV Community by Joshua (@joshuadam).</description>
    <link>https://dev.to/joshuadam</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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2949159%2F9a5dd447-8927-42eb-820e-8f6c883bfda6.png</url>
      <title>DEV Community: Joshua</title>
      <link>https://dev.to/joshuadam</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/joshuadam"/>
    <language>en</language>
    <item>
      <title>Neuroevolution of Augmenting Topologies in JavaScript</title>
      <dc:creator>Joshua</dc:creator>
      <pubDate>Sun, 14 Dec 2025 23:04:58 +0000</pubDate>
      <link>https://dev.to/joshuadam/neuroevolution-of-augmenting-topologies-in-javascript-2i08</link>
      <guid>https://dev.to/joshuadam/neuroevolution-of-augmenting-topologies-in-javascript-2i08</guid>
      <description>&lt;p&gt;This project is a JavaScript-based implementation of NEAT (Neuroevolution of Augmenting Topologies), an evolutionary algorithm developed by Kenneth O. Stanley and Risto Miikkulainen. Originally introduced in their 2002 paper, &lt;a href="https://nn.cs.utexas.edu/downloads/papers/stanley.ec02.pdf" rel="noopener noreferrer"&gt;Evolving Neural Networks Through Augmenting Topologies&lt;/a&gt;, NEAT presents a novel approach to evolving artificial neural networks by optimizing both network weights and structures over generations.&lt;/p&gt;

&lt;p&gt;It runs in both NodeJS and browser environments allowing for some cool visual demo's:&lt;/p&gt;

&lt;p&gt;Chrome Dino game: &lt;a href="https://neat-javascript.org/examples/dino.html" rel="noopener noreferrer"&gt;https://neat-javascript.org/examples/dino.html&lt;/a&gt;&lt;br&gt;
Self-driving car: &lt;a href="https://neat-javascript.org/examples/self-driving-car.html" rel="noopener noreferrer"&gt;https://neat-javascript.org/examples/self-driving-car.html&lt;/a&gt;&lt;br&gt;
Flappy Bird: &lt;a href="https://neat-javascript.org/examples/flappy-bird.html" rel="noopener noreferrer"&gt;https://neat-javascript.org/examples/flappy-bird.html&lt;/a&gt;&lt;br&gt;
Pole balancing: &lt;a href="https://neat-javascript.org/examples/pole-balancing.html" rel="noopener noreferrer"&gt;https://neat-javascript.org/examples/pole-balancing.html&lt;/a&gt;&lt;br&gt;
Snake: &lt;a href="https://neat-javascript.org/examples/snake.html" rel="noopener noreferrer"&gt;https://neat-javascript.org/examples/snake.html&lt;/a&gt;&lt;br&gt;
Ant simulator: &lt;a href="https://neat-javascript.org/examples/ant-simulator.html" rel="noopener noreferrer"&gt;https://neat-javascript.org/examples/ant-simulator.html&lt;/a&gt;&lt;br&gt;
XOR: &lt;a href="https://neat-javascript.org/xor.html" rel="noopener noreferrer"&gt;https://neat-javascript.org/xor.html&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Very happy to share this here:) Thanks&lt;/p&gt;

&lt;p&gt;GitHub: &lt;a href="https://github.com/joshuadam/NEAT-JavaScript" rel="noopener noreferrer"&gt;https://github.com/joshuadam/NEAT-JavaScript&lt;/a&gt;&lt;br&gt;
Docs: &lt;a href="https://neat-javascript.org" rel="noopener noreferrer"&gt;https://neat-javascript.org&lt;/a&gt;&lt;/p&gt;

</description>
      <category>algorithms</category>
      <category>javascript</category>
      <category>ai</category>
      <category>machinelearning</category>
    </item>
    <item>
      <title>Visual AI Simulations in the Browser: Cars, Predators &amp; Prey (NEAT Algorithm)</title>
      <dc:creator>Joshua</dc:creator>
      <pubDate>Mon, 17 Mar 2025 05:45:20 +0000</pubDate>
      <link>https://dev.to/joshuadam/visual-ai-simulations-in-the-browser-cars-predators-prey-neat-algorithm-af6</link>
      <guid>https://dev.to/joshuadam/visual-ai-simulations-in-the-browser-cars-predators-prey-neat-algorithm-af6</guid>
      <description>&lt;p&gt;Hey!&lt;br&gt;
I recently made an implementation of the NEAT algorithm in JavaScript! It's an evolutionary algorithm originally introduced in 2002 by Kenneth O. Stanley and Risto Miikkulainen in their paper Evolving Neural Networks Through Augmenting Topologies.&lt;/p&gt;

&lt;p&gt;This basically allowed me to make some cool visual demos showcasing how AI learns which can all run in the browser!&lt;br&gt;
Some examples include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://neat-javascript.org/examples/self-driving-car.html" rel="noopener noreferrer"&gt;Self driving car&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://neat-javascript.org/examples/ant-simulator.html" rel="noopener noreferrer"&gt;Prey vs predator&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://neat-javascript.org/examples/flappy-bird.html" rel="noopener noreferrer"&gt;Flappy Bird&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://neat-javascript.org/examples/pole-balancing.html" rel="noopener noreferrer"&gt;Pole balancing&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;And a standard &lt;a href="https://neat-javascript.org/xor.html" rel="noopener noreferrer"&gt;XOR demo&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I just wanted to share these because I think it's pretty cool to see! If you want to learn more about the project you can look at the &lt;a href="https://github.com/joshuadam/neat-javascript" rel="noopener noreferrer"&gt;GitHub repo&lt;/a&gt;!&lt;/p&gt;

&lt;p&gt;If you want to learn more about the algorithm I highly recommend reading the &lt;a href="https://nn.cs.utexas.edu/downloads/papers/stanley.ec02.pdf" rel="noopener noreferrer"&gt;original paper&lt;/a&gt;. Or watching a youtube video explaining everything! It is called the NEAT (Neuroevolution of Augmenting Topologies) algorithm. (&lt;a href="https://www.youtube.com/watch?v=yVtdp1kF0I4&amp;amp;t=2s" rel="noopener noreferrer"&gt;This&lt;/a&gt; is a pretty good video explaining everything)&lt;/p&gt;

</description>
      <category>ai</category>
      <category>javascript</category>
      <category>webdev</category>
      <category>node</category>
    </item>
  </channel>
</rss>
