<?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.us-east-2.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>Lunar Lander Simulation</title>
      <dc:creator>Joshua</dc:creator>
      <pubDate>Wed, 08 Jul 2026 19:40:10 +0000</pubDate>
      <link>https://dev.to/joshuadam/lunar-lander-simulation-2be9</link>
      <guid>https://dev.to/joshuadam/lunar-lander-simulation-2be9</guid>
      <description>&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/SK5oVa4b2j4"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;Hey! 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;/p&gt;

&lt;p&gt;If you want to learn more about the project, or see this and more simulations in action, you can look at the GitHub repo! &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;
Or the full website: &lt;a href="https://neat-javascript.org" rel="noopener noreferrer"&gt;https://neat-javascript.org&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you want to learn more about the algorithm I highly recommend reading the original paper or watching a youtube video explaining everything! It is called the NEAT (Neuroevolution of Augmenting Topologies) algorithm.&lt;/p&gt;

&lt;p&gt;It is a beautiful algorithm that is quite easy to follow and understand, it is based on evolution. The algorithm starts off with tiny networks, and slowly adjusts and grows these networks. Adds nodes, connections, "mutate" weights etc.&lt;/p&gt;

&lt;p&gt;It's very interesting to see this happening in real time.&lt;/p&gt;

&lt;p&gt;The algorithm basically consists of:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Generate AIs&lt;/li&gt;
&lt;li&gt;Evaluate the AIs and see how well they perform against a given problem&lt;/li&gt;
&lt;li&gt;Generate new AIs by "evolving" the best (expand upon, combine and make changes to them hoping they get better) and copy these into a new "generation"&lt;/li&gt;
&lt;li&gt;Go back to step 2 and repeat until a satisfactory solution has been found.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;There is of course more to it but this is what it comes down to!&lt;/p&gt;

&lt;p&gt;It is a very interesting and cool algorithm to me. Evolution has been a core aspect of our own development, it would only make sense to prove useful for Artificial Intelligence as well. It's awesome to see others feel the same!&lt;/p&gt;

&lt;p&gt;Thank you!&lt;/p&gt;

</description>
      <category>ai</category>
      <category>webdev</category>
      <category>programming</category>
      <category>javascript</category>
    </item>
    <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>
