<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Alabi Temitope</title>
    <description>The latest articles on Forem by Alabi Temitope (@toptech5419).</description>
    <link>https://forem.com/toptech5419</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%2F1466485%2F1fe28b9c-e516-40b9-b5ad-c55b4e4f60bc.jpg</url>
      <title>Forem: Alabi Temitope</title>
      <link>https://forem.com/toptech5419</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/toptech5419"/>
    <language>en</language>
    <item>
      <title>My 10-Day React Journey: Rebuilding Foundations on Scrimba</title>
      <dc:creator>Alabi Temitope</dc:creator>
      <pubDate>Thu, 22 May 2025 04:40:57 +0000</pubDate>
      <link>https://forem.com/toptech5419/my-10-day-react-journey-rebuilding-foundations-on-scrimba-471b</link>
      <guid>https://forem.com/toptech5419/my-10-day-react-journey-rebuilding-foundations-on-scrimba-471b</guid>
      <description>&lt;p&gt;&lt;strong&gt;From Planning to Building: Strengthening My React Skills&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;After months of planning ambitious full-stack projects, I faced a moment of clarity. While I had worked with React before, I realized my foundation needed strengthening before tackling the complex applications I had envisioned. This led me to Scrimba's React course — a decision that transformed my development approach.&lt;/p&gt;

&lt;p&gt;Here's my journey through 10 days of focused React learning, from basics to building a functional AI-powered recipe app.&lt;/p&gt;

&lt;h2&gt;
  
  
  Day 111: Back to Basics
&lt;/h2&gt;

&lt;p&gt;I started my journey by revisiting React fundamentals on Scrimba. Even with prior experience, I found myself discovering fresh concepts and filling knowledge gaps. The interactive learning environment made revision engaging rather than tedious.&lt;/p&gt;

&lt;p&gt;The day focused on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Core React principles&lt;/li&gt;
&lt;li&gt;Setting up a development environment&lt;/li&gt;
&lt;li&gt;Creating static pages&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;What surprised me most was how much I'd forgotten or never properly learned in the first place. This reinforced my decision to rebuild from the ground up.&lt;/p&gt;

&lt;h2&gt;
  
  
  Day 112: Completing React Fundamentals
&lt;/h2&gt;

&lt;p&gt;Day two saw me completing Section 1 of the course, covering:&lt;/p&gt;

&lt;p&gt;✅ Why React exists and its advantages&lt;br&gt;&lt;br&gt;
✅ Development environment setup&lt;br&gt;&lt;br&gt;
✅ JSX syntax and patterns&lt;br&gt;&lt;br&gt;
✅ Component architecture&lt;br&gt;&lt;br&gt;
✅ Styling approaches  &lt;/p&gt;

&lt;p&gt;I built my first static page from scratch, solidifying these concepts through practice rather than just theory. The satisfaction of seeing something tangible, even if simple, provided motivation to continue.&lt;/p&gt;

&lt;h2&gt;
  
  
  Day 113: Component Communication
&lt;/h2&gt;

&lt;p&gt;This day brought a significant breakthrough in understanding data flow between components:&lt;/p&gt;

&lt;p&gt;✅ Passing data into child components&lt;br&gt;&lt;br&gt;
✅ Properly receiving and utilizing props&lt;br&gt;&lt;br&gt;
✅ Component composition patterns  &lt;/p&gt;

&lt;p&gt;While I had used props before, truly understanding the patterns and best practices made everything click in a new way. The foundation for truly dynamic applications was taking shape.&lt;/p&gt;

&lt;h2&gt;
  
  
  Day 114: The Power of Reusability
&lt;/h2&gt;

&lt;p&gt;Completing Section 2 on data-driven React felt like unlocking a superpower:&lt;/p&gt;

&lt;p&gt;• I finally understood why component reusability is React's greatest strength&lt;br&gt;&lt;br&gt;
• Transformed static elements into dynamic, data-powered components&lt;br&gt;&lt;br&gt;
• Built entire pages from data arrays efficiently  &lt;/p&gt;

&lt;p&gt;This approach to thinking about UI as a function of data rather than hardcoded elements completely changed my mental model for building applications.&lt;/p&gt;

&lt;h2&gt;
  
  
  Day 115: Entering the Interactive World
&lt;/h2&gt;

&lt;p&gt;Starting Section 3 introduced state management through a practical project - Chef Claude (a cooking application):&lt;/p&gt;

&lt;p&gt;• Implemented React event listeners&lt;br&gt;&lt;br&gt;
• Established foundations for state management&lt;br&gt;&lt;br&gt;
• Planned the interactive elements  &lt;/p&gt;

&lt;p&gt;For the first time, I could see how truly interactive UIs would come to life through state management. The theoretical understanding was transforming into practical application.&lt;/p&gt;

&lt;h2&gt;
  
  
  Day 116: State in Action
&lt;/h2&gt;

&lt;p&gt;Day 116 was all about implementation:&lt;/p&gt;

&lt;p&gt;• Mastered useState() hooks for practical scenarios&lt;br&gt;&lt;br&gt;
• Built proper state initialization patterns&lt;br&gt;&lt;br&gt;
• Created dynamic state updates based on user interaction  &lt;/p&gt;

&lt;p&gt;Chef Claude's first interactive features were working! Seeing the application respond to user actions reinforced how powerful React's state management can be when properly implemented.&lt;/p&gt;

&lt;h2&gt;
  
  
  Day 117: Forms Mastery
&lt;/h2&gt;

&lt;p&gt;Forms had always been a pain point in my React development, but Day 117 changed that:&lt;/p&gt;

&lt;p&gt;✅ Implemented React 19's form handling patterns&lt;br&gt;&lt;br&gt;
✅ Built controlled components that maintained synchronization&lt;br&gt;&lt;br&gt;
✅ Created proper validation patterns  &lt;/p&gt;

&lt;p&gt;Forms finally made intuitive sense rather than feeling like fighting against the framework.&lt;/p&gt;

&lt;h2&gt;
  
  
  Day 118: Conditional Rendering
&lt;/h2&gt;

&lt;p&gt;Transforming Chef Claude's UI with efficient conditional rendering:&lt;/p&gt;

&lt;p&gt;• Replaced bulky if-else blocks with ternary operators&lt;br&gt;&lt;br&gt;
• Created clean, readable conditional rendering patterns&lt;br&gt;&lt;br&gt;
• Built smarter, more responsive interfaces  &lt;/p&gt;

&lt;p&gt;This seemingly small optimization made the code significantly more readable and maintainable.&lt;/p&gt;

&lt;h2&gt;
  
  
  Day 119: Project Complete - Gemini Chef!
&lt;/h2&gt;

&lt;p&gt;The excitement of completing a functional project - Chef Claude evolved into Gemini Chef:&lt;/p&gt;

&lt;p&gt;🔹 Integrated Gemini API for AI-powered recipes&lt;br&gt;&lt;br&gt;
🔹 Applied all concepts learned throughout the course:  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Event handling
&lt;/li&gt;
&lt;li&gt;State management
&lt;/li&gt;
&lt;li&gt;Conditional rendering
&lt;/li&gt;
&lt;li&gt;Form processing
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Seeing all these concepts work together in a cohesive application was incredibly satisfying.&lt;/p&gt;

&lt;h2&gt;
  
  
  Day 120: Production Refinement
&lt;/h2&gt;

&lt;p&gt;The final day focused on transforming Gemini Chef from a learning project to a production-ready application:&lt;/p&gt;

&lt;p&gt;✅ Added loading states to improve user experience&lt;br&gt;&lt;br&gt;
✅ Implemented auto-scroll to recipes after loading&lt;br&gt;&lt;br&gt;
✅ Built robust input validation&lt;br&gt;&lt;br&gt;
✅ Created responsive design for all devices&lt;br&gt;&lt;br&gt;
✅ Refactored code for maintainability  &lt;/p&gt;

&lt;p&gt;These refinements transformed a functional prototype into something I'm proud to share publicly. The live application is now available at &lt;a href="https://gemini-chef.vercel.app" rel="noopener noreferrer"&gt;https://gemini-chef.vercel.app&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I've Learned Beyond React
&lt;/h2&gt;

&lt;p&gt;This journey taught me more than just React concepts. I learned:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;The value of rebuilding foundations&lt;/strong&gt; - Even with prior experience, revisiting basics revealed critical gaps in my knowledge.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Learning in public&lt;/strong&gt; - Documenting my journey helped solidify concepts and created accountability.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Building practical projects&lt;/strong&gt; - Theory only becomes useful when applied to solving real problems.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Perseverance matters&lt;/strong&gt; - Despite challenging months personally, consistent learning (even in small chunks) produced meaningful progress.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Next Steps: Full Stack Expansion
&lt;/h2&gt;

&lt;p&gt;With a strengthened React foundation, I'm now better prepared to tackle the full-stack projects I originally planned. Next on my learning path:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;TypeScript integration with React&lt;/li&gt;
&lt;li&gt;Backend development with Node.js&lt;/li&gt;
&lt;li&gt;Database design and implementation&lt;/li&gt;
&lt;li&gt;Authentication systems&lt;/li&gt;
&lt;li&gt;Deployment pipelines&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The journey to becoming a complete full-stack developer continues, but this React foundation will serve as the cornerstone for everything I build moving forward.&lt;/p&gt;

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

&lt;p&gt;If you're considering a similar learning journey, I highly recommend Scrimba's interactive approach. The combination of video instruction and live coding environments accelerated my understanding far beyond what documentation alone could provide.&lt;/p&gt;

&lt;p&gt;Despite life's inevitable challenges, finding even small pockets of time to learn consistently has compounded into significant skill development. The key was persistence rather than perfection.&lt;/p&gt;

&lt;p&gt;I look forward to sharing more of my development journey as I expand into full-stack development. The Gemini Chef project represents just the beginning of what's possible with these strengthened React skills.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Follow my continued learning journey:&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Twitter: &lt;a href="https://x.com/Toptech5419" rel="noopener noreferrer"&gt;https://x.com/Toptech5419&lt;/a&gt;&lt;br&gt;&lt;br&gt;
LinkedIn: &lt;a href="https://www.linkedin.com/in/toptech5419/" rel="noopener noreferrer"&gt;https://www.linkedin.com/in/toptech5419/&lt;/a&gt;&lt;br&gt;&lt;br&gt;
medium: &lt;a href="https://medium.com/@alabitemitope51" rel="noopener noreferrer"&gt;https://medium.com/@alabitemitope51&lt;/a&gt;&lt;br&gt;&lt;br&gt;
GitHub: &lt;a href="https://github.com/toptech5419" rel="noopener noreferrer"&gt;https://github.com/toptech5419&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Reviving My UI Design Journey &amp; React Progress: Days 108–110</title>
      <dc:creator>Alabi Temitope</dc:creator>
      <pubDate>Mon, 14 Apr 2025 03:27:23 +0000</pubDate>
      <link>https://forem.com/toptech5419/reviving-my-ui-design-journey-react-progress-days-108-110-49i</link>
      <guid>https://forem.com/toptech5419/reviving-my-ui-design-journey-react-progress-days-108-110-49i</guid>
      <description>&lt;p&gt;&lt;strong&gt;Day 108: Reviving UI Design Fundamentals&lt;/strong&gt;  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Focused on &lt;strong&gt;intentional design principles&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Whitespace
&lt;/li&gt;
&lt;li&gt;Color &amp;amp; Contrast
&lt;/li&gt;
&lt;li&gt;Scale
&lt;/li&gt;
&lt;li&gt;Alignment
&lt;/li&gt;
&lt;li&gt;Typography
&lt;/li&gt;
&lt;li&gt;Visual Hierarchy
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Key takeaway: Design is intentional communication.
&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Day 109: Building Simple Layouts&lt;/strong&gt;  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Completed Scrimba’s &lt;em&gt;"Building a Simple Layout"&lt;/em&gt; sub-module.
&lt;/li&gt;
&lt;li&gt;Key learnings:

&lt;ul&gt;
&lt;li&gt;Grid vs Flexbox for structural decisions
&lt;/li&gt;
&lt;li&gt;Responsive spacing techniques
&lt;/li&gt;
&lt;li&gt;Balancing content density and whitespace
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Next step: Refactor UI patterns and optimize code.
&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Day 110: UI Design Module Completion&lt;/strong&gt;  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Finished Scrimba’s UI design module.
&lt;/li&gt;
&lt;li&gt;Refactored a UI from scratch.
&lt;/li&gt;
&lt;li&gt;Progress: Bridging theory to practice.
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;What’s Next?&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Shifting focus to React Basics (Section 1: Static Pages).  &lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Connect &amp;amp; Explore&lt;/strong&gt;:&lt;br&gt;&lt;br&gt;
📝 &lt;a href="https://medium.com/@alabitemitope51" rel="noopener noreferrer"&gt;Medium&lt;/a&gt;&lt;br&gt;&lt;br&gt;
💻 &lt;a href="https://dev.to/toptech5419"&gt;Dev.to&lt;/a&gt;&lt;br&gt;&lt;br&gt;
👔 &lt;a href="https://linkedin.com/in/toptech5419/" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt;&lt;br&gt;&lt;br&gt;
🔧 &lt;a href="https://github.com/toptech5419/100-days-of-code" rel="noopener noreferrer"&gt;Code&lt;/a&gt;  &lt;/p&gt;




</description>
      <category>webdev</category>
      <category>programming</category>
      <category>javascript</category>
      <category>softwaredevelopment</category>
    </item>
    <item>
      <title>Building TravelPlanner: A React-Powered Trip Organizer</title>
      <dc:creator>Alabi Temitope</dc:creator>
      <pubDate>Sun, 23 Mar 2025 05:25:11 +0000</pubDate>
      <link>https://forem.com/toptech5419/building-travelplanner-a-react-powered-trip-organizer-h3c</link>
      <guid>https://forem.com/toptech5419/building-travelplanner-a-react-powered-trip-organizer-h3c</guid>
      <description>&lt;p&gt;As a developer passionate about solving real-world problems, I recently built &lt;strong&gt;TravelPlanner&lt;/strong&gt; — a web app that simplifies trip planning by aggregating flights, hotels, weather, and maps into a single interface. Here’s a deep dive into the project, its challenges, and what’s next.  &lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;What is TravelPlanner?&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;TravelPlanner helps users:  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Search and compare flight options
&lt;/li&gt;
&lt;li&gt;Discover hotels with ratings and pricing
&lt;/li&gt;
&lt;li&gt;Check real-time weather forecasts
&lt;/li&gt;
&lt;li&gt;Explore destinations via interactive maps
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Try the live demo: &lt;a href="https://travelplanner-henna.vercel.app/" rel="noopener noreferrer"&gt;https://travelplanner-henna.vercel.app/&lt;/a&gt;  &lt;/p&gt;




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

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Flight Search&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;Filter by price, duration, and airlines
&lt;/li&gt;
&lt;li&gt;Visual timeline for departure/arrival times
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Hotel Recommendations&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;Star ratings and price-per-night displays
&lt;/li&gt;
&lt;li&gt;Fallback images for missing hotel photos
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Weather Widget&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;Real-time temperature and conditions
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Interactive Map&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;Leaflet integration with dynamic markers
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Tech Stack&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Frontend&lt;/strong&gt;: React, TypeScript, Vite, Tailwind CSS
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;APIs&lt;/strong&gt;: Amadeus (flights/hotels), OpenWeatherMap (weather)
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Libraries&lt;/strong&gt;: React Router, Leaflet, Lucide Icons
&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Challenges &amp;amp; Solutions&lt;/strong&gt;
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;API Data Parsing&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;Flight/hotel data from Amadeus had nested structures. Solved by creating strict TypeScript interfaces and data-mapping functions.
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Error Handling&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;Implemented toast notifications for API failures and invalid destinations.
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Leaflet Map Integration&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;Fixed missing marker icons by overriding Leaflet’s default URL logic.
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Future Improvements&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;User authentication for saving trips
&lt;/li&gt;
&lt;li&gt;Booking system integration
&lt;/li&gt;
&lt;li&gt;Packing list generator based on weather
&lt;/li&gt;
&lt;li&gt;Dark mode toggle
&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Get Started Locally&lt;/strong&gt;
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Clone the repo:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   git clone https://github.com/toptech5419/100-days-of-code  
   &lt;span class="nb"&gt;cd &lt;/span&gt;plan-it-here-main  
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Install dependencies:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   npm &lt;span class="nb"&gt;install&lt;/span&gt;  
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Add API keys (Amadeus + OpenWeatherMap) to a &lt;code&gt;.env&lt;/code&gt; file.
&lt;/li&gt;
&lt;/ol&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Connect &amp;amp; Contribute&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;GitHub Repo&lt;/strong&gt;: &lt;a href="https://github.com/toptech5419/100-days-of-code" rel="noopener noreferrer"&gt;github.com/toptech5419/100-days-of-code&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;LinkedIn&lt;/strong&gt;: &lt;a href="https://www.linkedin.com/in/toptech5419/" rel="noopener noreferrer"&gt;linkedin.com/in/toptech5419&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;X (Twitter)&lt;/strong&gt;: &lt;a href="https://x.com/Toptech5419" rel="noopener noreferrer"&gt;@toptech5419&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Medium&lt;/strong&gt;: &lt;a href="https://medium.com/@alabitemitope51" rel="noopener noreferrer"&gt;medium/alabitemitope51&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;




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

&lt;p&gt;Building TravelPlanner taught me the importance of resilient API integrations and user-centric design. I’d love your feedback on the project! Whether you’re a traveler testing the app or a developer interested in contributing, let’s connect and make trip planning even better.  &lt;/p&gt;

&lt;p&gt;&lt;em&gt;Live demo&lt;/em&gt;: &lt;a href="https://travelplanner-henna.vercel.app/" rel="noopener noreferrer"&gt;https://travelplanner-henna.vercel.app/&lt;/a&gt;  &lt;/p&gt;

</description>
    </item>
    <item>
      <title>Days 101-102: Back to Frontend Learning &amp; Building a Personal Dashboard Chrome Extension</title>
      <dc:creator>Alabi Temitope</dc:creator>
      <pubDate>Fri, 14 Mar 2025 04:27:41 +0000</pubDate>
      <link>https://forem.com/toptech5419/days-101-102-back-to-frontend-learning-building-a-personal-dashboard-chrome-extension-5emk</link>
      <guid>https://forem.com/toptech5419/days-101-102-back-to-frontend-learning-building-a-personal-dashboard-chrome-extension-5emk</guid>
      <description>&lt;p&gt;After a brief internship break, I resumed my learning journey on Scrimba to strengthen my frontend development skills. Here’s what I accomplished over two days:  &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Day 101 Focus: Async JavaScript &amp;amp; Promises&lt;/strong&gt;  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Revisited promise rejection handling and error-first callbacks.
&lt;/li&gt;
&lt;li&gt;Practiced converting callback-based code to promise/async-await patterns.
&lt;/li&gt;
&lt;li&gt;Started building a personal dashboard with:

&lt;ul&gt;
&lt;li&gt;Cryptocurrency price tracking (using CoinGecko API)
&lt;/li&gt;
&lt;li&gt;Weather integration (OpenWeatherMap API)
&lt;/li&gt;
&lt;li&gt;Dynamic time display with timezone support
&lt;/li&gt;
&lt;li&gt;Background image fetching from Unsplash
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Day 102: Completing the Dashboard Chrome Extension&lt;/strong&gt;  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Implemented Chrome extension packaging for the dashboard
&lt;/li&gt;
&lt;li&gt;Added modern CSS features:

&lt;ul&gt;
&lt;li&gt;CSS variables for theme switching (light/dark modes)
&lt;/li&gt;
&lt;li&gt;Flexbox layouts for responsive design
&lt;/li&gt;
&lt;li&gt;CSS animations for data refresh indicators
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Integrated error handling with try...catch blocks
&lt;/li&gt;

&lt;li&gt;Finalized API data flow:

&lt;ul&gt;
&lt;li&gt;Async/await for parallel API calls
&lt;/li&gt;
&lt;li&gt;LocalStorage for user preferences
&lt;/li&gt;
&lt;li&gt;Chart.js integration for crypto price visualization
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Key Features of the Dashboard:&lt;/strong&gt;  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Real-time cryptocurrency prices with alerts
&lt;/li&gt;
&lt;li&gt;Current weather + 3-day forecast
&lt;/li&gt;
&lt;li&gt;Multi-timezone clock with precision updates
&lt;/li&gt;
&lt;li&gt;Customizable themes and background images
&lt;/li&gt;
&lt;li&gt;Mobile-first responsive design
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Challenges Overcome:&lt;/strong&gt;  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Managing multiple API rate limits
&lt;/li&gt;
&lt;li&gt;Synchronizing async data fetches
&lt;/li&gt;
&lt;li&gt;Implementing smooth theme transitions
&lt;/li&gt;
&lt;li&gt;Packaging as Chrome extension with service workers
&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;Add more crypto comparison features
&lt;/li&gt;
&lt;li&gt;Implement WebSocket for real-time updates
&lt;/li&gt;
&lt;li&gt;Explore IndexedDB for offline functionality
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Project Links:&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
GitHub Repo: &lt;a href="https://github.com/toptech5419/100-days-of-code.git" rel="noopener noreferrer"&gt;https://github.com/toptech5419/100-days-of-code.git&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Connect With Me:&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
LinkedIn: &lt;a href="https://www.linkedin.com/in/toptech5419" rel="noopener noreferrer"&gt;https://www.linkedin.com/in/toptech5419&lt;/a&gt;&lt;br&gt;&lt;br&gt;
X (Twitter): &lt;a href="https://x.com/Toptech5419" rel="noopener noreferrer"&gt;https://x.com/Toptech5419&lt;/a&gt;&lt;br&gt;&lt;br&gt;
Medium: &lt;a href="https://medium.com/@alabitemitope51" rel="noopener noreferrer"&gt;https://medium.com/@alabitemitope51&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;This project solidified my understanding of modern JavaScript patterns and API integrations. Onward to more complex challenges!  &lt;/p&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>javascript</category>
      <category>softwareengineering</category>
    </item>
    <item>
      <title>My HNG Internship Journey: Stage 4 — Designing a Kanban Board in Figma</title>
      <dc:creator>Alabi Temitope</dc:creator>
      <pubDate>Sun, 09 Mar 2025 10:20:56 +0000</pubDate>
      <link>https://forem.com/toptech5419/my-hng-internship-journey-stage-4-designing-a-kanban-board-in-figma-3eaa</link>
      <guid>https://forem.com/toptech5419/my-hng-internship-journey-stage-4-designing-a-kanban-board-in-figma-3eaa</guid>
      <description>&lt;p&gt;Stage 4 of the HNG Internship surprised me. After coding-focused tasks, this stage required designing a Kanban Board in Figma — a tool I had little experience with. Here’s how it went.  &lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Task Overview&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
We were asked to design a simple Kanban Board with:  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Desktop (1440px) and mobile (375px) views.
&lt;/li&gt;
&lt;li&gt;A 5-color palette, system fonts, hover states, empty states.
&lt;/li&gt;
&lt;li&gt;Components like task cards, avatars, column headers, and buttons.
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Acceptance Criteria:&lt;/strong&gt;  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Consistent spacing, typography, and visual hierarchy.
&lt;/li&gt;
&lt;li&gt;Clean Figma organization (components, styles).
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Rejection Risks:&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Poor color contrast, inconsistent styling, messy layers.  &lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Execution &amp;amp; Challenges&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
&lt;em&gt;Learning Figma Fast:&lt;/em&gt;&lt;br&gt;&lt;br&gt;
With only days to learn Figma, I watched tutorials and studied Trello/Behance examples. Basics like frames, components, and auto-layout were overwhelming at first.  &lt;/p&gt;

&lt;p&gt;&lt;em&gt;Design Struggles:&lt;/em&gt;  &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Color Hierarchy:&lt;/strong&gt; Picking complementary colors within a 5-palette limit was tricky. My initial choices lacked contrast.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Spacing Consistency:&lt;/strong&gt; Aligning elements across desktop/mobile views took multiple iterations.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Component Organization:&lt;/strong&gt; Naming layers and creating reusable components felt chaotic.
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;em&gt;Outcome:&lt;/em&gt;&lt;br&gt;&lt;br&gt;
I submitted the design but didn’t meet the grading standards. My key issues:  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Inconsistent spacing in mobile view.
&lt;/li&gt;
&lt;li&gt;Poor color contrast in column headers.
&lt;/li&gt;
&lt;li&gt;Messy layer names (e.g., “Rectangle 23” instead of “Task Card BG”).
&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;strong&gt;Lessons Learned&lt;/strong&gt;  &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Design Tools Matter:&lt;/strong&gt; Figma’s learning curve is steep for coders. Practice is key.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Details Are Everything:&lt;/strong&gt; Tiny spacing/color errors break usability.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Feedback Helps:&lt;/strong&gt; I should’ve shared drafts earlier for peer reviews.
&lt;/li&gt;
&lt;/ol&gt;




&lt;p&gt;&lt;strong&gt;Next Steps&lt;/strong&gt;  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Rebuild the Kanban Board with better color contrast and organization.
&lt;/li&gt;
&lt;li&gt;Study Figma’s auto-layout and component features deeply.
&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;strong&gt;Links&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Figma Design: [&lt;a href="https://www.figma.com/design/CY1uY8jR2nMbKvl2mm3vk5/Simple-Kaban-Board--HNG-Internship-stage-4?node-id=0-1&amp;amp;t=Si9eiEiKCpawbzF2-1" rel="noopener noreferrer"&gt;https://www.figma.com/design/CY1uY8jR2nMbKvl2mm3vk5/Simple-Kaban-Board--HNG-Internship-stage-4?node-id=0-1&amp;amp;t=Si9eiEiKCpawbzF2-1&lt;/a&gt;]&lt;br&gt;&lt;br&gt;
GitHub: &lt;a href="https://github.com/toptech5419/myHNGInternship-journey.git" rel="noopener noreferrer"&gt;https://github.com/toptech5419/myHNGInternship-journey.git&lt;/a&gt;&lt;br&gt;&lt;br&gt;
LinkedIn: &lt;a href="https://www.linkedin.com/in/toptech5419/" rel="noopener noreferrer"&gt;https://www.linkedin.com/in/toptech5419/&lt;/a&gt;&lt;br&gt;&lt;br&gt;
X (Twitter): &lt;a href="https://x.com/Toptech5419" rel="noopener noreferrer"&gt;https://x.com/Toptech5419&lt;/a&gt;&lt;br&gt;&lt;br&gt;
medium: &lt;a href="https://medium.com/@alabitemitope51" rel="noopener noreferrer"&gt;https://medium.com/@alabitemitope51&lt;/a&gt; &lt;/p&gt;




&lt;p&gt;This stage humbled me, but it’s a reminder that growth happens outside comfort zones. Onward!  &lt;/p&gt;




</description>
    </item>
    <item>
      <title>My HNG Internship Journey: Stage 3 — Building an AI-Powered Text Processing Interface</title>
      <dc:creator>Alabi Temitope</dc:creator>
      <pubDate>Tue, 04 Mar 2025 02:29:25 +0000</pubDate>
      <link>https://forem.com/toptech5419/my-hng-internship-journey-stage-3-building-an-ai-powered-text-processing-interface-58oe</link>
      <guid>https://forem.com/toptech5419/my-hng-internship-journey-stage-3-building-an-ai-powered-text-processing-interface-58oe</guid>
      <description>&lt;p&gt;Two weeks ago, I completed Stage 3 of the HNG Internship. The task was to build a chat-style AI text processor using Chrome’s AI APIs for summarization, translation, and language detection. Here’s my experience.  &lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Task Requirements&lt;/strong&gt;  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Create a chat-like interface where users input text and see outputs above.
&lt;/li&gt;
&lt;li&gt;Integrate Chrome’s AI APIs for translation (English, Portuguese, Spanish, etc.), language detection, and summarization.
&lt;/li&gt;
&lt;li&gt;Ensure accessibility, responsive design, and error handling.
&lt;/li&gt;
&lt;li&gt;Render action buttons (Summarize/Translate) based on text length and language.
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Live Demo:&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
&lt;a href="https://chattextgen.vercel.app/" rel="noopener noreferrer"&gt;https://chattextgen.vercel.app/&lt;/a&gt;  &lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Execution &amp;amp; Challenges&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
&lt;em&gt;What Worked:&lt;/em&gt;  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Successfully integrated Google’s Translator API for translating text and detecting languages.
&lt;/li&gt;
&lt;li&gt;Added a hover-to-translate feature: three dots appear on text hover, letting users translate to preferred languages.
&lt;/li&gt;
&lt;li&gt;Designed a responsive UI that works on mobile and desktop.
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;Struggles:&lt;/em&gt;  &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;em&gt;Summarization API Issues:&lt;/em&gt;
Chrome’s Summarizer API repeatedly failed during testing. I tried multiple free alternatives, but none worked reliably. For now, summarization is incomplete.
&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;Tight Deadline:&lt;/em&gt;
Built this in days while balancing work commitments. Compromised on some edge cases to meet the deadline.
&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;Error Handling:&lt;/em&gt;
Implementing clear error messages for API failures required extra debugging time.
&lt;/li&gt;
&lt;/ol&gt;




&lt;p&gt;&lt;strong&gt;Outcome &amp;amp; Lessons&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
The app works for translation and language detection but lacks summarization. I’ll revisit this later with better APIs.  &lt;/p&gt;

&lt;p&gt;&lt;em&gt;What I Learned:&lt;/em&gt;  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Async JavaScript and API error handling are critical.
&lt;/li&gt;
&lt;li&gt;Accessibility (ARIA labels, keyboard navigation) takes patience but is worth it.
&lt;/li&gt;
&lt;li&gt;Time management is key with complex tasks.
&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;strong&gt;Future Improvements&lt;/strong&gt;  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Find a reliable free summarization API.
&lt;/li&gt;
&lt;li&gt;Refine the UI for better visual feedback.
&lt;/li&gt;
&lt;li&gt;Add more languages and optimize performance.
&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;strong&gt;Links to My Work&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
GitHub Repo: &lt;a href="https://github.com/toptech5419/myHNGInternship-journey.git" rel="noopener noreferrer"&gt;https://github.com/toptech5419/myHNGInternship-journey.git&lt;/a&gt;&lt;br&gt;&lt;br&gt;
LinkedIn: &lt;a href="https://www.linkedin.com/in/toptech5419/" rel="noopener noreferrer"&gt;https://www.linkedin.com/in/toptech5419/&lt;/a&gt;&lt;br&gt;&lt;br&gt;
X (Twitter): &lt;a href="https://x.com/Toptech5419" rel="noopener noreferrer"&gt;https://x.com/Toptech5419&lt;/a&gt;&lt;br&gt;&lt;br&gt;
Medium: &lt;a href="https://medium.com/@alabitemitope51" rel="noopener noreferrer"&gt;https://medium.com/@alabitemitope51&lt;/a&gt;    &lt;/p&gt;




&lt;p&gt;This stage taught me resilience in problem-solving. Onward to the next challenge!   &lt;/p&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>javascript</category>
      <category>productivity</category>
    </item>
    <item>
      <title>My HNG Internship Journey: Stage 2 — Conference Ticket Generator</title>
      <dc:creator>Alabi Temitope</dc:creator>
      <pubDate>Fri, 28 Feb 2025 06:21:07 +0000</pubDate>
      <link>https://forem.com/toptech5419/my-hng-internship-journey-stage-2-conference-ticket-generator-9j1</link>
      <guid>https://forem.com/toptech5419/my-hng-internship-journey-stage-2-conference-ticket-generator-9j1</guid>
      <description>&lt;p&gt;Two weeks ago, I completed Stage 2 of the HNG Internship. The task was to build a Conference Ticket Generator using React. Here’s a breakdown of the journey.  &lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Task Overview&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
&lt;em&gt;What We Were Asked to Build:&lt;/em&gt;  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A form with fields for full name, email, and avatar upload (via Cloudinary or image URL).
&lt;/li&gt;
&lt;li&gt;Form validation for required fields, email format, and image URL.
&lt;/li&gt;
&lt;li&gt;State persistence using local storage or IndexedDB.
&lt;/li&gt;
&lt;li&gt;Accessible design (keyboard navigation, screen-reader compatibility).
&lt;/li&gt;
&lt;li&gt;Ticket generation upon valid submission, displaying user details.
&lt;/li&gt;
&lt;li&gt;Pixel-perfect, responsive UI across all devices.
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Live Demo:&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
&lt;a href="https://conference-ticket-generator-steel.vercel.app/" rel="noopener noreferrer"&gt;https://conference-ticket-generator-steel.vercel.app/&lt;/a&gt;  &lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Challenges I Faced&lt;/strong&gt;  &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;em&gt;Starting Late:&lt;/em&gt; I underestimated the time needed and began coding too close to the deadline.
&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;State Persistence:&lt;/em&gt; Syncing form data with local storage without causing re-render issues took time.
&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;Accessibility Hurdles:&lt;/em&gt; Ensuring keyboard navigation and screen-reader compatibility was trickier than expected.
&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;Validation Logic:&lt;/em&gt; Handling real-time error messages for Cloudinary URLs while keeping the form performant.
&lt;/li&gt;
&lt;/ol&gt;




&lt;p&gt;&lt;strong&gt;The Outcome&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
I submitted the task on time, but it’s not as polished as I wanted. For example:  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The UI isn’t fully pixel-perfect.
&lt;/li&gt;
&lt;li&gt;Some edge cases (like specific image URL formats) aren’t fully handled.
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I plan to refine it later, but for now, meeting the deadline was critical.  &lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Links to My Work&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
&lt;em&gt;GitHub Repo:&lt;/em&gt;&lt;br&gt;&lt;br&gt;
&lt;a href="https://github.com/toptech5419/myHNGInternship-journey.git" rel="noopener noreferrer"&gt;https://github.com/toptech5419/myHNGInternship-journey.git&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;em&gt;LinkedIn:&lt;/em&gt;&lt;br&gt;&lt;br&gt;
&lt;a href="https://www.linkedin.com/in/toptech5419/" rel="noopener noreferrer"&gt;https://www.linkedin.com/in/toptech5419/&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;em&gt;X (Twitter):&lt;/em&gt;&lt;br&gt;&lt;br&gt;
&lt;a href="https://x.com/Toptech5419" rel="noopener noreferrer"&gt;https://x.com/Toptech5419&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;em&gt;Medium:&lt;/em&gt;&lt;br&gt;&lt;br&gt;
&lt;a href="https://medium.com/@alabitemitope51" rel="noopener noreferrer"&gt;https://medium.com/@alabitemitope51&lt;/a&gt;  &lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Final Thoughts&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
This task pushed my React skills, especially in form management and accessibility. If you’re learning, start early—procrastination is a silent killer!  &lt;/p&gt;

</description>
      <category>programming</category>
      <category>react</category>
      <category>javascript</category>
      <category>webdev</category>
    </item>
    <item>
      <title>My HNG Internship Journey: Stage 1 — Building a Color Guessing Game</title>
      <dc:creator>Alabi Temitope</dc:creator>
      <pubDate>Wed, 26 Feb 2025 16:19:38 +0000</pubDate>
      <link>https://forem.com/toptech5419/my-hng-internship-journey-stage-1-building-a-color-guessing-game-35bp</link>
      <guid>https://forem.com/toptech5419/my-hng-internship-journey-stage-1-building-a-color-guessing-game-35bp</guid>
      <description>&lt;p&gt;&lt;em&gt;Three weeks ago i built debugged, and did CSS animations — here’s how I tackled Stage 1!&lt;/em&gt;  &lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;The Task: A Color Guessing Game&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;For &lt;strong&gt;Stage 1&lt;/strong&gt; of the HNG Internship, I built a &lt;strong&gt;color-matching game&lt;/strong&gt; using HTML, CSS, and vanilla JavaScript. The requirements were intense but rewarding:  &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Game Requirements:&lt;/strong&gt;  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Target Color Box&lt;/strong&gt; (&lt;code&gt;data-testid="colorBox"&lt;/code&gt;) displaying a random color.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;6 Color Options&lt;/strong&gt; (&lt;code&gt;data-testid="colorOption"&lt;/code&gt;) as buttons with background colors.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Score Tracker&lt;/strong&gt; (&lt;code&gt;data-testid="score"&lt;/code&gt;), &lt;strong&gt;Game Status&lt;/strong&gt; updates (&lt;code&gt;data-testid="gameStatus"&lt;/code&gt;), and &lt;strong&gt;New Game Button&lt;/strong&gt; (&lt;code&gt;data-testid="newGameButton"&lt;/code&gt;).
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Responsive Design&lt;/strong&gt;: Playable on all devices with smooth animations for feedback.
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Key Features:&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
✅ No hex codes — players match colors visually!&lt;br&gt;&lt;br&gt;
✅ CSS animations for correct/wrong guesses (fade-outs, celebrations).&lt;br&gt;&lt;br&gt;
✅ Dynamic score updates and game reset functionality.  &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Play the game here:&lt;/strong&gt; &lt;a href="https://color-game-v1.netlify.app/" rel="noopener noreferrer"&gt;Color Game Demo&lt;/a&gt;  &lt;/p&gt;




&lt;h4&gt;
  
  
  &lt;strong&gt;Challenges I Faced&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;1️⃣ &lt;strong&gt;CSS Animations:&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
   Syncing animations with JavaScript logic was tricky. For example, triggering a “celebration” pulse for correct guesses while disabling buttons during transitions took careful timing.  &lt;/p&gt;

&lt;p&gt;2️⃣ &lt;strong&gt;Mobile-First Design:&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
   Ensuring buttons stayed clickable on smaller screens required media queries and touch-friendly sizing.  &lt;/p&gt;

&lt;p&gt;3️⃣ &lt;strong&gt;Random Color Generation:&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
   Avoiding duplicate colors in the options array forced me to refine my algorithm for shuffling and filtering.  &lt;/p&gt;




&lt;h4&gt;
  
  
  &lt;strong&gt;How Scrimba Saved the Day (Again!)&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;Shoutout to &lt;strong&gt;&lt;a href="https://scrimba.com/" rel="noopener noreferrer"&gt;Scrimba&lt;/a&gt;&lt;/strong&gt; for their interactive courses! Their JavaScript and CSS modules gave me the confidence to:  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Write clean event listeners for button clicks.
&lt;/li&gt;
&lt;li&gt;Master CSS transitions and keyframes for animations.
&lt;/li&gt;
&lt;li&gt;Structure code modularly for easy debugging.
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This task felt like a natural extension of their project-based learning style!  &lt;/p&gt;




&lt;h4&gt;
  
  
  &lt;strong&gt;Behind the Scenes: Code &amp;amp; Deadlines&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;GitHub Repo:&lt;/strong&gt; &lt;a href="https://github.com/toptech5419/myHNGInternship-journey.git" rel="noopener noreferrer"&gt;myHNGInternship-journey&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Time Crunch:&lt;/strong&gt; Completed &lt;strong&gt;3 weeks ago&lt;/strong&gt; alongside internship tasks — a true test of prioritization!
&lt;/li&gt;
&lt;/ul&gt;




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

&lt;p&gt;Stage 2 is already on the horizon! Follow my journey for updates:  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;X (Twitter):&lt;/strong&gt; &lt;a href="https://x.com/Toptech5419" rel="noopener noreferrer"&gt;@Toptech5419&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;LinkedIn:&lt;/strong&gt; &lt;a href="https://www.linkedin.com/in/toptech5419/" rel="noopener noreferrer"&gt;Toptech5419&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Medium:&lt;/strong&gt; &lt;a href="https://medium.com/@alabitemitope51" rel="noopener noreferrer"&gt;@alabitemitope51&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;strong&gt;Final Thoughts&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Building this game taught me the importance of balancing functionality with user experience. If you’re learning frontend development, embrace projects like this — they’re the best way to grow!  &lt;/p&gt;

&lt;p&gt;&lt;em&gt;Questions about the code or design? Drop a comment below!&lt;/em&gt;  &lt;/p&gt;




&lt;p&gt;&lt;strong&gt;#HNGInternship #FrontendDevelopment #WebDev #LearningInPublic&lt;/strong&gt;  &lt;/p&gt;

</description>
      <category>programming</category>
      <category>javascript</category>
      <category>softwareengineering</category>
      <category>softwaredevelopment</category>
    </item>
    <item>
      <title>**My HNG Internship Journey: Stage 0 — Building a Responsive Profile Card**</title>
      <dc:creator>Alabi Temitope</dc:creator>
      <pubDate>Mon, 24 Feb 2025 05:12:37 +0000</pubDate>
      <link>https://forem.com/toptech5419/my-hng-internship-journey-stage-0-building-a-responsive-profile-card-15ei</link>
      <guid>https://forem.com/toptech5419/my-hng-internship-journey-stage-0-building-a-responsive-profile-card-15ei</guid>
      <description>&lt;p&gt;&lt;em&gt;Coding under deadlines, embracing challenges, and why Scrimba made this easy!&lt;/em&gt;  &lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;The Task: A Responsive Profile Card&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;For &lt;strong&gt;Stage 0&lt;/strong&gt; of the HNG Internship, I was tasked with building a &lt;strong&gt;responsive profile card&lt;/strong&gt; using HTML, CSS, and vanilla JavaScript. The requirements were specific:  &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Required Elements (with &lt;code&gt;data-testid&lt;/code&gt; attributes):&lt;/strong&gt;  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Profile picture (responsive, aspect ratio maintained)
&lt;/li&gt;
&lt;li&gt;Full name, job title, short bio (50–100 words)
&lt;/li&gt;
&lt;li&gt;Current location, professional email
&lt;/li&gt;
&lt;li&gt;Social media links (LinkedIn, GitHub, etc.)
&lt;/li&gt;
&lt;li&gt;Dynamically updating UTC time
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Acceptance Criteria:&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
✅ Clean, visually appealing UI/UX&lt;br&gt;&lt;br&gt;
✅ Mobile-responsive design&lt;br&gt;&lt;br&gt;
✅ All elements tagged for testing&lt;br&gt;&lt;br&gt;
✅ UTC time updates on page refresh  &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;See my live demo here:&lt;/strong&gt; &lt;a href="https://toptech-profile-card.netlify.app/" rel="noopener noreferrer"&gt;Profile Card Demo&lt;/a&gt;  &lt;/p&gt;




&lt;h4&gt;
  
  
  &lt;strong&gt;Execution &amp;amp; Challenges&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;While the task seemed straightforward, here’s where things got interesting:  &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Dynamic UTC Time:&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Displaying real-time UTC required JavaScript’s &lt;code&gt;Date()&lt;/code&gt; object. The catch? Ensuring it updates &lt;strong&gt;only on refresh&lt;/strong&gt; (not live) to meet the task’s criteria.  &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Responsive Image Quirk:&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Maintaining aspect ratio while adjusting width/height took trial and error. CSS’s &lt;code&gt;object-fit: contain&lt;/code&gt; saved the day!  &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Testing-Ready Structure:&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Adding &lt;code&gt;data-testid&lt;/code&gt; attributes to every element forced me to think like a tester—valuable for future collaboration.  &lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;




&lt;h4&gt;
  
  
  &lt;strong&gt;Why This Felt Effortless (Shoutout to Scrimba!)&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;I owe my smooth execution to &lt;strong&gt;&lt;a href="https://scrimba.com/" rel="noopener noreferrer"&gt;Scrimba&lt;/a&gt;&lt;/strong&gt;. Their project-based courses on HTML, CSS, and JS helped me:  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Master responsive design principles
&lt;/li&gt;
&lt;li&gt;Write clean, modular JavaScript
&lt;/li&gt;
&lt;li&gt;Debug efficiently (no more endless console.log loops!)
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This task felt like a &lt;strong&gt;Scrimba coding challenge&lt;/strong&gt;—structured, practical, and confidence-boosting.  &lt;/p&gt;




&lt;h4&gt;
  
  
  &lt;strong&gt;The Time Crunch&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;All HNG tasks come with &lt;strong&gt;strict deadlines&lt;/strong&gt;. Stage 0 had a 48-hour window, pushing me to prioritize efficiency without compromising quality. It’s a taste of real-world dev work!  &lt;/p&gt;




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

&lt;p&gt;&lt;strong&gt;Stage 1&lt;/strong&gt; is around the corner, and I’ll share updates here. Follow my journey across platforms:  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;X (Twitter):&lt;/strong&gt; &lt;a href="https://x.com/Toptech5419" rel="noopener noreferrer"&gt;@Toptech5419&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;LinkedIn:&lt;/strong&gt; &lt;a href="https://www.linkedin.com/in/toptech5419/" rel="noopener noreferrer"&gt;Toptech5419&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Medium:&lt;/strong&gt; &lt;a href="https://medium.com/@alabitemitope51" rel="noopener noreferrer"&gt;medium/toptech5419&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;GitHub Repo:&lt;/strong&gt; &lt;a href="https://github.com/toptech5419/myHNGInternship-journey.git" rel="noopener noreferrer"&gt;myHNGInternship-journey&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;strong&gt;Final Thoughts&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Stage 0 was a fantastic warm-up. If you’re learning to code, I &lt;em&gt;highly&lt;/em&gt; recommend platforms like Scrimba for hands-on practice. Stay tuned for Stage 1—things are about to get even spicier! 🔥  &lt;/p&gt;

&lt;p&gt;&lt;em&gt;Questions or feedback? Drop a comment below!&lt;/em&gt;  &lt;/p&gt;

</description>
    </item>
    <item>
      <title>My HNG Internship Journey: A New Chapter in My Front-End Development Path</title>
      <dc:creator>Alabi Temitope</dc:creator>
      <pubDate>Mon, 24 Feb 2025 05:06:25 +0000</pubDate>
      <link>https://forem.com/toptech5419/my-hng-internship-journey-a-new-chapter-in-my-front-end-development-path-5boe</link>
      <guid>https://forem.com/toptech5419/my-hng-internship-journey-a-new-chapter-in-my-front-end-development-path-5boe</guid>
      <description>&lt;h2&gt;
  
  
  Pausing My Daily Challenge for Something Bigger
&lt;/h2&gt;

&lt;p&gt;For a while, I’ve been pushing myself through a personal daily coding challenge—learning, building, and improving my front-end skills. But for now, I’m hitting the pause button. Not because I’m giving up, but because my hands are full with something just as exciting: &lt;strong&gt;the HNG Internship&lt;/strong&gt;.  &lt;/p&gt;

&lt;p&gt;Three weeks in, and this internship has already been filled with &lt;strong&gt;intense learning, real-world projects, and invaluable mentorship&lt;/strong&gt;. It’s been a whirlwind, but one that’s pushing me to grow faster than ever before.  &lt;/p&gt;

&lt;h2&gt;
  
  
  Why Front-End Development?
&lt;/h2&gt;

&lt;p&gt;My journey into tech started with a love for design and problem-solving. The ability to take an idea, turn it into &lt;strong&gt;interactive experiences&lt;/strong&gt;, and see users engage with something I built—&lt;strong&gt;that’s the magic of front-end development&lt;/strong&gt;.  &lt;/p&gt;

&lt;p&gt;I’ve always been fascinated by how HTML, CSS, and JavaScript come together to create websites that are both functional and visually appealing. As I progressed, I dived deeper into &lt;strong&gt;React.js, animations, and state management&lt;/strong&gt;, realizing that front-end development is much more than just building interfaces—it’s about &lt;strong&gt;crafting user experiences&lt;/strong&gt;.  &lt;/p&gt;

&lt;p&gt;With the demand for front-end developers on the rise, I see this career path as an opportunity to not only grow but also contribute to exciting projects, collaborate globally, and eventually work remotely.  &lt;/p&gt;

&lt;h2&gt;
  
  
  How HNG Internship Is Elevating My Skills
&lt;/h2&gt;

&lt;p&gt;Joining HNG has been a game-changer. The structured program provides a &lt;strong&gt;fast-paced, immersive learning experience&lt;/strong&gt;, helping me refine my skills through:  &lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;Mentorship&lt;/strong&gt; from industry experts, helping me write better code and solve problems efficiently.&lt;br&gt;&lt;br&gt;
✅ &lt;strong&gt;Collaboration&lt;/strong&gt; with other developers, teaching me the value of teamwork in real-world projects.&lt;br&gt;&lt;br&gt;
✅ &lt;strong&gt;Exposure to job opportunities&lt;/strong&gt;, as HNG connects developers to companies looking for front-end talent.  &lt;/p&gt;

&lt;p&gt;This internship is the perfect &lt;strong&gt;blend of challenge and growth&lt;/strong&gt;, and I’m making the most of every moment.  &lt;/p&gt;

&lt;h2&gt;
  
  
  My Goals for HNG Internship
&lt;/h2&gt;

&lt;p&gt;1️⃣ &lt;strong&gt;Master Advanced Front-End Technologies&lt;/strong&gt; – I aim to &lt;strong&gt;deepen my React.js knowledge&lt;/strong&gt;, improve performance optimization, and get better at state management.&lt;br&gt;&lt;br&gt;
2️⃣ &lt;strong&gt;Build &amp;amp; Deploy Real-World Projects&lt;/strong&gt; – Creating projects that &lt;strong&gt;add value&lt;/strong&gt; while also strengthening my portfolio.&lt;br&gt;&lt;br&gt;
3️⃣ &lt;strong&gt;Improve My Problem-Solving Skills&lt;/strong&gt; – Debugging efficiently and writing clean, maintainable code.&lt;br&gt;&lt;br&gt;
4️⃣ &lt;strong&gt;Network with Other Developers&lt;/strong&gt; – Learning from peers, mentors, and experienced professionals.&lt;br&gt;&lt;br&gt;
5️⃣ &lt;strong&gt;Secure a Remote Front-End Developer Role&lt;/strong&gt; – With the skills and experience gained from HNG, I hope to land a role where I can &lt;strong&gt;make meaningful contributions&lt;/strong&gt;.  &lt;/p&gt;

&lt;h2&gt;
  
  
  Follow My HNG Internship Journey
&lt;/h2&gt;

&lt;p&gt;I’m documenting my progress and key learnings on GitHub. If you want to &lt;strong&gt;follow along&lt;/strong&gt;, check out my repo:&lt;br&gt;&lt;br&gt;
🔗 &lt;strong&gt;GitHub:&lt;/strong&gt; &lt;a href="https://github.com/toptech5419/myHNGInternship-journey" rel="noopener noreferrer"&gt;github.com/toptech5419/myHNGInternship-journey&lt;/a&gt;  &lt;/p&gt;

&lt;p&gt;I’ll also be sharing updates on my social media. Let’s connect!&lt;br&gt;&lt;br&gt;
📌 &lt;strong&gt;Medium:&lt;/strong&gt; &lt;a href="https://medium.com/@alabitemitope51" rel="noopener noreferrer"&gt;medium/toptech5419&lt;/a&gt;&lt;br&gt;&lt;br&gt;
📌 &lt;strong&gt;X (Twitter):&lt;/strong&gt; &lt;a href="https://x.com/Toptech5419" rel="noopener noreferrer"&gt;x.com/Toptech5419&lt;/a&gt;&lt;br&gt;&lt;br&gt;
📌 &lt;strong&gt;LinkedIn:&lt;/strong&gt; &lt;a href="https://www.linkedin.com/in/toptech5419/" rel="noopener noreferrer"&gt;linkedin.com/in/toptech5419&lt;/a&gt;  &lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;Front-end development is more than just coding—it’s about bringing ideas to life.&lt;/strong&gt; Through HNG, I’m sharpening my skills, gaining real-world experience, and building connections that will help me achieve my career goals.  &lt;/p&gt;

&lt;p&gt;I’m excited for this journey, the challenges ahead, and the growth that comes with it. Stay tuned as I continue to learn, build, and share my experiences! 🚀🔥  &lt;/p&gt;

</description>
      <category>webdev</category>
      <category>frontend</category>
      <category>softwaredevelopment</category>
      <category>softwareengineering</category>
    </item>
    <item>
      <title>Week 14 of #100DaysOfCode – Pushing Through, Learning, and Building! 🚀</title>
      <dc:creator>Alabi Temitope</dc:creator>
      <pubDate>Sun, 09 Feb 2025 16:20:00 +0000</pubDate>
      <link>https://forem.com/toptech5419/week-14-of-100daysofcode-pushing-through-learning-and-building-321p</link>
      <guid>https://forem.com/toptech5419/week-14-of-100daysofcode-pushing-through-learning-and-building-321p</guid>
      <description>&lt;p&gt;Another exciting and productive week of coding is in the books! This week, I balanced multiple projects, refined my skills, and tackled new challenges head-on. Here’s a recap of my journey:  &lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;🎮 Days 94-96: Finalizing My War Game Project&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;I dedicated these days to improving the &lt;strong&gt;War Game&lt;/strong&gt; I had been working on:  &lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;Day 94&lt;/strong&gt; – Refactored the game’s style, ensuring it’s fully responsive and polished for all screen sizes. Clean code = better performance!  &lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;Day 95&lt;/strong&gt; – Added crucial game functionalities, including:  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🎵 Sounds for better user interaction
&lt;/li&gt;
&lt;li&gt;🃏 Smooth card movement
&lt;/li&gt;
&lt;li&gt;🏆 Winner announcement
&lt;/li&gt;
&lt;li&gt;🔄 Transitions for a seamless experience
&lt;/li&gt;
&lt;li&gt;🕹️ Enhanced game flow with interactive buttons
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;✅ &lt;strong&gt;Day 96&lt;/strong&gt; – Wrapped up the project:  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Removed unnecessary FX sounds for simplicity
&lt;/li&gt;
&lt;li&gt;Added a &lt;strong&gt;loading status&lt;/strong&gt; to improve UX
&lt;/li&gt;
&lt;li&gt;Cleaned up the code for better readability and maintainability
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;🔗 Check out the War Game here: &lt;a href="https://wargamet.netlify.app" rel="noopener noreferrer"&gt;Play the game!&lt;/a&gt;  &lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;🎥 Days 97-100: Movie Watchlist Project&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;After completing my game project, I jumped into another exciting build—&lt;strong&gt;a Movie Watchlist app&lt;/strong&gt; using the TMDb API.  &lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;Day 97&lt;/strong&gt; – Built the landing page, refined the UI, and integrated key functionalities to fetch movie data. Huge thanks to &lt;strong&gt;TMDb&lt;/strong&gt; for their awesome API!  &lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;Day 98&lt;/strong&gt; – Took a quick break from this project to complete a &lt;strong&gt;Profile Card&lt;/strong&gt; for my HNG Internship deadline. Deadlines first! 💼⏳&lt;br&gt;&lt;br&gt;
🔗 Check it out here: &lt;a href="https://toptech-profile-card.netlify.app" rel="noopener noreferrer"&gt;Profile Card&lt;/a&gt;  &lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;Day 99&lt;/strong&gt; – Got back on track and designed the &lt;strong&gt;Details Page&lt;/strong&gt; while implementing functionality to store movies in &lt;strong&gt;localStorage&lt;/strong&gt;.  &lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;Day 100&lt;/strong&gt; – Finalized the &lt;strong&gt;Watchlist Page&lt;/strong&gt; and added its core functionalities. Though a few finishing touches remain, the project is fully functional and ready to use!  &lt;/p&gt;

&lt;p&gt;🔗 &lt;strong&gt;Movie Watchlist Project:&lt;/strong&gt; &lt;a href="https://filmfinder-watchlist.netlify.app" rel="noopener noreferrer"&gt;Explore the app&lt;/a&gt;  &lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Final Thoughts &amp;amp; Next Steps&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;This week was a mix of &lt;strong&gt;problem-solving, learning, and execution&lt;/strong&gt;. Each challenge helped me grow as a developer, and I’m excited to keep building. While my &lt;strong&gt;#100DaysOfCode&lt;/strong&gt; challenge is wrapping up, this is just the beginning of my dev journey!  &lt;/p&gt;

&lt;p&gt;I’ll be adding more features to the Movie Watchlist project in the future—stay tuned! 🚀  &lt;/p&gt;

&lt;p&gt;Let’s connect and grow together! 👇  &lt;/p&gt;

&lt;p&gt;🔗 &lt;strong&gt;GitHub:&lt;/strong&gt; &lt;a href="https://lnkd.in/dsfK7dJz" rel="noopener noreferrer"&gt;My projects&lt;/a&gt;&lt;br&gt;&lt;br&gt;
📝 &lt;strong&gt;Medium:&lt;/strong&gt; &lt;a href="https://lnkd.in/dEXrriiS" rel="noopener noreferrer"&gt;More insights&lt;/a&gt;&lt;br&gt;&lt;br&gt;
✖️ &lt;strong&gt;Twitter (X):&lt;/strong&gt; &lt;a href="https://x.com/Toptech5419" rel="noopener noreferrer"&gt;Follow for follow&lt;/a&gt;&lt;br&gt;&lt;br&gt;
💼 &lt;strong&gt;LinkedIn:&lt;/strong&gt; &lt;a href="https://www.linkedin.com/in/toptech5419/" rel="noopener noreferrer"&gt;Let’s connect!&lt;/a&gt;  &lt;/p&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>javascript</category>
      <category>100daysofcode</category>
    </item>
    <item>
      <title>🚀 Week 13 of #100DaysOfCode: Building, Learning, and Growing!** 🎉</title>
      <dc:creator>Alabi Temitope</dc:creator>
      <pubDate>Tue, 28 Jan 2025 05:33:36 +0000</pubDate>
      <link>https://forem.com/toptech5419/week-13-of-100daysofcode-building-learning-and-growing-1mo2</link>
      <guid>https://forem.com/toptech5419/week-13-of-100daysofcode-building-learning-and-growing-1mo2</guid>
      <description>&lt;p&gt;Another week of my coding journey is in the books, and I’m thrilled to share the progress I’ve made during Days 87–93. Each day brought new challenges, exciting lessons, and rewarding accomplishments. Here’s a recap of my week:  &lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Day 87-88: Building a Blog Post App with an API&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;This project was a deep dive into APIs, and I learned:&lt;br&gt;&lt;br&gt;
✅ How to use &lt;code&gt;GET&lt;/code&gt; to fetch and display blog posts 📝&lt;br&gt;&lt;br&gt;
✅ How to use &lt;code&gt;POST&lt;/code&gt; to add new posts 🔄&lt;br&gt;&lt;br&gt;
✅ The fundamentals of REST and API design principles 🚀  &lt;/p&gt;

&lt;p&gt;By the end, I had built a functional blog post app that showcased everything I’d learned so far. 💪  &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%2Fxhme878p9ej2rsc5d4fk.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%2Fxhme878p9ej2rsc5d4fk.jpeg" alt="Image description" width="800" height="424"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Day 89-90: Color Scheme Generator 🎨&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;After a short break, I picked up where I left off on my &lt;strong&gt;Color Scheme Generator&lt;/strong&gt; project. Using a color API, I:&lt;br&gt;&lt;br&gt;
✅ Finished the project and added a user-friendly interface&lt;br&gt;&lt;br&gt;
✅ Revised previous lessons to refresh my JavaScript knowledge&lt;br&gt;&lt;br&gt;
✅ Started learning &lt;strong&gt;Async JavaScript&lt;/strong&gt;—tackling callbacks and promises  &lt;/p&gt;

&lt;p&gt;Check out the &lt;strong&gt;Color Scheme Generator&lt;/strong&gt; here:&lt;br&gt;&lt;br&gt;
🌐 &lt;a href="https://generate-a-color-scheme.netlify.app" rel="noopener noreferrer"&gt;Live Demo&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%2Fq52pulv93kkco4o262se.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%2Fq52pulv93kkco4o262se.jpeg" alt="Image description" width="800" height="424"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Day 91-93: WAR Game Project&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Inspired by my lessons on callbacks and promises, I began and completed a &lt;strong&gt;WAR game project&lt;/strong&gt; on Scrimba. This project took my skills to the next level:&lt;br&gt;&lt;br&gt;
✅ Built card drawing and displaying functionality 🃏&lt;br&gt;&lt;br&gt;
✅ Styled the cards to give them a polished look ✨&lt;br&gt;&lt;br&gt;
✅ Refactored the card placement logic for efficiency&lt;br&gt;&lt;br&gt;
✅ Added features like determining the winner, keeping score, and displaying the final winner  &lt;/p&gt;

&lt;p&gt;This was such a fun and creative project, and I’m proud of how it turned out!  &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%2F0ldjykubil7flqvw5wz8.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%2F0ldjykubil7flqvw5wz8.jpeg" alt="Image description" width="800" height="424"&gt;&lt;/a&gt;&lt;/p&gt;




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

&lt;p&gt;I’ve grown so much during Week 13, and I’m excited to keep pushing forward. Up next, I’ll reflect on my lessons from this week while diving into new projects. Stay tuned for more updates as I head into the final stretch of my #100DaysOfCode challenge!  &lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Follow My Journey:&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
📂 &lt;strong&gt;GitHub:&lt;/strong&gt; &lt;a href="https://github.com/toptech5419/100-days-of-code" rel="noopener noreferrer"&gt;100 Days of Code&lt;/a&gt;&lt;br&gt;&lt;br&gt;
🔗&lt;strong&gt;Linkedin:&lt;/strong&gt; &lt;a href="//www.linkedin.com/in/toptech9"&gt;linkedin@toptech5419&lt;/a&gt;&lt;br&gt;
📝 &lt;strong&gt;Medium:&lt;/strong&gt; &lt;a href="https://medium.com/@alabitemitope51" rel="noopener noreferrer"&gt;@AlabiTemitope51&lt;/a&gt;&lt;br&gt;&lt;br&gt;
✖️ &lt;strong&gt;X:&lt;/strong&gt; &lt;a href="https://x.com/Toptech5419" rel="noopener noreferrer"&gt;@Toptech5419&lt;/a&gt;  &lt;/p&gt;

&lt;p&gt;Thank you for following along! Here’s to more coding, learning, and creating. 🚀 #WebDevelopment #Scrimba #JavaScript&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>programming</category>
      <category>100daysofcode</category>
    </item>
  </channel>
</rss>
