<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title><![CDATA[Daniel Amekpoagbe Portfolio - Blog]]></title>
    <link>https://www.amekpoagbe.com/</link>
    <description><![CDATA[Latest blog posts from Daniel Amekpoagbe Portfolio]]></description>
    <language>en-US</language>
    <lastBuildDate>Fri, 01 May 2026 16:00:34 GMT</lastBuildDate>
    <atom:link href="https://www.amekpoagbe.com//rss.xml" rel="self" type="application/rss+xml" />
    
    <item>
      <title><![CDATA[Why Fetching Data Inside useEffect Is Not a Good Idea]]></title>
      <link>https://www.amekpoagbe.com//blog/why-fetching-data-inside-useeffect-is-not-a-good-idea</link>
      <guid isPermaLink="true">https://www.amekpoagbe.com//blog/why-fetching-data-inside-useeffect-is-not-a-good-idea</guid>
      <description><![CDATA[If you’ve ever dropped a fetch inside a useEffect and thought “this feels right,” welcome to the club. I did it for years. It was my default pattern.But after enough production bugs, race conditions, and “why is this fetching twice?” moments, I realized it’s like trying to cook Banku(Ghanaian food) in a rice cooker: it technically works, but it’s messy, inefficient, and you’re left wondering why you didn’t just use the right tool.Let’s break down why useEffect data fetching is almost always the]]></description>
      <pubDate>Wed, 11 Feb 2026 16:13:13 GMT</pubDate>
      <author>Daniel Amekpoagbe</author>
      <enclosure url="https://grwqjnzyessysgpjjjvi.supabase.co/storage/v1/object/public/blog-images/ChatGPT%20Image%20Feb%2011,%202026,%2003_50_35%20PM.png" type="image/jpeg" />
      <category>React, useEffect, Data Fetching, Best Practices</category>
    </item>
    <item>
      <title><![CDATA[React Compiler Explained- Performance Optimization]]></title>
      <link>https://www.amekpoagbe.com//blog/react-compiler-explained-performance-optimization</link>
      <guid isPermaLink="true">https://www.amekpoagbe.com//blog/react-compiler-explained-performance-optimization</guid>
      <description><![CDATA[Picture this: You've built a solid React application, but it's starting to feel sluggish. Components re-render when they shouldn't. You reach for useMemo, useCallback, and React.memo, The classic performance toolkit. Your code works, but now it's filled with hooks and complexity that make your head spin. There has to be a better way. Enter React Compiler, a tool that handles performance optimization automatically, letting you write clean React code without the mental gymnastics.The Old&nbsp; Man]]></description>
      <pubDate>Sun, 30 Nov 2025 13:40:26 GMT</pubDate>
      <author>Daniel Amekpoagbe</author>
      <enclosure url="https://grwqjnzyessysgpjjjvi.supabase.co/storage/v1/object/public/blog-images/ChatGPT%20Image%20Nov%2030,%202025,%2001_10_25%20PM.png" type="image/jpeg" />
      <category>React</category>
    </item>
    <item>
      <title><![CDATA[Mastering React 19's useFormStatus Hook : The Right Way to Handle Form Submissions]]></title>
      <link>https://www.amekpoagbe.com//blog/mastering-react-19s-useformstatus-hook-the-right-way-to-handle-form-submissions</link>
      <guid isPermaLink="true">https://www.amekpoagbe.com//blog/mastering-react-19s-useformstatus-hook-the-right-way-to-handle-form-submissions</guid>
      <description><![CDATA[Last week, while diving into the React 19 documentation, I stumbled upon a hook that immediately caught my attention: useFormStatus(). At first glance, it seemed straightforward, but as I experimented with it and dug deeper into its behavior, I realized there's more to this hook than meets the eye. After spending considerable time researching and testing different implementations, I wanted to share what I've learned so we can all level up our form handling in React.What is useFormStatus?The useF]]></description>
      <pubDate>Sat, 22 Nov 2025 10:43:32 GMT</pubDate>
      <author>Daniel Amekpoagbe</author>
      <enclosure url="https://grwqjnzyessysgpjjjvi.supabase.co/storage/v1/object/public/blog-images/hookform.png" type="image/jpeg" />
      <category>React, Hooks</category>
    </item>
    <item>
      <title><![CDATA[Exploring New Frameworks With Intention: My Experience With TanStack Router]]></title>
      <link>https://www.amekpoagbe.com//blog/exploring-new-frameworks-with-intention-my-experience-with-tanstack-router</link>
      <guid isPermaLink="true">https://www.amekpoagbe.com//blog/exploring-new-frameworks-with-intention-my-experience-with-tanstack-router</guid>
      <description><![CDATA[There’s a common piece of advice in the React and frontend engineering world: “Don’t just jump to new frameworks.”
And honestly, that advice holds weight. In a constantly evolving JavaScript ecosystem filled with new libraries, meta-frameworks, and tooling updates, it’s easy to feel overwhelmed. Many developers get trapped in the cycle of learning a little bit of everything and mastering nothing.
But here’s the perspective I’ve grown into:
Exploring new frameworks isn’t bad — exploring without]]></description>
      <pubDate>Wed, 19 Nov 2025 19:42:39 GMT</pubDate>
      <author>Daniel Amekpoagbe</author>
      <enclosure url="https://grwqjnzyessysgpjjjvi.supabase.co/storage/v1/object/public/blog-images/ChatGPT%20Image%20Nov%2019,%202025,%2008_01_52%20PM.png" type="image/jpeg" />
      <category>Tanstack Router</category>
    </item>
    <item>
      <title><![CDATA[How I Built My Developer Portfolio ]]></title>
      <link>https://www.amekpoagbe.com//blog/how-i-built-my-developer-portfolio</link>
      <guid isPermaLink="true">https://www.amekpoagbe.com//blog/how-i-built-my-developer-portfolio</guid>
      <description><![CDATA[Launching my portfolio website has been one of the most meaningful milestones in my software engineering journey. What started as a small fun project quickly evolved into a full professional platform—custom pages, a structured design system, animations, and my proudest achievement: a fully custom blog built from scratch using Supabase, React Markdown, and my own dashboard (which I call Mini-Notion).
This blog breaks down my full process:


How I built the portfolio


Why I changed direction mult]]></description>
      <pubDate>Mon, 17 Nov 2025 22:46:45 GMT</pubDate>
      <author>Daniel Amekpoagbe</author>
      <enclosure url="https://grwqjnzyessysgpjjjvi.supabase.co/storage/v1/object/public/blog-images/pf.png" type="image/jpeg" />
      <category>Nextjs, React</category>
    </item>
  </channel>
</rss>