<?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>Forem: William McGonagle</title>
    <description>The latest articles on Forem by William McGonagle (@williammcgonagle).</description>
    <link>https://forem.com/williammcgonagle</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%2F782128%2F232391c0-68b2-44d9-91ca-dc0c69bbaaa7.png</url>
      <title>Forem: William McGonagle</title>
      <link>https://forem.com/williammcgonagle</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/williammcgonagle"/>
    <language>en</language>
    <item>
      <title>We Rebuilt Our Website– Here's What We Learned.</title>
      <dc:creator>William McGonagle</dc:creator>
      <pubDate>Wed, 28 Dec 2022 00:17:18 +0000</pubDate>
      <link>https://forem.com/williammcgonagle/we-rebuilt-our-website-heres-what-we-learned-a6m</link>
      <guid>https://forem.com/williammcgonagle/we-rebuilt-our-website-heres-what-we-learned-a6m</guid>
      <description>&lt;p&gt;We recently just rebuilt our entire website in Gatsby and Tailwind. The reason? Our last website sucked. &lt;/p&gt;

&lt;p&gt;The original website was written in Pure HTML and optimized with Parcel, which led to more headaches than benefits. We thought that doing this would make the website fast, but in reality, we were just shooting ourselves in the foot.&lt;/p&gt;

&lt;p&gt;Our new website was rewritten from the ground up. All of the data on the site is served from JSON files, allowing for us to add new projects, team members, and partnerships within minutes. The best part? It has better SEO than our last interation.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Check out the website &lt;a href="https://about.fairfieldprogramming.org/" rel="noopener noreferrer"&gt;here&lt;/a&gt;, and the Github repository &lt;a href="https://github.com/fairfield-programming/fairfield-programming.github.io" rel="noopener noreferrer"&gt;here&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Speedy Libraries &lt;em&gt;Are&lt;/em&gt; Fast
&lt;/h2&gt;

&lt;p&gt;When Gatsby branded itself as a fast, efficient, and search-optimized, I didn't believe them. I thought it was just another react-based library doing the same things. So, we built the first website in pure HTML because we thought it would be faster. But, it wasn't.&lt;/p&gt;

&lt;p&gt;So, when people say that fast things are fast, they usually are. &lt;/p&gt;

&lt;h2&gt;
  
  
  Make Life Easy, Not Hard
&lt;/h2&gt;

&lt;p&gt;We really made our life hard when we decided to do pure-HTML. Adding new pages would take days, changing text would require navigating through thousands of lines of code, etc. Now, a ton of our pages are written with DSG in mind. This means that the data in our JSON files can create thousands of pages in seconds.&lt;/p&gt;

&lt;h2&gt;
  
  
  Get Help from the Community
&lt;/h2&gt;

&lt;p&gt;The biggest take-away that we got from this relaunch was using the community to our advantage. We created tons of issues on Github, and had a lot of community involvement. If we didn't do this, the website wouldn't be a fraction as awesome as it is now. &lt;/p&gt;

&lt;h2&gt;
  
  
  Give us some feedback!
&lt;/h2&gt;

&lt;p&gt;We would love to hear your comments and concerns about the new website, so feel free to comment down below or create new issues on the Github page (We have a better chance of hearing you if you leave an issue on Github though).&lt;/p&gt;

</description>
      <category>jokes</category>
      <category>watercooler</category>
    </item>
    <item>
      <title>🤯 Wait... You’re building a code simulator?!</title>
      <dc:creator>William McGonagle</dc:creator>
      <pubDate>Wed, 05 Oct 2022 14:00:31 +0000</pubDate>
      <link>https://forem.com/williammcgonagle/wait-youre-building-a-code-simulator-4pml</link>
      <guid>https://forem.com/williammcgonagle/wait-youre-building-a-code-simulator-4pml</guid>
      <description>&lt;p&gt;If you’ve been following me on Dev.to for the last few months, your probably asking yourself- where have you been? Well, I’ve been busy running a non-profit and so haven’t had the time to write. Sorry!&lt;/p&gt;

&lt;p&gt;But, we’ve been working on some cool stuff and through the next couple of days we are going to be sharing it- so stay posted.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What’s the code simulator?&lt;/strong&gt;&lt;br&gt;
We’ve been working on a system similar to Repl.it but we came upon a realization: we need to run the code that people write with our tool. So, how do you run code?&lt;/p&gt;

&lt;p&gt;Most companies that do REPL (Read Eval Print Loop), just use code execution engines in the cloud. These engines are just monolithic computers with tons of programming languages installed on them. Whenever a language needs to be run, it just uses the language’s CLI on the machine. But, this requires an internet connection.&lt;/p&gt;

&lt;p&gt;A large number of the people using our application won’t have an internet connection, and so we have to build the system to work for these people too. We could put an entire code execution engine onto their computers, but that would take up way too much disk space. So, the alternative is simulating the behaviors of each programming language. &lt;/p&gt;

&lt;p&gt;The simulation is actually quite simple, we are just translating all of the code into a common Abstract Syntax Tree (a tree based way to store information about a program), and from there, we just interpret the Abstract Syntax Tree like it’s any other language. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Help if you can!&lt;/strong&gt;&lt;br&gt;
This sounds really simple in practice, but it’s not. And so, if you have any experience working with flutter, dart, or programming languages, we could really use some help. Feel free to check out the project and contribute!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/fairfield-programming/irishman"&gt;Github URL&lt;/a&gt;&lt;br&gt;
&lt;a href="https://pub.dev/packages/irishman"&gt;Irishman on Pub.get&lt;/a&gt;&lt;/p&gt;

</description>
      <category>flutter</category>
      <category>webdev</category>
      <category>opensource</category>
      <category>programming</category>
    </item>
    <item>
      <title>🚧 What Would You Change About this Website?</title>
      <dc:creator>William McGonagle</dc:creator>
      <pubDate>Wed, 27 Apr 2022 21:08:25 +0000</pubDate>
      <link>https://forem.com/williammcgonagle/i-rebuilt-my-website-in-gatsby-but-do-you-like-it-1b69</link>
      <guid>https://forem.com/williammcgonagle/i-rebuilt-my-website-in-gatsby-but-do-you-like-it-1b69</guid>
      <description>&lt;p&gt;I've been working on this non-profit for a while, and we just finished rebuilding the entire website. Before, it was in vanilla Javascript, HTML, and CSS, but now its a mix of Gatsby, Theme UI, and glorious Server-Side Rendering. It took a few weeks to complete this, but now that it is done, I'm super proud of the result- I just want to know what you think.&lt;/p&gt;

&lt;p&gt;&lt;a href="//fairfieldprogramming.org"&gt;The New Website&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;
&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;isGood&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; 
&lt;span class="p"&gt;{&lt;/span&gt; 
     &lt;span class="nx"&gt;giveItAUnicorn&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; 
&lt;span class="p"&gt;}&lt;/span&gt; 
&lt;span class="k"&gt;else&lt;/span&gt; 
&lt;span class="p"&gt;{&lt;/span&gt;
     &lt;span class="nx"&gt;commentWhatYouWouldChange&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

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

&lt;/div&gt;



&lt;p&gt;&lt;em&gt;If you would like to help work on the project, you can drop a comment on this post and say that you would like to help.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;And finally, make sure to comment what you like about the website or what you don't like. All of the functionality is there, so you can even create an account if you would like! &lt;/p&gt;

</description>
      <category>javascript</category>
      <category>webdev</category>
      <category>discuss</category>
      <category>opensource</category>
    </item>
    <item>
      <title>🤓 What Would You Add to this Discord Server?</title>
      <dc:creator>William McGonagle</dc:creator>
      <pubDate>Sat, 08 Jan 2022 19:05:56 +0000</pubDate>
      <link>https://forem.com/williammcgonagle/what-would-you-add-to-this-discord-server-41hb</link>
      <guid>https://forem.com/williammcgonagle/what-would-you-add-to-this-discord-server-41hb</guid>
      <description>&lt;p&gt;We just created a discord server and we need to know what you think about it. Please leave comments about what we should add, get rid of, and what you would want the server to become!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://discord.gg/r2JnDXvrWt"&gt;See the Server Here&lt;/a&gt;&lt;/p&gt;

</description>
      <category>discuss</category>
      <category>beginners</category>
      <category>opensource</category>
      <category>startup</category>
    </item>
    <item>
      <title>🤔 What Suggestions Do You Have for this Discord Server?</title>
      <dc:creator>William McGonagle</dc:creator>
      <pubDate>Fri, 07 Jan 2022 03:39:56 +0000</pubDate>
      <link>https://forem.com/williammcgonagle/what-suggestions-do-you-have-for-this-discord-server-209m</link>
      <guid>https://forem.com/williammcgonagle/what-suggestions-do-you-have-for-this-discord-server-209m</guid>
      <description>&lt;p&gt;For the Fairfield Programming Association, we're going to be launching a Discord server. But, we really want your feedback about how you think the server should function and what features you want. We have one of the best bot programmers that there is working on our discord bot, but we don't want the server to be an average one. &lt;/p&gt;

&lt;p&gt;So, we thought that we should get feedback from you guys about what you like about the server and what you would change. Also, if you have any features you would suggest, please let me know, I would love to hear them. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://discord.gg/r2JnDXvrWt"&gt;You can see the server here!&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>🤔 What Would You Change About this Website?</title>
      <dc:creator>William McGonagle</dc:creator>
      <pubDate>Thu, 06 Jan 2022 02:16:58 +0000</pubDate>
      <link>https://forem.com/williammcgonagle/what-would-you-change-about-this-website-48cj</link>
      <guid>https://forem.com/williammcgonagle/what-would-you-change-about-this-website-48cj</guid>
      <description>&lt;p&gt;Hey- I'm working on this website, and I was wondering what you would change about it. I know it's not perfect at this point, and that's why I want your opinion on it. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://fairfieldprogramming.org/"&gt;You can check it out here.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If I build the entire website on a bad foundation, it will just end up being a bad website. So, I would rather get feedback now (no matter how harsh it will be) than building a ugly mess and not knowing until afterwards.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://discord.com/invite/r2JnDXvrWt"&gt;You can also check out our discord server here!&lt;/a&gt;&lt;/p&gt;

</description>
      <category>discuss</category>
      <category>javascript</category>
      <category>webdev</category>
      <category>css</category>
    </item>
    <item>
      <title>🥳 How to Get More Stars on Github! (Part 2)</title>
      <dc:creator>William McGonagle</dc:creator>
      <pubDate>Sun, 02 Jan 2022 21:05:05 +0000</pubDate>
      <link>https://forem.com/williammcgonagle/how-to-get-more-stars-on-github-part-2-2pdk</link>
      <guid>https://forem.com/williammcgonagle/how-to-get-more-stars-on-github-part-2-2pdk</guid>
      <description>&lt;p&gt;I’ve been working on &lt;a href="https://github.com/fairfield-programming/eaf-linter/"&gt;eaf-linter&lt;/a&gt; for about a few days now, and it already has 6 stars and 2 forks. My other project that I've been working on, &lt;a href="https://github.com/fairfield-programming/backend-server/"&gt;the Backend Server&lt;/a&gt;, has 14 stars, 9 forks, and nearly 10 outside contributors. That might not sound like a lot, but both of these projects are only about a week old.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;So, how did I do it?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The most important thing has been issues, &lt;a href="https://dev.to/williammcgonagle/how-to-get-more-stars-on-github-5a66"&gt;which I talked about here&lt;/a&gt;. But, the second most important thing has been designing a great readme. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A good readme is the difference between someone staring your project and someone ignoring it.&lt;/strong&gt; If you have badges, easily understandable features, and lots of images, you have a star worthy repository. &lt;/p&gt;

&lt;p&gt;First, you need to have badges. If you don't know what a badge is, it's the little image that says how many stars, downloads, etc. a project has. These are also known as shields, and you can get them from &lt;a href="https://shields.io/"&gt;this website&lt;/a&gt;. If you have a ton of them and they all say good things, it increases the confidence that someone has in your project. &lt;/p&gt;

&lt;p&gt;Secondly, you need easily understandable features. If you look at my newest repository, &lt;a href="https://github.com/fairfield-programming/eaf-linter/"&gt;eaf-linter&lt;/a&gt;, you will see that all of the features have a simple headline and they link to a new page. &lt;strong&gt;This is very important&lt;/strong&gt;. If your feature can link to a more in depth description of the feature, it will increase the confidence that the possible contributor has in your project. &lt;/p&gt;

&lt;p&gt;Finally, images are super important. In my &lt;a href="https://github.com/fairfield-programming/backend-server/"&gt;backend server&lt;/a&gt;, I have a ton of really eye-catching images. These images increase the likelihood that someone will keep looking through your readme, and the longer that the person stays on your page, the more likely they are to star your repository. &lt;/p&gt;

&lt;p&gt;There will be more tips like this coming tomorrow and the day after, so if you liked hearing this, make sure to follow me, so you can see more tips as they come out.&lt;/p&gt;

&lt;p&gt;Also, our open-source, non-profit is &lt;a href="https://www.linkedin.com/company/fairfield-programming"&gt;hiring right now&lt;/a&gt; if you're interested. Don't forget to follow us on LinkedIn.&lt;/p&gt;

</description>
      <category>discuss</category>
      <category>tutorial</category>
      <category>opensource</category>
      <category>github</category>
    </item>
    <item>
      <title>🤪 Tell me how to build a duplicate detection system!</title>
      <dc:creator>William McGonagle</dc:creator>
      <pubDate>Sat, 01 Jan 2022 19:47:08 +0000</pubDate>
      <link>https://forem.com/williammcgonagle/how-should-i-build-a-duplicate-detection-system-22le</link>
      <guid>https://forem.com/williammcgonagle/how-should-i-build-a-duplicate-detection-system-22le</guid>
      <description>&lt;p&gt;&lt;a href="https://github.com/fairfield-programming/eaf-linter"&gt;I'm working on a linter right now&lt;/a&gt;, and one of the requested features for it was code duplication detection. I made an &lt;a href="https://github.com/fairfield-programming/eaf-linter/issues/6"&gt;issue for it already&lt;/a&gt;, but I need to start working on it. And, that's where my question lies. &lt;/p&gt;

&lt;p&gt;I can either build the system to detect the duplications based on plain text. This is how most systems work because it is the simpler of the two options. But, it is also the most failure prone. For instance, this system would fail if there was the same exact code in two places, but there was a comment in the middle of one of them- it would not register as a duplicate.  &lt;/p&gt;

&lt;p&gt;Alternatively, I can use an abstract syntax tree to detect the duplications. But, theres another problem there- what is the most-lightweight and all-around-best javascript parser out there? I'm planning on using the babel parser but I'm already running into a problem because it doesn't parse the comments in a way I would like. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;So, if you have an opinion on what I should do, please leave a comment below. Also, please star &lt;a href="https://github.com/fairfield-programming/eaf-linter"&gt;the project&lt;/a&gt; and contribute if you have time. If you can, that would be amazing, and I thank you so much!&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>discuss</category>
      <category>webdev</category>
      <category>productivity</category>
    </item>
    <item>
      <title>🤯 How to Get More Stars on GitHub!</title>
      <dc:creator>William McGonagle</dc:creator>
      <pubDate>Fri, 31 Dec 2021 16:01:59 +0000</pubDate>
      <link>https://forem.com/williammcgonagle/how-to-get-more-stars-on-github-5a66</link>
      <guid>https://forem.com/williammcgonagle/how-to-get-more-stars-on-github-5a66</guid>
      <description>&lt;p&gt;I’ve been working on &lt;a href="https://github.com/fairfield-programming/backend-server/"&gt;my open-source backend server&lt;/a&gt; for about a week now, and it already has about 12 stars, 9 forks, and nearly 10 outside contributors. That might not sound like a lot, but the project is only a week old and it isn’t a package or anything that can be used by outside people. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;So, how did I do it?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The most important thing has been issues. When GitHub was developing issues, they secretly made the most overpowered label that there is, “good first issue”. I can guarantee that if you create a new issue every two hours on your repository that has “good first issue” on it, you will get outside collaborators. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/fairfield-programming/backend-server/"&gt;Don’t forget to Star the Backend Server&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;What else can help with your labels? If you use emojis in the title, anyone that sees your issue will be instantly drawn to it because it is more colorful. This will increase the amount of views on your issue, and increase the likelihood of someone to help you with it as well. &lt;/p&gt;

&lt;p&gt;Finally, if you create a todo list in every issue, this tricks the GitHub system into thinking it’s a bigger issue, and it also tricks the websites, like ‘goodfirstissues.com’ into moving it higher in the rankings. &lt;/p&gt;

&lt;p&gt;There will be more tips like this coming tomorrow and the day after, so if you liked hearing this, make sure to follow me, so you can see more tips as they come out. &lt;/p&gt;

</description>
      <category>tutorial</category>
      <category>discuss</category>
      <category>opensource</category>
      <category>github</category>
    </item>
    <item>
      <title>🤬 What's your opinion on Linters, Prettiers, and Testers?</title>
      <dc:creator>William McGonagle</dc:creator>
      <pubDate>Thu, 30 Dec 2021 21:36:37 +0000</pubDate>
      <link>https://forem.com/williammcgonagle/whats-your-opinion-on-linters-testers-and-prettiers-3f1j</link>
      <guid>https://forem.com/williammcgonagle/whats-your-opinion-on-linters-testers-and-prettiers-3f1j</guid>
      <description>&lt;p&gt;I’ve been working on a project recently and a bunch of people suggested that I should start using a testing system. This testing system was working for a while but then someone else suggested that I should start using a linter. The linter ended up breaking all of my testing code, and before long I had spend nearly three hours getting them working together. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/fairfield-programming/backend-server/"&gt;Here was the project if you want to check it out&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After that, I was told that the code was inconsistently formatted, so I needed to add a prettier system. All of my engineers are now telling me that they have lost countless man-hours battling against this new integration system.&lt;/p&gt;

&lt;p&gt;So, I’m getting rid of it. My entire linter system, code grading, beautifier, etc. is gone. And, I’m replacing it with &lt;a href="https://github.com/fairfield-programming/eaf-linter/"&gt;my own solution&lt;/a&gt;- if you want something done right, you have to do it yourself. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;I want to hear what struggles you have had with your “systems to boost efficiency”, or if you think I am completely wrong and should shut up.&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>webdev</category>
      <category>discuss</category>
      <category>productivity</category>
    </item>
    <item>
      <title>🤔 How should I build my Frontend for a huge project?</title>
      <dc:creator>William McGonagle</dc:creator>
      <pubDate>Wed, 29 Dec 2021 22:44:02 +0000</pubDate>
      <link>https://forem.com/williammcgonagle/how-would-you-connect-a-frontend-and-backend-3p30</link>
      <guid>https://forem.com/williammcgonagle/how-would-you-connect-a-frontend-and-backend-3p30</guid>
      <description>&lt;p&gt;I’ve been working on building a non-profit, open-source organization for a while now and we have gotten to a solid point in the backend code. We have authentication, an event and rsvp system, profile picture generator, etc. If you want to check it out, you can &lt;a href="https://github.com/fairfield-programming/backend-server/"&gt;here&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;I’m also working on a frontend, but I’m at a stage where I can change the stack for it completely, so I wanted to hear your suggestions! You can check out the code so far &lt;a href="https://github.com/fairfield-programming/fairfield-programming.github.io/"&gt;here&lt;/a&gt;, and the domain for the website is &lt;a href="https://fairfieldprogramming.org"&gt;fairfieldprogramming.org&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;Do you think I should switch to react, pure html/css, or should I use vue? And how do you think I should communicate with the server? &lt;/p&gt;

</description>
      <category>webdev</category>
      <category>discuss</category>
      <category>javascript</category>
      <category>html</category>
    </item>
    <item>
      <title>😳 Generating over 1,240,000 Profile Pictures at Runtime</title>
      <dc:creator>William McGonagle</dc:creator>
      <pubDate>Wed, 29 Dec 2021 04:40:02 +0000</pubDate>
      <link>https://forem.com/williammcgonagle/generating-over-1240000-profile-pictures-at-runtime-4lpm</link>
      <guid>https://forem.com/williammcgonagle/generating-over-1240000-profile-pictures-at-runtime-4lpm</guid>
      <description>&lt;p&gt;So here’s a problem- you’re building a social media website, but you know that there will be minors (people under 18 years old) actively using the site. And on top of this, you’re too cheap to pay for image hosting for thousands of files. So what do you do?!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--fRB8ExlJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://fairfield-programming.herokuapp.com/duck/10001000007000053/30" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--fRB8ExlJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://fairfield-programming.herokuapp.com/duck/10001000007000053/30" alt="Cool Duck" width="140" height="140"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You generate the images at runtime, or at least that’s what we did. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--KNyK42TI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://fairfield-programming.herokuapp.com/duck/10102000005000045/30" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--KNyK42TI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://fairfield-programming.herokuapp.com/duck/10102000005000045/30" alt="Red Duck" width="140" height="140"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To do this, we started with a template. Our template was the body of a rubber duck and we made it a set size- 200x200.&lt;/p&gt;

&lt;p&gt;From there, we started adding layers onto the duck: hats, beaks, wings, etc. These layers would be interchangeable by the computer.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--CnVVP6WW--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://fairfield-programming.herokuapp.com/duck/10603000000000004/30" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--CnVVP6WW--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://fairfield-programming.herokuapp.com/duck/10603000000000004/30" alt="Blue Duck" width="140" height="140"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And then finally, we set up a simple endpoint that could mix and match these different layers together. If you want to see the API in action, you can check out the &lt;a href="https://fairfieldprogramming.org"&gt;website here&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;If you want to check out the code for the project, it’s all publicly &lt;a href="https://github.com/fairfield-programming/backend-server/"&gt;available here&lt;/a&gt;. Make sure to star the repository! &lt;/p&gt;

</description>
      <category>webdev</category>
      <category>opensource</category>
      <category>showdev</category>
      <category>devjournal</category>
    </item>
  </channel>
</rss>
