<?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: Uzondu</title>
    <description>The latest articles on DEV Community by Uzondu (@uzondu9).</description>
    <link>https://dev.to/uzondu9</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%2F1375930%2F0cedeb42-f92e-4374-bc29-d402c11200a3.jpeg</url>
      <title>DEV Community: Uzondu</title>
      <link>https://dev.to/uzondu9</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/uzondu9"/>
    <language>en</language>
    <item>
      <title>AI Won’t Replace You—But It Will Expose You</title>
      <dc:creator>Uzondu</dc:creator>
      <pubDate>Tue, 08 Jul 2025 11:28:33 +0000</pubDate>
      <link>https://dev.to/uzondu9/ai-wont-replace-you-but-it-will-expose-you-1hf1</link>
      <guid>https://dev.to/uzondu9/ai-wont-replace-you-but-it-will-expose-you-1hf1</guid>
      <description>&lt;p&gt;I used to resist AI.&lt;br&gt;
At first glance, it felt like a shortcut for non-thinkers—a lazy tool. 🛑🧠&lt;br&gt;
A cheat code for those unwilling to learn or build real skills.&lt;/p&gt;

&lt;p&gt;But months later, my perspective has shifted—just like the entire tech landscape.&lt;br&gt;
Now I understand: the tool isn’t the problem. The thinking is.&lt;/p&gt;




&lt;p&gt;We’re in the thick of AI hype:&lt;br&gt;
💼 Tech layoffs dominate headlines&lt;br&gt;
🧠 AI models outperform humans on tasks&lt;br&gt;
🧑‍💻 “Developers are obsolete” becomes clickbait&lt;br&gt;
🌐 AI is now in every field—from law to medicine to design&lt;/p&gt;

&lt;p&gt;But here’s the truth no one’s shouting loud enough:&lt;br&gt;
🟢 AI didn’t replace people—it replaced repetition.&lt;/p&gt;




&lt;p&gt;Companies cut roles not because they hate humans,&lt;br&gt;
but because investors want efficiency.&lt;br&gt;
Repetitive tasks—those based purely on structure, syntax, or templates—were the first to go.&lt;/p&gt;

&lt;p&gt;What followed?&lt;br&gt;
📈 Rising market caps&lt;br&gt;
🚀 New AI startups&lt;br&gt;
💼 Job titles we didn’t have a year ago&lt;/p&gt;

&lt;p&gt;So no—the jobs didn’t vanish. They just evolved.&lt;/p&gt;




&lt;p&gt;So who’s thriving in this new era?&lt;br&gt;
🎯 Critical thinkers&lt;br&gt;
💻 Programmers who can architect, not just copy&lt;br&gt;
🎨 Designers who understand why not just how&lt;br&gt;
⚙ Engineers who connect dots across disciplines&lt;/p&gt;

&lt;p&gt;These aren’t just roles—they're minds. Minds that do more than give instructions to machines.&lt;/p&gt;




&lt;p&gt;AI can automate syntax.&lt;br&gt;
It can scaffold a project, generate boilerplate, or design a layout.&lt;br&gt;
But here’s what it can’t do 👇&lt;/p&gt;

&lt;p&gt;❌ Ask: "Is this the right direction for the user?"&lt;br&gt;
❌ Think through: "How does this connect with the business goal?"&lt;br&gt;
❌ Understand: "What are the consequences of this decision?"&lt;br&gt;
❌ Recognize when something “works,” but feels wrong&lt;/p&gt;

&lt;p&gt;These are creative, intuitive, and context-driven questions.&lt;br&gt;
AI works with rules.&lt;br&gt;
Humans bend them, break them, create them.&lt;/p&gt;




&lt;p&gt;We’ve been here before:&lt;br&gt;
🖨 The printing press didn’t kill writers.&lt;br&gt;
🖌 Photoshop didn’t replace artists.&lt;br&gt;
⌨ Word processors didn’t erase authors.&lt;/p&gt;

&lt;p&gt;Each time, what got wiped out was the mechanical part of the job.&lt;br&gt;
What survived—and soared—was creativity. Vision. Skill.&lt;/p&gt;

&lt;p&gt;The pattern never changed.&lt;br&gt;
🧠 Creative thinkers rise.&lt;br&gt;
♻ Repetitive executors fade.&lt;/p&gt;




&lt;p&gt;⚠️ But there’s a danger now:&lt;br&gt;
The rise of a new class of “AI professionals”&lt;br&gt;
who build careers on tools they don’t truly understand.&lt;/p&gt;

&lt;p&gt;They generate code but can't debug.&lt;br&gt;
They output UIs but can’t explain user needs.&lt;br&gt;
They write copy but lack voice or depth.&lt;/p&gt;

&lt;p&gt;The result?&lt;br&gt;
🌪 A saturated market of surface-level devs and designers&lt;br&gt;
who can’t survive without the prompt.&lt;/p&gt;




&lt;p&gt;Meanwhile, companies are desperately looking for:&lt;br&gt;
💡 Hybrid minds—who combine AI with real skills&lt;br&gt;
🛠 Thinkers who can tweak, test, and rethink&lt;br&gt;
🧩 Professionals who understand the why behind the what&lt;/p&gt;

&lt;p&gt;AI isn’t replacing you.&lt;br&gt;
It’s filtering you.&lt;br&gt;
Only those who know how to think, build, and adapt will pass through.&lt;/p&gt;




&lt;p&gt;So don’t just use AI to move fast.&lt;br&gt;
Don’t depend on it to be smart for you.&lt;/p&gt;

&lt;p&gt;🧠 Use it like a partner. A tool. A jumping-off point.&lt;br&gt;
But always bring your brain to the table.&lt;/p&gt;

&lt;p&gt;Don’t just prompt. Plan.&lt;br&gt;
Don’t just build. Design.&lt;br&gt;
Don’t just automate. Imagine.&lt;/p&gt;

&lt;p&gt;That’s the edge.&lt;br&gt;
That’s the future.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>webdev</category>
      <category>programming</category>
    </item>
    <item>
      <title>Battlefronts in Browser: Mercury Defenders &amp; Nova Invaders Unleashed</title>
      <dc:creator>Uzondu</dc:creator>
      <pubDate>Sat, 03 May 2025 22:36:02 +0000</pubDate>
      <link>https://dev.to/uzondu9/battlefronts-in-browser-mercury-defenders-nova-invaders-unleashed-3204</link>
      <guid>https://dev.to/uzondu9/battlefronts-in-browser-mercury-defenders-nova-invaders-unleashed-3204</guid>
      <description>&lt;h2&gt;
  
  
  🚀 Two Web Games, One Journey
&lt;/h2&gt;

&lt;p&gt;I’ve built two distinct browser‑based games—from a tower‑defense on Mercury to an endless robot arena shooter—all with pure JavaScript, HTML5 Canvas, and browser storage. Here’s a side‑by‑side look at what I’ve learned, where each shines, and why you might give them a spin.&lt;/p&gt;




&lt;h2&gt;
  
  
  👾 Alieno‑Mercury Combat
&lt;/h2&gt;

&lt;p&gt;A retro‑style tower‑defense where you deploy defenders to protect your base from alien hordes on Mercury.&lt;/p&gt;





&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/uzondu9/alieno-mercury-combat-3mnb" class="crayons-story__hidden-navigation-link"&gt;Alieno Mercury-Combat&lt;/a&gt;


  &lt;div class="crayons-story__body crayons-story__body-full_post"&gt;
    &lt;div class="crayons-story__top"&gt;
      &lt;div class="crayons-story__meta"&gt;
        &lt;div class="crayons-story__author-pic"&gt;

          &lt;a href="/uzondu9" class="crayons-avatar  crayons-avatar--l  "&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%2Fuser%2Fprofile_image%2F1375930%2F0cedeb42-f92e-4374-bc29-d402c11200a3.jpeg" alt="uzondu9 profile" class="crayons-avatar__image"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/uzondu9" class="crayons-story__secondary fw-medium m:hidden"&gt;
              Uzondu
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                Uzondu
                
              
              &lt;div id="story-author-preview-content-2019836" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0"&gt;
                &lt;div class="gap-4 grid"&gt;
                  &lt;div class="-mt-4"&gt;
                    &lt;a href="/uzondu9" class="flex"&gt;
                      &lt;span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"&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%2Fuser%2Fprofile_image%2F1375930%2F0cedeb42-f92e-4374-bc29-d402c11200a3.jpeg" class="crayons-avatar__image" alt=""&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;Uzondu&lt;/span&gt;
                    &lt;/a&gt;
                  &lt;/div&gt;
                  &lt;div class="print-hidden"&gt;
                    
                      Follow
                    
                  &lt;/div&gt;
                  &lt;div class="author-preview-metadata-container"&gt;&lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;

          &lt;/div&gt;
          &lt;a href="https://dev.to/uzondu9/alieno-mercury-combat-3mnb" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;Sep 29 '24&lt;/time&gt;&lt;span class="time-ago-indicator-initial-placeholder"&gt;&lt;/span&gt;&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/div&gt;

    &lt;div class="crayons-story__indention"&gt;
      &lt;h2 class="crayons-story__title crayons-story__title-full_post"&gt;
        &lt;a href="https://dev.to/uzondu9/alieno-mercury-combat-3mnb" id="article-link-2019836"&gt;
          Alieno Mercury-Combat
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/devchallenge"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;devchallenge&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/gamechallenge"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;gamechallenge&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/gamedev"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;gamedev&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/webdev"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;webdev&lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="crayons-story__bottom"&gt;
        &lt;div class="crayons-story__details"&gt;
          &lt;a href="https://dev.to/uzondu9/alieno-mercury-combat-3mnb" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left"&gt;
            &lt;div class="multiple_reactions_aggregate"&gt;
              &lt;span class="multiple_reactions_icons_container"&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
              &lt;/span&gt;
              &lt;span class="aggregate_reactions_counter"&gt;2&lt;span class="hidden s:inline"&gt; reactions&lt;/span&gt;&lt;/span&gt;
            &lt;/div&gt;
          &lt;/a&gt;
            &lt;a href="https://dev.to/uzondu9/alieno-mercury-combat-3mnb#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center"&gt;
              Comments


              2&lt;span class="hidden s:inline"&gt; comments&lt;/span&gt;
            &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class="crayons-story__save"&gt;
          &lt;small class="crayons-story__tertiary fs-xs mr-2"&gt;
            2 min read
          &lt;/small&gt;
            
              &lt;span class="bm-initial"&gt;
                

              &lt;/span&gt;
              &lt;span class="bm-success"&gt;
                

              &lt;/span&gt;
            
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;





&lt;p&gt;&lt;strong&gt;Live Demo &amp;amp; Code&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🎮 &lt;a href="https://uzondu9.github.io/Alieno-Mercury-Combat/" rel="noopener noreferrer"&gt;Play&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;💻 &lt;a href="https://github.com/uzondu9/Alieno-Mercury-Combat" rel="noopener noreferrer"&gt;Source on GitHub&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Key Features
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Resource Management &amp;amp; Tactics:&lt;/strong&gt; Choose defender types to counter waves &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Retro Pixel Art Aesthetic:&lt;/strong&gt; Nostalgic visuals with modern performance&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Procedural Enemy Waves:&lt;/strong&gt; Increasing difficulty with each round&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🤖 Nova Invaders
&lt;/h2&gt;

&lt;p&gt;A fast‑paced, endless arena shooter where you control a robot, outlast invaders, and level up your firepower.&lt;/p&gt;





&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/uzondu9/my-journey-starting-a-robot-themed-game-with-alibaba-cloud-2l9b" class="crayons-story__hidden-navigation-link"&gt;🚀 Nova Invaders: A Game of Bullets, Bots &amp;amp; Bold Ambition&lt;/a&gt;


  &lt;div class="crayons-story__body crayons-story__body-full_post"&gt;
    &lt;div class="crayons-story__top"&gt;
      &lt;div class="crayons-story__meta"&gt;
        &lt;div class="crayons-story__author-pic"&gt;

          &lt;a href="/uzondu9" class="crayons-avatar  crayons-avatar--l  "&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%2Fuser%2Fprofile_image%2F1375930%2F0cedeb42-f92e-4374-bc29-d402c11200a3.jpeg" alt="uzondu9 profile" class="crayons-avatar__image"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/uzondu9" class="crayons-story__secondary fw-medium m:hidden"&gt;
              Uzondu
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                Uzondu
                
              
              &lt;div id="story-author-preview-content-2390769" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0"&gt;
                &lt;div class="gap-4 grid"&gt;
                  &lt;div class="-mt-4"&gt;
                    &lt;a href="/uzondu9" class="flex"&gt;
                      &lt;span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"&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%2Fuser%2Fprofile_image%2F1375930%2F0cedeb42-f92e-4374-bc29-d402c11200a3.jpeg" class="crayons-avatar__image" alt=""&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;Uzondu&lt;/span&gt;
                    &lt;/a&gt;
                  &lt;/div&gt;
                  &lt;div class="print-hidden"&gt;
                    
                      Follow
                    
                  &lt;/div&gt;
                  &lt;div class="author-preview-metadata-container"&gt;&lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;

          &lt;/div&gt;
          &lt;a href="https://dev.to/uzondu9/my-journey-starting-a-robot-themed-game-with-alibaba-cloud-2l9b" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;Apr 27 '25&lt;/time&gt;&lt;span class="time-ago-indicator-initial-placeholder"&gt;&lt;/span&gt;&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/div&gt;

    &lt;div class="crayons-story__indention"&gt;
      &lt;h2 class="crayons-story__title crayons-story__title-full_post"&gt;
        &lt;a href="https://dev.to/uzondu9/my-journey-starting-a-robot-themed-game-with-alibaba-cloud-2l9b" id="article-link-2390769"&gt;
          🚀 Nova Invaders: A Game of Bullets, Bots &amp;amp; Bold Ambition
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/alibabachallenge"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;alibabachallenge&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/devchallenge"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;devchallenge&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/gamedev"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;gamedev&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/webdev"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;webdev&lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="crayons-story__bottom"&gt;
        &lt;div class="crayons-story__details"&gt;
          &lt;a href="https://dev.to/uzondu9/my-journey-starting-a-robot-themed-game-with-alibaba-cloud-2l9b" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left"&gt;
            &lt;div class="multiple_reactions_aggregate"&gt;
              &lt;span class="multiple_reactions_icons_container"&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
              &lt;/span&gt;
              &lt;span class="aggregate_reactions_counter"&gt;1&lt;span class="hidden s:inline"&gt; reaction&lt;/span&gt;&lt;/span&gt;
            &lt;/div&gt;
          &lt;/a&gt;
            &lt;a href="https://dev.to/uzondu9/my-journey-starting-a-robot-themed-game-with-alibaba-cloud-2l9b#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center"&gt;
              Comments


              &lt;span class="hidden s:inline"&gt;Add Comment&lt;/span&gt;
            &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class="crayons-story__save"&gt;
          &lt;small class="crayons-story__tertiary fs-xs mr-2"&gt;
            3 min read
          &lt;/small&gt;
            
              &lt;span class="bm-initial"&gt;
                

              &lt;/span&gt;
              &lt;span class="bm-success"&gt;
                

              &lt;/span&gt;
            
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;





&lt;p&gt;&lt;strong&gt;Live Demo &amp;amp; Code&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🎮 &lt;a href="https://uzondu9.github.io/Nova-Invaders/index.html" rel="noopener noreferrer"&gt;GitHub Pages Demo&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;💻 &lt;a href="https://github.com/uzondu9/Nova-Invaders" rel="noopener noreferrer"&gt;GitHub Repo&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Core Innovations
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Endless Mode &amp;amp; Dynamic Waves:&lt;/strong&gt; No end—just ever‑escalating chaos &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Smart Bullet Refills:&lt;/strong&gt; B2 (3/sec), B3 (2/sec), B4 (1/sec) for strategic depth&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Level‑Up Mechanics:&lt;/strong&gt; Scaling enemy health, speed, and spawn randomness&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Seamless UI Transitions:&lt;/strong&gt; Hand‑crafted DOM logic—no frameworks &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Browser Storage Persistence:&lt;/strong&gt; Save progress locally—no server needed &lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🔄 Tech &amp;amp; Tools Comparison
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Aspect&lt;/th&gt;
&lt;th&gt;Alieno‑Mercury Combat&lt;/th&gt;
&lt;th&gt;Nova Invaders&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Game Type&lt;/td&gt;
&lt;td&gt;Tower‑Defense&lt;/td&gt;
&lt;td&gt;Endless Arena Shooter&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Engine&lt;/td&gt;
&lt;td&gt;JS Classes + Canvas&lt;/td&gt;
&lt;td&gt;JS Classes + Canvas&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Data Persistence&lt;/td&gt;
&lt;td&gt;localStorage (score)&lt;/td&gt;
&lt;td&gt;No localStorage (Set target (full state)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Performance&lt;/td&gt;
&lt;td&gt;Procedural waves, simple AI&lt;/td&gt;
&lt;td&gt;Object pooling for bullets&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;UI&lt;/td&gt;
&lt;td&gt;Static menus + Canvas HUD&lt;/td&gt;
&lt;td&gt;Dynamic state transitions&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  🧠 Lessons &amp;amp; Next Steps
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;OOP &amp;amp; Logical Thinking:&lt;/strong&gt; Moved from coder to engineer by structuring code for reuse and clarity&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Browser Storage Mastery:&lt;/strong&gt; Learned nuances of &lt;code&gt;localStorage&lt;/code&gt; limits and serialization &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Performance Tuning:&lt;/strong&gt; Implemented object pooling to avoid GC spikes &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Deployment Realities:&lt;/strong&gt; Balanced GitHub Pages reliability with Alibaba Cloud ambition&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;What’s Next?&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Leaderboards, mobile port, co‑op modes&lt;/li&gt;
&lt;li&gt;Enhanced AI patterns and new defender/bullet types&lt;/li&gt;
&lt;li&gt;Polishing visuals and accessibility&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  ❤️ Your Turn
&lt;/h2&gt;

&lt;p&gt;Give these games a spin and let me know which you prefer! Stars, claps, and feedback fuel the next iteration.&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%2F27rxan6roocft2mkso8t.jpg" 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%2F27rxan6roocft2mkso8t.jpg" alt="War image of robots"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🎮 &lt;a href="https://uzondu9.github.io/Alieno-Mercury-Combat/" rel="noopener noreferrer"&gt;Alieno‑Mercury Combat on DEV&lt;/a&gt;&lt;br&gt;
🎮 &lt;a href="https://uzondu9.github.io/Nova-Invaders/" rel="noopener noreferrer"&gt;Nova Invaders Demo&lt;/a&gt;&lt;/p&gt;




</description>
      <category>alibabachallenge</category>
      <category>webdev</category>
      <category>javascript</category>
      <category>gamedev</category>
    </item>
    <item>
      <title>🚀 Nova Invaders: A Game of Bullets, Bots &amp; Bold Ambition</title>
      <dc:creator>Uzondu</dc:creator>
      <pubDate>Sun, 27 Apr 2025 22:57:58 +0000</pubDate>
      <link>https://dev.to/uzondu9/my-journey-starting-a-robot-themed-game-with-alibaba-cloud-2l9b</link>
      <guid>https://dev.to/uzondu9/my-journey-starting-a-robot-themed-game-with-alibaba-cloud-2l9b</guid>
      <description>&lt;p&gt;&lt;em&gt;My entry for the Alibaba Cloud x DEV Game Challenge — built with love, logic, and browser storage.&lt;/em&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  🎮 Play the Game
&lt;/h2&gt;

&lt;p&gt;🕹️ &lt;a href="https://uzondu9.github.io/Nova-Invaders/" rel="noopener noreferrer"&gt;Live Demo on GitHub Pages&lt;/a&gt;&lt;br&gt;&lt;br&gt;
💻 &lt;a href="https://github.com/uzondu9/Nova-Invaders" rel="noopener noreferrer"&gt;GitHub Repository&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;⚠️ I also deployed this game to Alibaba Cloud using their OSS + Domain service, but DNS propagation is still in progress. GitHub Pages is your best bet for now.&lt;/p&gt;
&lt;/blockquote&gt;


&lt;h2&gt;
  
  
  ✨ What If a Game Got a Heartbeat?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Nova Invaders&lt;/strong&gt; isn’t just another robot shooter. It’s a high-speed, endlessly evolving arena built on pure JavaScript. With custom bullet logic, dynamic waves, and a seamless UI — this browser game learns, adapts, and keeps you on edge.&lt;/p&gt;

&lt;p&gt;I built it from scratch: no frameworks, no fluff — just DOM logic, OOP, and raw gameplay energy.&lt;/p&gt;


&lt;h2&gt;
  
  
  🔥 Core Features
&lt;/h2&gt;
&lt;h3&gt;
  
  
  🌀 Endless Mode
&lt;/h3&gt;

&lt;p&gt;There’s no final boss — just survival. Chaos ramps up endlessly.&lt;/p&gt;
&lt;h3&gt;
  
  
  🔄 Bullet Types &amp;amp; Smart Refills
&lt;/h3&gt;

&lt;p&gt;Each bullet type has a unique cooldown refill system:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;B2&lt;/strong&gt; → 3 bullets/sec
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;B3&lt;/strong&gt; → 2 bullets/sec
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;B4&lt;/strong&gt; → 1 bullet/sec
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Strategic use is everything.&lt;/p&gt;
&lt;h3&gt;
  
  
  🚀 Level-Up Mechanics
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Unpredictable Waves&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Escalating Difficulty&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Randomized Patterns&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;No two runs feel the same.&lt;/p&gt;
&lt;h3&gt;
  
  
  🌗 Smooth UI Transitions
&lt;/h3&gt;

&lt;p&gt;Everything flows — no janky reloads. From menus to game over screens, transitions are built manually with clean DOM logic.&lt;/p&gt;
&lt;h3&gt;
  
  
  🗂️ Persistent Browser Storage
&lt;/h3&gt;

&lt;p&gt;Your progress is saved in local Storage. No logins. No servers. Just load and play.&lt;/p&gt;


&lt;h2&gt;
  
  
  🆕 What’s Coming?
&lt;/h2&gt;
&lt;h3&gt;
  
  
  💰 Coins System
&lt;/h3&gt;

&lt;p&gt;Coins are earned through gameplay and used for upgrades and boosters — integrated across mechanics.&lt;/p&gt;
&lt;h3&gt;
  
  
  ⚡ Boosters
&lt;/h3&gt;

&lt;p&gt;Add tactical variety and life-saving options:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Health+&lt;/strong&gt;: Instantly gain +20 HP
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Booster-1&lt;/strong&gt;: Full health restore
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Booster-2&lt;/strong&gt;: Wipe every enemy on screen (panic button!)&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;
  
  
  📸 Sneak Peek
&lt;/h2&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%2F6fougxrx1gz2802qp5pd.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.amazonaws.com%2Fuploads%2Farticles%2F6fougxrx1gz2802qp5pd.png" alt="gallery image"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  🎥 &lt;em&gt;Gameplay Video&lt;/em&gt;
&lt;/h3&gt;

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




&lt;h2&gt;
  
  
  🔧 Built With
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;JavaScript (Classes + DOM)
&lt;/li&gt;
&lt;li&gt;HTML5 Canvas
&lt;/li&gt;
&lt;li&gt;CSS for UI polish
&lt;/li&gt;
&lt;li&gt;Object Pooling for performance
&lt;/li&gt;
&lt;li&gt;LocalStorage API
&lt;/li&gt;
&lt;li&gt;Alibaba Cloud OSS + Domain Service&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Alibaba was a big part of deployment. I used OSS for storage and domain setup — but GitHub Pages is the backup due to DNS propagation delays.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  🧠 Key Challenges
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;No Frameworks, Full Experience&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
UI states, transitions, and logic — all custom-built with JS.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Cooldown Bullet System&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Bullets refill based on type, managed through object pooling.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Hosting Delays&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Alibaba deployment worked, but DNS lag led me to use GitHub Pages to avoid demo downtime.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  📚 What I Learned
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;HTML Canvas + JS = Powerful combo
&lt;/li&gt;
&lt;li&gt;Browser storage is excellent for solo-dev games
&lt;/li&gt;
&lt;li&gt;Deployment = more than uploading files
&lt;/li&gt;
&lt;li&gt;Performance tuning matters even in small games&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🚪 What’s Next?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Leaderboards + difficulty scaling
&lt;/li&gt;
&lt;li&gt;More robots, bullet types, and boosters
&lt;/li&gt;
&lt;li&gt;Mobile version with Capacitor
&lt;/li&gt;
&lt;li&gt;Possibly co-op mode 👀&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  ❤️ Final Thoughts
&lt;/h2&gt;

&lt;p&gt;This was only my &lt;strong&gt;second time coding this year&lt;/strong&gt;, and building Nova Invaders reignited my drive. I didn’t just code — I engineered. I thought through systems, wrote maintainable logic, and leaned on AI tools to refine my problem-solving process.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“Logical thinking is what takes you from a coder to an engineer — solving problems and bending AI tools to your belt.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;Judges &amp;amp; DEV team&lt;/strong&gt;: racing against the clock meant I pushed deployment and docs to the wire—and my Alibaba link still catches up—but Nova Invaders delivers an OOP‑fueled engine, evolving levels, strategic bullets, and browser‑saved progress. Please look past the deadline’s rough edges and reward the creativity and passion driving every line of code.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;If you enjoyed it, hit the ❤️, drop a comment, or star the repo — it fuels the journey. 💬&lt;/p&gt;




&lt;h2&gt;
  
  
  🔗 Quick Links
&lt;/h2&gt;

&lt;p&gt;🎮 &lt;a href="https://uzondu9.github.io/Nova-Invaders/index.html" rel="noopener noreferrer"&gt;Play Nova Invaders&lt;/a&gt;&lt;br&gt;&lt;br&gt;
💻 &lt;a href="https://github.com/uzondu9/Nova-Invaders" rel="noopener noreferrer"&gt;GitHub Repository&lt;/a&gt;&lt;br&gt;&lt;br&gt;
☁️ &lt;a href="https://your-alibaba-link.com" rel="noopener noreferrer"&gt;Alibaba Hosting (Coming Soon)&lt;/a&gt;&lt;/p&gt;

</description>
      <category>alibabachallenge</category>
      <category>devchallenge</category>
      <category>gamedev</category>
      <category>webdev</category>
    </item>
    <item>
      <title>WeCoded 2025: A Celebration of Impact &amp; Innovation</title>
      <dc:creator>Uzondu</dc:creator>
      <pubDate>Mon, 07 Apr 2025 09:40:29 +0000</pubDate>
      <link>https://dev.to/uzondu9/wecoded-2025-a-celebration-of-impact-innovation-40dp</link>
      <guid>https://dev.to/uzondu9/wecoded-2025-a-celebration-of-impact-innovation-40dp</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/wecoded"&gt;WeCoded Challenge&lt;/a&gt;: Celebrate in Code&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  ✨ My WeCoded Landing Page
&lt;/h2&gt;

&lt;p&gt;I designed and built a dynamic landing page for the WeCoded Challenge that highlights past WeCoded and SheCoded stories while capturing the celebratory and empowering spirit of the campaign. My goal was to create a space that not only shares stories but invites new developers to feel part of something bigger.&lt;/p&gt;




&lt;p&gt;This project helped me blend creativity with real API data, turning static layouts into a lively and inclusive experience.&lt;/p&gt;




&lt;h2&gt;
  
  
  🚀 Demo
&lt;/h2&gt;

&lt;p&gt;🔗 Live Site: &lt;a href="https://uzondu9.github.io/Wecoded-Landing-Page/" rel="noopener noreferrer"&gt;Link&lt;/a&gt;&lt;br&gt;
💻 GitHub Repo: &lt;a href="https://github.com/uzondu9/Wecoded-Landing-Page" rel="noopener noreferrer"&gt;Link&lt;/a&gt;&lt;br&gt;
📸 Screenshots:&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%2Ffsj7ki5bltwt6vu6k3w3.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.amazonaws.com%2Fuploads%2Farticles%2Ffsj7ki5bltwt6vu6k3w3.png" alt="Screenshot 1" width="800" height="399"&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.amazonaws.com%2Fuploads%2Farticles%2F2zkr7fsftm566t0cccv9.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.amazonaws.com%2Fuploads%2Farticles%2F2zkr7fsftm566t0cccv9.png" alt="Screenshot 2" width="800" height="399"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  🛠️ How I Built It
&lt;/h2&gt;

&lt;p&gt;The landing page was crafted using:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;HTML, CSS &amp;amp; JavaScript for the layout and styling&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;DEV.to Articles&lt;/strong&gt; API to fetch real WeCoded and SheCoded stories&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Responsive Design&lt;/strong&gt; so the experience feels great on mobile and desktop&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Dark/Light Mode Toggle to match user preference&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Horizontal scrolling &lt;strong&gt;"Spotlights"&lt;/strong&gt; section to showcase featured stories in a clean, interactive way&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Process:
&lt;/h3&gt;

&lt;p&gt;I started with wireframes and gradually moved to a high-fidelity mockup in Figma. Then I implemented it section by section, with focus on accessibility and responsiveness. The Spotlights section was especially fun—it uses a scroll snapping technique to elegantly slide between stories.&lt;/p&gt;

&lt;p&gt;One thing I’m proud of is how the page feels like a living, growing celebration of developers from around the world. It’s minimal, but powerful.&lt;/p&gt;

&lt;h3&gt;
  
  
  🎨 Mobile Design Image
&lt;/h3&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%2F4n04f80e3wp7mhav1si7.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.amazonaws.com%2Fuploads%2Farticles%2F4n04f80e3wp7mhav1si7.png" alt="Figma Design" width="654" height="3613"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  ✨ Final Thoughts
&lt;/h3&gt;

&lt;p&gt;While I’m proud of the progress I made with this project, I acknowledge that not everything is perfect. There were challenges along the way, such as refining certain elements and balancing responsiveness with functionality. However, I learned a lot throughout this process and continue to grow as a developer.&lt;/p&gt;

&lt;p&gt;I’d love to hear your insights and comments on how I can improve further. Any feedback is much appreciated!&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>wecoded</category>
      <category>dei</category>
      <category>webdev</category>
    </item>
    <item>
      <title>From Gaming Dreams to Web Development—My Unexpected Journey</title>
      <dc:creator>Uzondu</dc:creator>
      <pubDate>Sat, 15 Mar 2025 07:40:51 +0000</pubDate>
      <link>https://dev.to/uzondu9/from-gaming-dreams-to-web-development-my-unexpected-journey-56m9</link>
      <guid>https://dev.to/uzondu9/from-gaming-dreams-to-web-development-my-unexpected-journey-56m9</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/wecoded"&gt;WeCoded Challenge&lt;/a&gt;: Echoes of Experience&lt;/em&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The journey into coding is often filled with curiosity, challenges, and moments of pure excitement. Looking back, my path into web development has been no different. From my first encounter with HTML to building interactive experiences, every step has been a learning curve—one that has shaped my skills, mindset, and passion for creating on the web.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  How It All Started: A Gamer’s Frustration
&lt;/h2&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%2Fxe5simglc3ve4ii6ad3f.jpg" 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%2Fxe5simglc3ve4ii6ad3f.jpg" alt="Image of boy in fustration" width="800" height="800"&gt;&lt;/a&gt;&lt;br&gt;
I had dabbled in various areas of software tech—app development, game development, and web development—before finally deciding to major in web development. My ambition? To conquer the software industry one step at a time, starting with the web. But here’s the funny part—I never liked coding in the first place.&lt;/p&gt;

&lt;p&gt;My entry into the tech world started long before I even knew what a website was. It all began with game development. As a kid, I loved video games—especially soccer and war games. They simulated real experiences and fueled my love for technology and entertainment. But here’s the thing—no game was ever perfect. There was always something missing, something I wished I could change.&lt;/p&gt;

&lt;p&gt;I kept scrolling through app stores, searching for the perfect game—one that had everything I wanted. But no matter how many I tried, there was always some flaw, some missing feature. That frustration became the seed of something bigger.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Moment of Change: Eyes Open, Mind Blown
&lt;/h2&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%2Fmiw6ox1kpiy4hm7bi81c.jpg" 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%2Fmiw6ox1kpiy4hm7bi81c.jpg" alt="Young Boy in surprise" width="800" height="800"&gt;&lt;/a&gt;&lt;br&gt;
At that time, my only way of coping was writing reviews and commenting on game forums, hoping developers would magically read my mind and improve their games. But after a while, even that felt pointless. I resigned myself to just accepting the flaws in games and forcibly focusing only on their bright sides.&lt;/p&gt;

&lt;p&gt;Then something unexpected happened.&lt;/p&gt;

&lt;p&gt;One day, while scrolling through the App Store, I stumbled upon an app called &lt;strong&gt;Grasshopper&lt;/strong&gt;. It claimed to teach JavaScript in a fun, interactive way. I misinterpreted it as some kind of math puzzle (which I loved), and that curiosity made me explore further.&lt;/p&gt;

&lt;p&gt;Not long after, I came across another app called &lt;strong&gt;Programming Hero&lt;/strong&gt;, and a simple yet powerful sentence changed my trajectory:&lt;/p&gt;

&lt;p&gt;"Learn to code and build a game."&lt;/p&gt;

&lt;p&gt;That was all I needed. If I couldn't find the perfect game, maybe—just maybe—I could build my own.&lt;/p&gt;

&lt;h2&gt;
  
  
  Copy-Pasting My Way to “Success” (The False Pride Phase)
&lt;/h2&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%2Fnmdtwt5vyg9tz41bkvqf.jpg" 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%2Fnmdtwt5vyg9tz41bkvqf.jpg" alt="Man copy pasting on a ladder" width="800" height="800"&gt;&lt;/a&gt;&lt;br&gt;
With zero coding experience, I did what any beginner would do—I followed tutorials. But not just any tutorials, I copied code word for word from them, pasted it into game engines, and called it my project.&lt;/p&gt;

&lt;p&gt;And guess what? It worked! I had games running that made me beam with pride. But deep down, I knew the truth—I didn’t actually understand what I was doing. It was false pride, built on copy-paste programming.&lt;/p&gt;

&lt;p&gt;As I kept experimenting, I dabbled in different languages. I started with Python, hoping to create games with it. But then I stumbled into Java and got stuck there for the longest time, trying to figure out its most relevant use. Eventually, Java led me into app development—a huge detour from my initial goal of building games.&lt;/p&gt;

&lt;h2&gt;
  
  
  How a Challenge Changed Everything (Or, How My Cousin Accidentally Made Me a Web Developer)
&lt;/h2&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%2Fok67ovhqf4ve3srd23by.jpg" 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%2Fok67ovhqf4ve3srd23by.jpg" alt="A cousin supportive" width="800" height="800"&gt;&lt;/a&gt;&lt;br&gt;
My journey into web development wasn’t something I planned—it was triggered by a challenge. My cousin had built something visually stunning with HTML and CSS, and when I saw it, I had two thoughts:&lt;/p&gt;

&lt;p&gt;This is really cool.&lt;br&gt;
Why can't I do this?&lt;br&gt;
Until then, my focus had been on game and app development, but seeing how easily he could shape a webpage sparked something in me. Unlike the complexity of game engines, web development felt instant and satisfying—write a few lines of code, refresh the page, and boom! Magic.&lt;/p&gt;

&lt;h3&gt;
  
  
  Coding on a Tablet: The Start of Something Beautiful (Literally)
&lt;/h3&gt;

&lt;p&gt;With nothing but a tablet, I started learning HTML and CSS. Watching simple lines of code turn into beautiful designs felt creative and rewarding—like art mixed with logic.&lt;/p&gt;

&lt;p&gt;Then came JavaScript. If HTML and CSS made things look good, JavaScript made them do things. The moment I got my first button to actually work, I felt powerful. It was like I had unlocked a new superpower.&lt;/p&gt;

&lt;h2&gt;
  
  
  Books for Brain, Videos for Biceps
&lt;/h2&gt;

&lt;p&gt;As I dived deeper into web development, I realized something:&lt;/p&gt;

&lt;p&gt;Books put concepts in my brain. They gave me understanding—the why behind everything.&lt;br&gt;
Videos were my practice gym. I used YouTube tutorials like workout sessions, following along and applying what I learned.&lt;br&gt;
This combo of reading + doing became my ultimate learning strategy.&lt;/p&gt;

&lt;h2&gt;
  
  
  Freelancing? I’ll Pass (For Now…)
&lt;/h2&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%2Fvvc68hbidwtjpjhkhzvs.jpg" 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%2Fvvc68hbidwtjpjhkhzvs.jpg" alt="Little boy- crosses hand to freelancing" width="800" height="800"&gt;&lt;/a&gt;&lt;br&gt;
Most beginners create a portfolio early in their learning process, but I was hesitant. I actually made one dummy portfolio, but deep down, I knew I wanted real projects before making a marketable one.&lt;/p&gt;

&lt;p&gt;At one point, I considered freelancing, excited by the idea of earning through my skills. I browsed job listings and imagined landing my first gig. But here’s the thing—I never applied.&lt;/p&gt;

&lt;p&gt;It wasn’t that I lacked skills, but I lacked confidence. I kept questioning whether my work was good enough, whether I had enough experience. Because I had tied my success to freelancing, this hesitation drained my enthusiasm.&lt;/p&gt;

&lt;h2&gt;
  
  
  Project Paralysis: When Finishing is Harder Than Starting
&lt;/h2&gt;

&lt;p&gt;The deeper I went into web development, the harder it became to finish projects.&lt;/p&gt;

&lt;p&gt;I started countless projects, only to abandon them halfway. It wasn’t because I lost interest in coding—it was because I didn’t have a clear direction.&lt;/p&gt;

&lt;h2&gt;
  
  
  UI/UX: The Roadmap I Didn’t Know I Needed
&lt;/h2&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%2Fdacc8hb5uk13qdm6yv3h.jpg" 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%2Fdacc8hb5uk13qdm6yv3h.jpg" alt="Behind the UI/UX roadmap" width="800" height="800"&gt;&lt;/a&gt;&lt;br&gt;
That’s when I decided to learn UI/UX design. Instead of jumping straight into code, I began creating mockups and prototypes first. This changed everything.&lt;/p&gt;

&lt;p&gt;I knew exactly what I was building before writing a single line of code.&lt;br&gt;
My projects felt polished and structured.&lt;br&gt;
I found new motivation by engaging with communities and sharing my work.&lt;br&gt;
This shift reignited my passion and gave me the push I needed.&lt;/p&gt;

&lt;h2&gt;
  
  
  No Rush for a Portfolio—Quality Over Speed
&lt;/h2&gt;

&lt;p&gt;A lot of people create a portfolio as part of their learning journey, but I’ve decided to hold off on a proper one until I have a collection of strong, meaningful projects—including my submission for the &lt;strong&gt;WeCoded landing page.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I want my portfolio to showcase real, marketable work, not just rushed projects.&lt;/p&gt;

&lt;h2&gt;
  
  
  What’s Next? The Bigger Picture
&lt;/h2&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%2Fg8bxfmw27qr05azxf88l.jpg" 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%2Fg8bxfmw27qr05azxf88l.jpg" alt="Young Boy with several tools" width="800" height="800"&gt;&lt;/a&gt;&lt;br&gt;
With my passion for web development stronger than ever, I now have a clear goal:&lt;/p&gt;

&lt;p&gt;✅ Master the Web – Learn both frontend and backend development to become a full-stack software engineer.&lt;br&gt;
✅ Freelancing with Purpose – Build up my portfolio and return to freelancing, this time with confidence.&lt;br&gt;
✅ Entrepreneurial Goals – Eventually, I want to create SaaS tools that solve real-world problems.&lt;/p&gt;

&lt;p&gt;I’m incredibly grateful for everyone and everything that has helped me along this journey—especially my family, who have always believed in and appreciated my work.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;To every coder out there: keep learning, keep building, and never lose sight of your passion. Good luck! 🚀&lt;/em&gt;&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>wecoded</category>
      <category>dei</category>
      <category>career</category>
    </item>
    <item>
      <title>Narriva - A Minimalist Blog for Traditions and Celebrations**</title>
      <dc:creator>Uzondu</dc:creator>
      <pubDate>Fri, 27 Dec 2024 00:17:46 +0000</pubDate>
      <link>https://dev.to/uzondu9/narriva-a-minimalist-blog-for-traditions-and-celebrations-4mb1</link>
      <guid>https://dev.to/uzondu9/narriva-a-minimalist-blog-for-traditions-and-celebrations-4mb1</guid>
      <description>&lt;h2&gt;
  
  
  &lt;strong&gt;What I Built&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Narriva is a minimalist and visually engaging blog website designed to spotlight traditions and celebrations. The goal was to create a blog site with a strong emphasis on modern design principles, responsive layouts, and interactivity using CSS and JavaScript. &lt;/p&gt;

&lt;p&gt;I wanted the blog to be simple yet elegant, showcasing its content with a clean interface and intuitive navigation. The main focus was ensuring that it is aesthetically pleasing across devices while maintaining functionality.&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;Demo&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Take a look at my project below:&lt;br&gt;&lt;br&gt;
&lt;a href="https://github.com/uzondu9/Narriva" rel="noopener noreferrer"&gt;Project Code Repository&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;a href="https://uzondu9.github.io/Narriva/index.html" rel="noopener noreferrer"&gt;Live Demo&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here’s a quick preview of the blog and post pages:  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;The &lt;strong&gt;home page&lt;/strong&gt; features a compelling navigation bar, a dynamic blog header, and a grid of recent posts with a clean, modern card design.&lt;br&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%2Folat3k8ohqvu8vczeewl.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.amazonaws.com%2Fuploads%2Farticles%2Folat3k8ohqvu8vczeewl.png" alt="home page" width="800" height="1012"&gt;&lt;/a&gt;&lt;br&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%2Fwnszww6nmni8o0ugwasn.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.amazonaws.com%2Fuploads%2Farticles%2Fwnszww6nmni8o0ugwasn.png" alt="home page" width="500" height="2801"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The &lt;strong&gt;post page&lt;/strong&gt; showcases an image based list of contents, large feature images, and engaging section design&lt;/p&gt;&lt;/li&gt;
&lt;/ul&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%2F6pxc3agx2mg062l9slg6.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.amazonaws.com%2Fuploads%2Farticles%2F6pxc3agx2mg062l9slg6.png" alt="Post Image" width="500" height="640"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Journey&lt;/strong&gt;
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Setting Up&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;The foundation of this project started with understanding the requirements of the challenge. I began by choosing a theme for the blog—one that would stand out visually and resonate with an audience interested in traditions and celebrations. After some brainstorming, I settled on "Narriva" as the blog's title to evoke a sense of storytelling and cultural richness.&lt;/p&gt;

&lt;p&gt;I sketched out the blog’s structure, listing essential components like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A fixed navigation bar for seamless browsing.&lt;/li&gt;
&lt;li&gt;A blog header with captivating gradients and a search bar.&lt;/li&gt;
&lt;li&gt;Recent post cards with an interactive layout.&lt;/li&gt;
&lt;li&gt;A cohesive design for the footer to tie the page together.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Crucial Stage&lt;/strong&gt;
&lt;/h3&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Design and Implementation&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;The design process centered on creating a polished and visually appealing layout using light colors with touches of purple-pink gradients. I made sure the UI adhered to accessibility standards while maintaining a modern aesthetic. Key design highlights include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Navigation Bar:&lt;/strong&gt; Responsive, fixed-position navigation that works across the blog and post pages, featuring toggle functionality for smaller screens.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Header Section:&lt;/strong&gt; A large heading and subheading with gradient text effects for visual impact.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Blog Post Cards:&lt;/strong&gt; Unique cards with separated content and images, ensuring they stand out while maintaining a cohesive design.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Post Page Enhancements:&lt;/strong&gt; Dynamic features like an accordion-based table of contents, section images, and a focus on readability.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Challenges and Solutions&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;One of the significant challenges was ensuring responsiveness across devices. While using Chrome DevTools helped in testing, I encountered issues with scaling and alignment, especially with the fixed-position navigation. To address this:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;I utilized CSS media queries to fine-tune the layout for various screen sizes.&lt;/li&gt;
&lt;li&gt;Debugged positioning inconsistencies by refining the structure of the navbar and container elements.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Another challenge was implementing toggle functionality for the mobile navbar. Using event listeners, I dynamically toggled classes to control animations and content visibility effectively.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Technical Highlights&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;CSS Animations and Transitions:&lt;/strong&gt; Used to bring life to the accordion and button interactions.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;JavaScript Manipulation:&lt;/strong&gt; Querying and dynamically injecting HTML elements for modularity and scalability.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Image Optimization:&lt;/strong&gt; Focused on using high-quality, lightweight images in modern formats like WebP to ensure performance without compromising visuals.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Ending&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;As the project came together, I felt a sense of accomplishment seeing the designs come to life. The features I’m particularly proud of include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The blog's intuitive layout and responsiveness.&lt;/li&gt;
&lt;li&gt;The dynamic accordion for the post page, which organizes content efficiently.&lt;/li&gt;
&lt;li&gt;The aesthetic harmony achieved through consistent typography and color palettes.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;What’s Next?&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Moving forward, I’d like to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Add animations to the blog post cards for hover effects.&lt;/li&gt;
&lt;li&gt;Explore integrating APIs to dynamically load post content.&lt;/li&gt;
&lt;li&gt;Optimize the site for SEO and improve accessibility further.&lt;/li&gt;
&lt;/ul&gt;




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

&lt;p&gt;This project challenged me to think creatively while honing my CSS and JavaScript skills. Narriva is not just a blog but a testament to the power of design and interactivity. I’m excited about the possibilities it holds for storytelling and celebrating cultural heritage.&lt;/p&gt;

&lt;p&gt;Thank you for taking the time to view my submission. I hope you enjoy exploring Narriva as much as I enjoyed building it!&lt;/p&gt;




&lt;p&gt;Let me know if there’s anything you’d like to refine or add!&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>frontendchallenge</category>
      <category>css</category>
      <category>javascript</category>
    </item>
    <item>
      <title>Alieno Mercury-Combat</title>
      <dc:creator>Uzondu</dc:creator>
      <pubDate>Sun, 29 Sep 2024 23:16:25 +0000</pubDate>
      <link>https://dev.to/uzondu9/alieno-mercury-combat-3mnb</link>
      <guid>https://dev.to/uzondu9/alieno-mercury-combat-3mnb</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/webgame"&gt;Web Game Challenge&lt;/a&gt;, Build a Game: Alien Edition&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;I built a Tower-Defense game based on an Alien theme.&lt;br&gt;
The aim of the game is to clear all enemies before they arrive at your defenders base(This is the other side of the battlefield). Basically your trying to dominate Mercury but there are life threatening creatures inhabitants and you need to defeat them; you will to gain resources and know what combination of defenders you will use. This game allows for flexible tactics and can be retro.&lt;/p&gt;

&lt;h3&gt;
  
  
  About game
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Browser compatibility: Desktops and large screens(900px +)&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Game Features
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Defender types: 3&lt;/li&gt;
&lt;li&gt;Alien types 3 (Armored trees, Giant insects and UFO's)&lt;/li&gt;
&lt;li&gt;Air Battle Ships (Part of defender types)&lt;/li&gt;
&lt;li&gt;2 types of Soldiers (Part of defender types);&lt;/li&gt;
&lt;li&gt;Fairly good animation&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Demo
&lt;/h2&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%2Fgtxckauhphuhv87eit8g.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.amazonaws.com%2Fuploads%2Farticles%2Fgtxckauhphuhv87eit8g.png" alt="Menu Image" width="800" height="375"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://uzondu9.github.io/Alieno-Mercury-Combat/" rel="noopener noreferrer"&gt;Live Site&lt;/a&gt;&lt;br&gt;
&lt;a href="https://github.com/uzondu9/Alieno-Mercury-Combat" rel="noopener noreferrer"&gt;GitHub Repo&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Journey
&lt;/h2&gt;

&lt;p&gt;Step 1: I created a canvas of specific with and height and some basic boilerplate&lt;/p&gt;

&lt;p&gt;Step 2: I used canvas rectangles for both enemies and defenders, I also created the logic; HTML canvas element, JavaScript classes and JavaScript DOM all came in handy. &lt;/p&gt;

&lt;p&gt;Step 3: I replaced shapes with sprite sheets and animations which made the game beautiful and whole lot better.&lt;/p&gt;

&lt;h3&gt;
  
  
  What I wish I could do:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Make it responsive on mobiles; I cannot do this in this game because the mouse hovering for collecting resources is a very important aspect of the game.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Make the canvas width less constrained, right now its in pixel values.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I would appreciate it if I could get feedback on how I could improve on the game, for example, making it responsive or fishing out hidden bugs(though I debugged it almost all the time). Thanks in advance everyone helping me achieve &lt;strong&gt;my own model&lt;/strong&gt; of &lt;em&gt;Plants vs Zombies&lt;/em&gt; by EA&lt;/p&gt;

&lt;h3&gt;
  
  
  Licence
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Apache License
&lt;/h4&gt;

&lt;p&gt;Version 2.0, January 2004&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>gamechallenge</category>
      <category>gamedev</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Cricket league landing page</title>
      <dc:creator>Uzondu</dc:creator>
      <pubDate>Fri, 02 Aug 2024 21:48:25 +0000</pubDate>
      <link>https://dev.to/uzondu9/cricket-league-landing-page-232d</link>
      <guid>https://dev.to/uzondu9/cricket-league-landing-page-232d</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for &lt;a href="https://dev.to/challenges/frontend-2024-07-24"&gt;Frontend Challenge v24.07.24&lt;/a&gt;, Glam Up My Markup: Recreation&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;I designed and built a two column webpage, supposedly, for a cricket league based in New York. Glossed with rich graphics, it provides elaborate information, inviting interested participants to join the league.&lt;/p&gt;

&lt;h2&gt;
  
  
  Demo
&lt;/h2&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%2F07ornk0pjexty70i4as8.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.amazonaws.com%2Fuploads%2Farticles%2F07ornk0pjexty70i4as8.png" alt="Project page image" width="800" height="487"&gt;&lt;/a&gt;&lt;br&gt;
Here is the link to the code: &lt;a href="https://github.com/uzondu9/dev.to-frontendChallange3/tree/main"&gt;GitHub code link&lt;/a&gt;.&lt;br&gt;
Here is the live site: &lt;a href="https://uzondu9.github.io/dev.to-frontendChallange3/"&gt;Webpage link&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Journey
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Initial stage
&lt;/h3&gt;

&lt;p&gt;I started with the designing and planning the layout of the page. I also thought ahead of making the page responsive to mobile devices and put that to paper as well (Don’t worry I’ll be publishing a more detailed post on my steps to planning and designing a webpage soon; so stay tuned!).  After following through the design process, I began creating the code files for the page.&lt;/p&gt;

&lt;h3&gt;
  
  
  Middle stage
&lt;/h3&gt;

&lt;p&gt;I used JavaScript to relocate the elements to suite the two-column page I had in mind; I created new elements for new purposes, then partly edited the initial HTML structure. With some additional inline tags to contain text which I needed to style separately, I used CSS to style the page in steps, following the hierarchy of the page elements. &lt;/p&gt;

&lt;h3&gt;
  
  
  End stage
&lt;/h3&gt;

&lt;p&gt;I integrated the images (Which I got from Unsplash and Freepik) to give the page the final feel I aimed for. I also made sure the page would be responsive across common devices. &lt;/p&gt;

&lt;p&gt;This is a solo project created by &lt;a href="https://dev.to/uzondu9"&gt;Uzondu&lt;/a&gt;&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>frontendchallenge</category>
      <category>css</category>
      <category>javascript</category>
    </item>
    <item>
      <title>Earth Day Celebration</title>
      <dc:creator>Uzondu</dc:creator>
      <pubDate>Sun, 28 Apr 2024 16:59:37 +0000</pubDate>
      <link>https://dev.to/uzondu9/earth-day-celebration-4le9</link>
      <guid>https://dev.to/uzondu9/earth-day-celebration-4le9</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for &lt;a href="https://dev.to/devteam/join-us-for-the-next-frontend-challenge-earth-day-edition-52e4"&gt;Frontend Challenge v24.04.17&lt;/a&gt;, Glam Up My Markup: Earth Day Celebration Landing Page&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;I built a mini-site (one-page) for the Earth day celebration. The goal was to organize the given content in a more defined manner, using a book-like widget.&lt;br&gt;
I aspired to and succeeded in creating something useful, interactive and responsive; I adapted it to be useful on a laptops, tablets and smartphones. &lt;/p&gt;

&lt;h2&gt;
  
  
  Demo
&lt;/h2&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%2Fll6v2qurkcw6zfl6bn5a.jpeg" 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%2Fll6v2qurkcw6zfl6bn5a.jpeg" alt="The Earth day Widget" width="800" height="443"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="http://earthday.mywebcommunity.org/" rel="noopener noreferrer"&gt;Live Demo&lt;/a&gt;
&lt;/h3&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/uzondu9/frontend-project2" rel="noopener noreferrer"&gt;Here is the link to the code on Github&lt;/a&gt;
&lt;/h3&gt;

&lt;h2&gt;
  
  
  Journey
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Setting up
&lt;/h3&gt;

&lt;p&gt;I started off with creating the structure which provided the template for the project. I particularly liked the layout of my encyclopedia’s historic contents, so I decided to adopt the same in organizing the contents of the page. &lt;/p&gt;

&lt;h3&gt;
  
  
  Crucial stage
&lt;/h3&gt;

&lt;p&gt;I began converting my blueprint, to code. Each section of the site would be distinguished from the others. The first section would be at full width and also contain the hero section. But the header section only contained a heading, so I transferred the ‘Take action ‘section to the header using JavaScript. It seemed to me as the best hero section amongst the others.&lt;br&gt;
Looking again at the structure of my encyclopedia, I noticed how the presentation of ‘did-you-know’ section was distinguished from the rest of the content. So I adapted this to my site, giving the section a lesser width than half, on the laptop screen. The rest of the content was contained in the remaining width, since I used sliding for navigation of the content. I then decorated the footer.&lt;br&gt;
 I used media queries to make the site responsive and also created a quiz widget that would appear on a button click.&lt;/p&gt;

&lt;h3&gt;
  
  
  Ending
&lt;/h3&gt;

&lt;p&gt;Once done, I took the project for a test drive, fixed all errors, completed my links and added some final touches. The site’s responsiveness was not exactly… flawless. Some content and elements weren’t positioned as I would have loved. However, I didn’t want to risk putting myself in a quagmire, trying to fix things that were already functional; especially not being very conversant with those aspects of the programming language. For me I learned media queries only recently. The images I used in this project were from Adobe istock. It’s a good place to source some free images.&lt;br&gt;
So finally I marked up the boilerplate; I ‘cooked’ it in a way that seemed best to me.&lt;br&gt;
 I probably could have done it better; but certainly feel a sense of achievement and progress. &lt;/p&gt;

&lt;h3&gt;
  
  
  Take a look at the quiz widget
&lt;/h3&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%2Fhtaek1n9j8898rsff6ia.jpeg" 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%2Fhtaek1n9j8898rsff6ia.jpeg" alt="A quiz image" width="800" height="385"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  This is a solo project , I am the only coder behind it
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://dev.to/uzondu9"&gt;Uzondu9&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/uzondu9/frontend-project2/blob/main/LICENSE" rel="noopener noreferrer"&gt;MIT License&lt;/a&gt;&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>frontendchallenge</category>
      <category>css</category>
      <category>javascript</category>
    </item>
    <item>
      <title>API EXPOSED</title>
      <dc:creator>Uzondu</dc:creator>
      <pubDate>Sat, 30 Mar 2024 23:31:11 +0000</pubDate>
      <link>https://dev.to/uzondu9/api-exposed-398g</link>
      <guid>https://dev.to/uzondu9/api-exposed-398g</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for DEV Challenge v24.03.20, One Byte Explainer: Browser API or Feature.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Explainer
&lt;/h2&gt;

&lt;p&gt;API stands for Application Programming Interface, a set of rules that allows software programs to communicate with each other. DOM stands for Document Object Model, a programming interface for HTML/XML documents that represents the structure of a document and allows manipulation.&lt;/p&gt;

&lt;h2&gt;
  
  
  Additional Context
&lt;/h2&gt;

&lt;p&gt;The Document Object Model (DOM) is a programming interface for web documents. It represents the page so that programs can change the document structure, style, and content&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%2F6ejfaaxfc0esc14ggvcr.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.amazonaws.com%2Fuploads%2Farticles%2F6ejfaaxfc0esc14ggvcr.png" alt=" " width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>frontendchallenge</category>
      <category>devchallenge</category>
      <category>javascript</category>
      <category>webdev</category>
    </item>
    <item>
      <title>"GLAM UP MY MARKUP" Submission Template.</title>
      <dc:creator>Uzondu</dc:creator>
      <pubDate>Sat, 30 Mar 2024 22:08:50 +0000</pubDate>
      <link>https://dev.to/uzondu9/glam-up-my-markup-submission-template-4cp5</link>
      <guid>https://dev.to/uzondu9/glam-up-my-markup-submission-template-4cp5</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for DEV Challenge v24.03.20, Glam Up My Markup: Camp Activities&lt;/em&gt;✨&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;Starting with the provided HTML, I built a form to gather data from prospective camp participants. Beautifully styled with CSS, I employed JavaScript to make it interactive. It has a dynamic and attractive beach-camp background. The original HTML was not edited.&lt;/p&gt;

&lt;h2&gt;
  
  
  Demo
&lt;/h2&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%2Fjz9w1vnaz6n5sw9hm3jq.jpeg" 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%2Fjz9w1vnaz6n5sw9hm3jq.jpeg" alt="Camp Inquiry Form" width="800" height="385"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;The Code&lt;/strong&gt;&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;html lang="en"&amp;gt;

&amp;lt;head&amp;gt;
  &amp;lt;meta charset="UTF-8"&amp;gt;
  &amp;lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&amp;gt;
  &amp;lt;title&amp;gt;&amp;lt;/title&amp;gt;
  &amp;lt;style&amp;gt;
    body {
      font-family: Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif;
      background-repeat: no-repeat;
      background-image: url(Summer_Camp.png);
      background-size: cover;
      background-repeat: no-repeat;
      background-position: center;
      max-width: 1250px;
      box-sizing: border-box;
      animation: day 16s ease infinite;
    }

    @keyframes day {
      10% {
        background-image: linear-gradient(rgba(0, 0, 0, 0.3), rgba(0, 90, 3, 0.22)), url(Summer_Camp.png);
      }

      30% {
        background-image: linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 70, 3, 0.22)), url(Summer_Camp.png);
      }

      50% {
        background-image: linear-gradient(rgba(0, 0, 0, 0.9), rgba(0, 50, 3, 0.22)), url(Summer_Camp.png);
      }

      70% {
        background-image: linear-gradient(rgba(0, 0, 0, 1), rgba(0, 0, 3, 0.7)), url(Summer_Camp.png);
      }

      90% {
        background-image: linear-gradient(rgba(0, 0, 0, 0.3), rgba(0, 10, 53, 0.22)), url(Summer_Camp.png);
      }
    }

    .subMess {
      background-color: rgb(219, 243, 250);
      padding: 20px;
      padding-right: 7%;
      padding-left: 0px;
      padding-top: 2%;
      width: 63%;
      height: 55%;
      box-sizing: border-box;
      border-radius: 10px;
      border: 2px dashed #1a739dd4;
      background-image: url(tent-tree.png);
      background-size: 40%;
      background-repeat: no-repeat;
      background-position: 10%, 50%;
      position: absolute;
      margin: 30px;
      margin-left: 160px;
      margin-top: 10%;
      border: 12px solid transparent;
      border-image: url(wood-frame22.2.jpg) 40 round;
      transform: translate(34px, 20px);

    }

    .subF {
      position: relative;
      left: 55%;
      display: grid;
      padding-top: 40px;
    }

    .subH1 {
      color: #1616de;
      font-size: 32px;
      display: inline;
      padding-left: 420px;
    }

    .subF .subP {
      color: #b50936;
      font-size: 25px;
      font-weight: 550;
      font-style: italic;
      font-stretch: semi-expanded;
      font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
      position: relative;
      padding-bottom: 35px;
      padding-left: 12px;
    }

    .subF #subB {
      width: 45%;
      border-radius: 10px;
      height: 40px;
      border: 1px dashed #181818;
      background-color: teal;
      transition: 0.5s;
      transition-timing-function: linear;
      color: blanchedalmond;
      position: relative;
      left: 7px;
      font-size: 14px;
      text-transform: uppercase;
      box-sizing: border-box;
      border: 12px solid transparent;
      border-image: url(wood-frame22.2.jpg) 40 round;
    }

    .subF #subB:hover {
      border-image: url(wood-frame22.2.jpg) 40 round;
      transform: scale(1.1);
      opacity: 1;

    }

    #camp-activities-inquiry {
      background: lightblue;
      position: relative;
      padding: 25px;
      padding-right: 10%;
      width: 66%;
      box-sizing: border-box;
      border-radius: 10px;
      border: 20px solid transparent;
      background-image: url(tent-tree.png);
      background-size: 40%;
      background-repeat: no-repeat;
      background-position: 10%, 65%;
      margin: 30px;
      margin-left: 150px;
      transform: translate(60px, 20px);
      border-image: url(wood-frame22.2.jpg) 50 round;
    }

    form {
      position: relative;
      margin-top: 4%;
      left: 380px;
      display: flex;
      flex-direction: column;
      width: 80%;
    }

    label {
      color: brown;
      font-size: 14px;
      font-weight: 500;
      font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
    }


    h1 {
      color: #1616de;
      padding-left: 400px;
      padding-top: 20px;
      font-size: 22px;
      display: inline;
      animation: anime 36s infinite;

    }

    @keyframes anime {
      25% {
        color: teal;
      }

      50% {
        color: #b80f0f;
      }

    }

    #activity-select {
      margin-top: 10px;
      margin-bottom: 20px;
      width: 65%;
      height: 40px;
      border-radius: 12px;
      font-weight: 700;
      font-family: Verdana, Geneva, Tahoma, sans-serif;
      color: palevioletred;
    }

    #NewFoodAllergies {
      width: 65%;
      height: 40px;
      border-radius: 12px;
      font-weight: 700;
      font-family: Verdana, Geneva, Tahoma, sans-serif;
      color: palevioletred;
    }

    #additional-info {
      margin-top: 5px;
      margin-bottom: 20px;
      width: 65%;
      height: 5.0em;
      border-radius: 5px;
      color: seagreen;
      font-size: 17px;
      font-weight: 600;
      font-family: 'Times New Roman', Times, serif;
      border-top-right-radius: 50px 20px;
    }

    #button {
      width: 65%;
      border-radius: 10px;
      height: 40px;
      border: 1px dashed #181818;
      background-color: teal;
      transition: 0.5s;
      transition-timing-function: linear;
      color: blanchedalmond;
      position: relative;
      left: 5px;
      font-size: 14px;
      text-transform: uppercase;
      box-sizing: border-box;
      border: 12px solid transparent;
      border-image: url(wood-frame22.2.jpg) 40 round;
    }

    #button:hover {
      border-image: url(wood-frame22.2.jpg) 40 round;
      transform: scale(1.1);
      opacity: 1;

    }

    .errorA {
      animation: error 2s linear infinite;
    }

    @keyframes error {
      from {
        border: 3px solid red
      }

      to {
        border: none;
      }
    }

    #label2 {
      transform: translateY(24px);
    }

    #label0 {
      transform: translateY(10px);
    }
  &amp;lt;/style&amp;gt;
&amp;lt;/head&amp;gt;

&amp;lt;body&amp;gt;
  &amp;lt;section id="camp-activities-inquiry"&amp;gt;
    &amp;lt;h1&amp;gt;Camp Activities Inquiry&amp;lt;/h1&amp;gt;
    &amp;lt;form action="/submit-form" method="POST"&amp;gt;
      &amp;lt;label for="activity-select"&amp;gt;Which camp activities are you most looking forward to?&amp;lt;/label&amp;gt;
      &amp;lt;select id="activity-select" name="activity"&amp;gt;
        &amp;lt;option value=""&amp;gt;--Please choose an option--&amp;lt;/option&amp;gt;
        &amp;lt;option value="hiking"&amp;gt;Hiking&amp;lt;/option&amp;gt;
        &amp;lt;option value="canoeing"&amp;gt;Canoeing&amp;lt;/option&amp;gt;
        &amp;lt;option value="fishing"&amp;gt;Fishing&amp;lt;/option&amp;gt;
        &amp;lt;option value="crafts"&amp;gt;Crafts&amp;lt;/option&amp;gt;
        &amp;lt;option value="archery"&amp;gt;Archery&amp;lt;/option&amp;gt;
      &amp;lt;/select&amp;gt;
      &amp;lt;label for="food-allergies"&amp;gt;Food Allergies (if any)&amp;lt;/label&amp;gt;
      &amp;lt;textarea id="food-allergies" name="food_allergies" rows="4" cols="50"&amp;gt;&amp;lt;/textarea&amp;gt;
      &amp;lt;label for="additional-info"&amp;gt;Additional things the counselor should know&amp;lt;/label&amp;gt;
      &amp;lt;br&amp;gt;
      &amp;lt;textarea id="additional-info" name="additional_info" rows="4" cols="50"&amp;gt;&amp;lt;/textarea&amp;gt;
      &amp;lt;button type="submit"&amp;gt;Submit&amp;lt;/button&amp;gt;
    &amp;lt;/form&amp;gt;
  &amp;lt;/section&amp;gt;
  &amp;lt;script&amp;gt;
    let main = document.getElementById("camp-activities-inquiry");
    let btn = document.getElementsByTagName("button")[0];
    let body = document.getElementsByTagName("body")[0];

    let foodAllergies = document.getElementsByTagName("textarea")[0];
    let addInfo = document.getElementsByTagName("textarea")[1];
    let activitySelect = document.getElementsByTagName("select")[0];

    let label2 = document.getElementsByTagName("label")[2];
    label2.setAttribute("id", "label2");

    let label0 = document.getElementsByTagName("label")[0];
    label0.setAttribute("id", "label0");

    btn.setAttribute("id", "button");

    let messBox = document.createElement("div");
    messBox.classList.add("class", "subMess");

    let messBoxH1 = document.createElement("h1");
    messBoxH1.classList.add("class", "subH1");
    messBoxH1.innerHTML = "Thanks for the feedback";

    let messBoxP = document.createElement("p");
    messBoxP.classList.add("class", "subP")
    messBoxP.innerHTML = "Want to send another inquiry?";

    let messBoxButt = document.createElement("button");
    messBoxButt.id = 'subB';
    messBoxButt.innerHTML = "Send Another";

    let messForm = document.createElement("div");
    messForm.classList.add("class", "subF");

    messForm.append(messBoxP, messBoxButt);
    messBox.append(messBoxH1, messForm);

    let NewFoodAllergies = document.createElement("select");
    NewFoodAllergies.id = "NewFoodAllergies";

    var optionAA = document.createElement("option");
    optionAA.text = "--Please choose an option--";
    optionAA.value = "";


    var optionA = document.createElement("option");
    optionA.text = "None";

    var option1 = document.createElement("option");
    option1.text = "Milk";

    var option2 = document.createElement("option");
    option2.text = "Eggs";

    var option3 = document.createElement("option");
    option3.text = "Caffiene";

    var option4 = document.createElement("option");
    option4.text = "Peanuts";

    var option5 = document.createElement("option");
    option5.text = "Tree Nuts";

    var option6 = document.createElement("option");
    option6.text = "Seaseme";

    var option7 = document.createElement("option");
    option7.text = "Soy";

    var option8 = document.createElement("option");
    option8.text = "Fish";

    var option9 = document.createElement("option");
    option9.text = "ShellFish";

    var option10 = document.createElement("option");
    option10.text = "Wheat";

    var option11 = document.createElement("option");
    option11.text = "Celery";

    var option12 = document.createElement("option");
    option12.text = "Carrot";

    var option13 = document.createElement("option");
    option13.text = "Avacado";

    var option14 = document.createElement("option");
    option14.text = "Bell Pepper";

    var option15 = document.createElement("option");
    option15.text = "Potato";

    var option16 = document.createElement("option");
    option16.text = "Pumpkin";

    var option17 = document.createElement("option");
    option17.text = "Mushroom";

    var option18 = document.createElement("option");
    option18.text = "Onion";

    var option19 = document.createElement("option");
    option19.text = "Mustard";

    var option20 = document.createElement("option");
    option20.text = "Spices";

    foodAllergies.replaceWith(NewFoodAllergies);

    NewFoodAllergies.add(optionAA);
    NewFoodAllergies.add(optionA);
    NewFoodAllergies.add(option1);
    NewFoodAllergies.add(option2);
    NewFoodAllergies.add(option3);
    NewFoodAllergies.add(option4);
    NewFoodAllergies.add(option5);
    NewFoodAllergies.add(option6);
    NewFoodAllergies.add(option7);
    NewFoodAllergies.add(option8);
    NewFoodAllergies.add(option9);
    NewFoodAllergies.add(option10);
    NewFoodAllergies.add(option11);
    NewFoodAllergies.add(option12);
    NewFoodAllergies.add(option13);
    NewFoodAllergies.add(option14);
    NewFoodAllergies.add(option15);
    NewFoodAllergies.add(option16);
    NewFoodAllergies.add(option17);
    NewFoodAllergies.add(option18);
    NewFoodAllergies.add(option19);
    NewFoodAllergies.add(option20);

    let connect = true;
    function valid() {
      if (NewFoodAllergies.value === "" &amp;amp;&amp;amp; activitySelect.value === "") {
         NewFoodAllergies.setAttribute("class", "errorA");
         activitySelect.setAttribute("class", "errorA");
         connect = false;
      }
      else if(NewFoodAllergies.value !== "" &amp;amp;&amp;amp; activitySelect.value !== ""){
        NewFoodAllergies.removeAttribute("class", "errorA");
        activitySelect.removeAttribute("class", "errorA");
        connect = true;
      }
      else if (NewFoodAllergies.value !== "" &amp;amp;&amp;amp; activitySelect.value === "" ) {
         activitySelect.setAttribute("class", "errorA");
          NewFoodAllergies.removeAttribute("class", "errorA");
         connect = false;
      }
      else if(NewFoodAllergies.value === "" &amp;amp;&amp;amp; activitySelect.value !== ""){
         NewFoodAllergies.setAttribute("class", "errorA");
        activitySelect.removeAttribute("class", "errorA");
        connect = false;
      }
    }


    btn.onclick = (x) =&amp;gt; {
      valid();
      x.preventDefault();
      if(connect == true){
        main.style.display = "none";
        body.appendChild(messBox);
        messBox.style.display = "block";
      }
    }    


    messBoxButt.addEventListener("click", function (y) {
      y.preventDefault();
      NewFoodAllergies.value = "";
      activitySelect.value == "";
      addInfo.value = "";
      messBox.style.display = "none";
      main.style.display = "block";

    });

  &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;Here is the link to the code on GitHub&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/uzondu9/frontend-project/edit/main/index.html#L3C6" rel="noopener noreferrer"&gt;https://github.com/uzondu9/frontend-project/edit/main/index.html#L3C6&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here's is the webpage;&lt;br&gt;
&lt;a href="http://campactivities.mywebcommunity.org/" rel="noopener noreferrer"&gt;http://campactivities.mywebcommunity.org/&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  My Journey
&lt;/h2&gt;

&lt;p&gt;A green-horn, I joined the DEV community a day after the challenge was announced. As a self-tutored coding student, I felt it was a good opportunity to try my new and developing skills in the public domain. Perhaps, I could learn a lot more from others by participating. &lt;br&gt;
I chose ‘Glam up My Markup’ because I am currently learning HTML, CSS and JavaScript. I feel it is time to begin applying what I learn to small projects. I attempted working in Codepen to enable me embed my project directly in the submission template, but found it’s an environment I’m not yet quite familiar with. So I stuck with VScode with which I am more at home.&lt;/p&gt;

&lt;p&gt;At first, I found it difficult to create what I had in mind without touching the starting HTML, but refused to be deterred by that challenge. Not sure of other options then, I initially gave IDs and classes to the HTML.  I also added break tags(br) right in the HTML  file to improve the semantics/structure  of  the form. These were to lay foundations for the CSS codes. But then, determined to stick to the instructions, I decided to spend some time studying the DOM to see if I could learn how to add some flare to the HTML via JavaScript without touching the HTML. Thankfully, I was able to gain some insight on the DOM. Then I undid my previous touching on the HTML, except for two specific edits for the purpose of Event Listeners. I eventually cleared that up after using arrays along side &lt;em&gt;document.getElementByTagNames&lt;/em&gt; selectors.&lt;/p&gt;

&lt;h3&gt;
  
  
  Please, for you all to note:
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;This is my first time in an official dev challenge&lt;/em&gt;&lt;br&gt;
Like I said earlier, I joined the community only a day before the challenge was announced; and I am really new to coding. I am actually submitting my project late because I was learning new tricks to give it the best I can for now. That takes time!&lt;/p&gt;

&lt;p&gt;Since this is my very first time writing a post, it may not be quite forthcoming, but I believe I'll learn as we go. &lt;/p&gt;

&lt;h3&gt;
  
  
  So pals,
&lt;/h3&gt;

&lt;p&gt;Through new knowledge, I eventually created the project nearly as I conceived; without touching a single line of the HTML.&lt;br&gt;
And if you notice, my project presents transiting background shades. Yep! there has to be day and night camp times after all (&lt;a href="https://www.w3schools.com/cssref/func_linear-gradient.php" rel="noopener noreferrer"&gt;linear gradient animation&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;And for me, the result feels great, given my basic knowledge and experience in the HTML, CSS and JavaScript.&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%2Ft5pik2q75ww3nufari4d.jpg" 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%2Ft5pik2q75ww3nufari4d.jpg" alt="A HTML CSS JAVASCRIPT ICON" width="564" height="312"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Finally,
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;I will really appreciate any comments and ideas on how I can improve on the project. I really look forward to growing with this community.&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Hopefully, I will be coming back stronger🕵️‍♂️ ; &lt;/p&gt;

&lt;p&gt;&lt;em&gt;*&lt;em&gt;more knowledge better projects&lt;/em&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Thanks to dev.to for uploading this challenge 😍&lt;br&gt;
It has really &lt;del&gt;helped&lt;/del&gt; forced me to improve on my coding skills.&lt;/p&gt;

&lt;p&gt;MIT License&lt;/p&gt;

&lt;p&gt;Copyright (c) 2024 uzondu9&lt;/p&gt;

&lt;p&gt;Permission is hereby granted, free of charge, to any person obtaining a copy&lt;br&gt;
of this software and associated documentation files (the "Software"), to deal&lt;br&gt;
in the Software without restriction, including without limitation the rights&lt;br&gt;
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell&lt;br&gt;
copies of the Software, and to permit persons to whom the Software is&lt;br&gt;
furnished to do so, subject to the following conditions:&lt;/p&gt;

&lt;p&gt;The above copyright notice and this permission notice shall be included in all&lt;br&gt;
copies or substantial portions of the Software.&lt;/p&gt;

&lt;p&gt;THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR&lt;br&gt;
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,&lt;br&gt;
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE&lt;br&gt;
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER&lt;br&gt;
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,&lt;br&gt;
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE&lt;br&gt;
SOFTWARE.&lt;/p&gt;

</description>
      <category>frontendchallenge</category>
      <category>devchallenge</category>
      <category>css</category>
      <category>javascript</category>
    </item>
  </channel>
</rss>
