<?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: Goodness Kayode</title>
    <description>The latest articles on DEV Community by Goodness Kayode (@goodnesskay).</description>
    <link>https://dev.to/goodnesskay</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%2F23918%2Fe151183d-4507-4401-94c5-a71ff47b7117.jpeg</url>
      <title>DEV Community: Goodness Kayode</title>
      <link>https://dev.to/goodnesskay</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/goodnesskay"/>
    <language>en</language>
    <item>
      <title>Diving Deeper into Blockchain and Web3 Product Engineering – Week 1 Learnings</title>
      <dc:creator>Goodness Kayode</dc:creator>
      <pubDate>Sun, 02 Nov 2025 15:23:00 +0000</pubDate>
      <link>https://dev.to/goodnesskay/diving-deeper-into-blockchain-and-web3-product-engineering-week-1-learnings-2bn8</link>
      <guid>https://dev.to/goodnesskay/diving-deeper-into-blockchain-and-web3-product-engineering-week-1-learnings-2bn8</guid>
      <description>&lt;p&gt;It has been an intense learning week for me during my spare time. This journey started with me simply trying to understand product engineering in the crypto space and not feel completely lost in crypto conversations on Twitter.&lt;/p&gt;

&lt;p&gt;I have been a heavy user of crypto for a while. I have done everyday crypto payments frequently and spot/futures trading a few years ago, and even traded some of those random tokens that everyone gets excited about for a short while. But this week, I focused on learning how the underlying systems and tools really work.&lt;/p&gt;

&lt;p&gt;Here are some things I learnt:&lt;/p&gt;




&lt;h2&gt;
  
  
  Understanding the Layers (L0 – L2)
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;I finally got clarity on blockchain layers from Layer 0 (Polkadot, Hyperbridge) to Layer 1 (Ethereum, Bitcoin, Solana) and Layer 2 (Base, Optimism, Polygon, Celo, and others).
&lt;/li&gt;
&lt;li&gt;Before now, I only had a rough idea, but this week I connected the dots. It is interesting how each layer serves its purpose — from the base infrastructure (Layer 0) to the scaling layers (Layer 2) that make transactions faster and cheaper.
&lt;/li&gt;
&lt;li&gt;I also have my own theory about Layer 3 and Layer 4, but that’s a story for another time.
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Bridging, RPC, and Wallets
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Then came bridging and Remote Procedure Calls. These were terms I had heard a lot but never really understood. Now I see that Remote Procedure Calls act as gateways that let applications talk to blockchain nodes.
&lt;/li&gt;
&lt;li&gt;I also explored crypto wallet service providers like Coinbase Wallet, Privy, Magic, and even Blockradar.co from Africa. I now understand why some builders prefer to manage wallets themselves instead of using a service. Personally, I see the value in handling wallet management directly — it gives more control and flexibility, even though it might be more expensive.
&lt;/li&gt;
&lt;li&gt;For Remote Procedure Calls, instead of setting up connections for each blockchain network one by one, you can work with a service like Alchemy that handles that for you.
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Smart Contracts, Ethereum Virtual Machine, and Frameworks
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;I had learned about smart contracts before, but this week I saw how much things have changed. There are now frameworks like Hardhat that make it easier to build, test, and deploy smart contracts.
&lt;/li&gt;
&lt;li&gt;I also learned more about the Ethereum Virtual Machine and how wallet addresses work across networks.
&lt;/li&gt;
&lt;li&gt;I found it fascinating that I have been using the same wallet address on different networks in most crypto apps simply because they are all Ethereum-compatible wallets.
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Deciding What to Build Onchain
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;This learning streak made me start mapping out what is possible to be built onchain considering the products I am working on. I am still deciding which Layer 2 network to build on, but I have been spending time in the Base and Celo communities to learn from people already building there. Maybe I will experiment with Lisk too.
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Tools
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;I finally understood what Njoku built some months back that went viral on Twitter — BaseMigrate and SuperMigrate. These tools automate the process of importing ERC-20 tokens into networks like Base. It made a lot more sense to me this week, so that’s a good sign.
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Communities and New Platforms
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;On the community side, I attended a Celo event this week, which was inspiring. That was where I finally understood why ChatGPT once said Celo is both a Layer 1 and Layer 2 blockchain. It is technically a Layer 1 but has Layer 2-like features because it is built for interoperability and scalability. I mean, they also announced earlier this year that they are migrating to become a Layer 2 on the Ethereum blockchain.
&lt;/li&gt;
&lt;li&gt;I am open to exploring other ecosystems too so I can gain more context.
&lt;/li&gt;
&lt;li&gt;I also joined Farcaster this week — you can follow me here: &lt;a href="https://farcaster.xyz/goodnesskay" rel="noopener noreferrer"&gt;https://farcaster.xyz/goodnesskay&lt;/a&gt;. I am still figuring out who to follow and how to use it, but it has been fun so far.
&lt;/li&gt;
&lt;li&gt;I have also started taking Discord channels seriously this week. Joined a couple. Never knew “GM” was a slang in web3 lol.
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Wrapping Up
&lt;/h2&gt;

&lt;p&gt;This week reminded me of how deep and fast-evolving the blockchain space really is. Every new thing I learn leads to three more things I need to understand. There are so many terms and concepts, and sometimes they overlap, but it is starting to make sense bit by bit.&lt;/p&gt;

&lt;p&gt;I might document what I learn next week too. It’s a good way to keep track of the journey and share my progress as I go.&lt;/p&gt;

</description>
      <category>blockchain</category>
      <category>web3</category>
      <category>productengineering</category>
      <category>base</category>
    </item>
    <item>
      <title>Using Sendchamp Multi-Channel Messaging API For Your Next Project</title>
      <dc:creator>Goodness Kayode</dc:creator>
      <pubDate>Tue, 16 Feb 2021 06:25:43 +0000</pubDate>
      <link>https://dev.to/goodnesskay/using-sendchamp-multi-channel-messaging-api-for-your-next-project-2m2i</link>
      <guid>https://dev.to/goodnesskay/using-sendchamp-multi-channel-messaging-api-for-your-next-project-2m2i</guid>
      <description>&lt;p&gt;👋 Hi Devs,&lt;/p&gt;

&lt;p&gt;I'm super excited to introduce Sendchamp to you 🙌&lt;/p&gt;

&lt;p&gt;Businesses in Africa have messaging problems and when choosing communication platforms there is either an issue of single-channel messaging, high pricing, delivery issues due to regulations, or poor developer experience. &lt;/p&gt;

&lt;p&gt;This made us build Sendchamp to cater to the communication needs of African Businesses.&lt;/p&gt;

&lt;p&gt;See what Sendchamp’s end-to-end communication solution offers:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Simple APIs to send messages via SMS, Email, Voice &amp;amp; WhatsApp. &lt;a href="https://developers.sendchamp.com"&gt;Docs&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Simulators for you to test your integration before going live. Check it &lt;a href="https://simulator.sendchamp.com"&gt;here&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Better Dev Experience. If you don’t think it is good enough, we are ready to listen and improve. Join our dev community &lt;a href="https://t.me/joinchat/CO_ZnxjdAFgBRHspazzoGA"&gt;here&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;We created a Pop Up to handle your verification without writing codes. Check demo &lt;a href="https://developers.sendchamp.com/verification/verification-pop-up"&gt;here&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Our dashboard is built such that you can switch between live and test data&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Docs: &lt;a href="https://developers.sendchamp.com"&gt;https://developers.sendchamp.com&lt;/a&gt;&lt;br&gt;
Telegram Community: &lt;a href="https://t.me/joinchat/CO_ZnxjdAFgBRHspazzoGA"&gt;https://t.me/joinchat/CO_ZnxjdAFgBRHspazzoGA&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We'd love for you to check out Sendchamp and we will be writing more tutorials on how to use Sendchamp!&lt;/p&gt;

&lt;p&gt;Would love to hear your feedback!&lt;/p&gt;

&lt;p&gt;Cheers❤️&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Creating A Simple Profile Application WithÂ MoonJS</title>
      <dc:creator>Goodness Kayode</dc:creator>
      <pubDate>Sun, 06 Aug 2017 18:09:01 +0000</pubDate>
      <link>https://dev.to/goodnesskay/creating-a-simple-profile-application-withmoonjs</link>
      <guid>https://dev.to/goodnesskay/creating-a-simple-profile-application-withmoonjs</guid>
      <description>&lt;p&gt;Hello! MoonJs is a relatively new Javascript framework that I saw there was no tutorial on and I decided to try it then write a basic tutorial on it. So,just as we have Preact for ReactJs, we have “Moon” for VueJs. Some of the key things about MoonJs is that like some other javascript frameworks, it is very light. Moon uses a fast Virtual DOM, and can re-render the DOM efficiently and most importantly, MoonJs is so easy to learn.Â &lt;br&gt;
I will be building a simple application that shows the basic information about a user and this tutorial is to give an head start to using MoonJs.&lt;/p&gt;
&lt;h2&gt;
  
  
  Requirements
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Knowledge of JavaScript&lt;/li&gt;
&lt;li&gt;Text Editor&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  Installation
&lt;/h2&gt;

&lt;p&gt;To install MoonJs, there are two ways. One way is through &lt;a href="https://github.com/KingPixil/moon-cli" rel="noopener noreferrer"&gt;Moon-cli&lt;/a&gt; and the other way is through Content Delivery Network (CDN) which can be found &lt;a href="http://moonjs.ga/docs/installation.html" rel="noopener noreferrer"&gt;here&lt;/a&gt;. To setup our project well, run the following commands below:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;mkdir moon-tutorial
cd moon-tutorial
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The following command will create a new folder called moon-tutorial and check into the directory. So after doing that, open your project in your favourite text editor then create a file called app.html then add the lines of codeÂ&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
 &amp;lt;title&amp;gt;Moon Tutorial&amp;lt;/title&amp;gt;
 &amp;lt;meta charset="UTF-8"&amp;gt;
 &amp;lt;!-- Development Build --&amp;gt;
 &amp;lt;script src="https://unpkg.com/moonjs/dist/moon.js"&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Adding MoonJs Flavour
&lt;/h2&gt;

&lt;p&gt;Create a folder called src and create another folder inside it called js then create a file called app.js in the the folder. In the file, we will be initiating an instance of MoonJs to display “Hello Pusher of Codes”. We will achieve this by adding the following codes below to the app.js file.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const moon = new Moon({
  el: ".app",
  data: {
    message: "Hello Pusher of Codes!"
  }
});
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Update your app.html to look like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
 &amp;lt;title&amp;gt;Moon Tutorial&amp;lt;/title&amp;gt;
 &amp;lt;meta charset="UTF-8"&amp;gt;
 &amp;lt;!-- Development Build --&amp;gt;
 &amp;lt;script src="https://unpkg.com/moonjs/dist/moon.js"&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
&amp;lt;div class="app"&amp;gt;
  &amp;lt;h1 style="text-align:center;"&amp;gt;{{message}}&amp;lt;/h1&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;script src="src/js/app.js"&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;With the above you should see something like this below:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.scotch.io%2F32839%2FWLyTjSu6TvKKXTF8GlOb_m1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.scotch.io%2F32839%2FWLyTjSu6TvKKXTF8GlOb_m1.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Building A Simple Profile
&lt;/h2&gt;

&lt;p&gt;Let us make our application look  better with more information about the user. Add the code below to app.html file:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
 &amp;lt;title&amp;gt;Moon Tutorial&amp;lt;/title&amp;gt;
 &amp;lt;meta charset="UTF-8"&amp;gt;
 &amp;lt;!-- Development Build --&amp;gt;
 &amp;lt;script src="https://unpkg.com/moonjs/dist/moon.js"&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
&amp;lt;div class="app"&amp;gt;
  &amp;lt;h1 id="name"&amp;gt;{{full_name}}&amp;lt;/h1&amp;gt;
  &amp;lt;p id="email"&amp;gt;{{email}}&amp;lt;/p&amp;gt;
  &amp;lt;p id="phone"&amp;gt;{{mobile_number}}&amp;lt;/p&amp;gt;
  &amp;lt;p id="description"&amp;gt;{{short_info}}&amp;lt;/p&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;style type="text/css"&amp;gt;
 .app{
  margin-top:200px;
 }
#name{
  text-align:center;
  color: blue;
 }
#email{
  text-align:center;
  color: blue;
 }
#phone{
  text-align:center;
  color: blue;
 }
#description{
  text-align:center;
  color: blue;
 }
&amp;lt;/style&amp;gt;
&amp;lt;script src="src/js/app.js"&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then, make changes to the app.js file with the code below&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const moon = new Moon({
  el: ".app",
  data: {
    full_name: "Goodness Kayode | Pusher of Codes!",
    email:"gtkbrain@gmail.com",
    mobile_number:"+2341188469520",
    short_info:"I am Goodness Kayode also called Pusher of Codes. Linguist turned engineer.Community lover"
  }
});
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Yupp!!! With this you should have an head start to creating applications with MoonJs.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.scotch.io%2F32839%2Fl5P0COCRD6cTJfZ4GxQ8_m2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.scotch.io%2F32839%2Fl5P0COCRD6cTJfZ4GxQ8_m2.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;I hope you enjoyed the tutorial? I just scratched the surface of the framework but this tutorial will help with teaching you how to setup a MoonJs application and how to write a basic application with the framework.&lt;br&gt;
Link to repository is &lt;a href="https://github.com/goodnesskay/moonjs-app" rel="noopener noreferrer"&gt;here&lt;/a&gt;&lt;/p&gt;

</description>
      <category>moonjs</category>
      <category>javascript</category>
      <category>html5css</category>
      <category>web</category>
    </item>
  </channel>
</rss>
