<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>Mouhammadou Dabo — Blog</title>
    <link>https://mdabo.me/blog</link>
    <description>Articles &amp; updates by Mouhammadou Dabo</description>
    <item>
      <title>Building a Unified Activity Feed Without Faking Freshness</title>
      <link>https://mdabo.me/posts/unified-activity-feed</link>
      <guid>https://mdabo.me/posts/unified-activity-feed</guid>
      <pubDate>Tue, 14 Jul 2026 00:00:00 GMT</pubDate>
      <description>How this site combines dated GitHub and Spotify events with honest Steam summaries, source-level caching, and partial-failure handling.</description>
    </item>
    <item>
      <title>Caching Steam Data with Prisma, Carefully</title>
      <link>https://mdabo.me/posts/steam-cache-with-prisma</link>
      <guid>https://mdabo.me/posts/steam-cache-with-prisma</guid>
      <pubDate>Mon, 13 Jul 2026 00:00:00 GMT</pubDate>
      <description>A practical walkthrough of this site’s Steam aggregation, memory and SQLite caches, refresh route, fallbacks, and API limitations.</description>
    </item>
    <item>
      <title>Building a Terminal Command Palette in React</title>
      <link>https://mdabo.me/posts/terminal-command-palette</link>
      <guid>https://mdabo.me/posts/terminal-command-palette</guid>
      <pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate>
      <description>How this site turns navigation, blog search, themes, and achievements into an accessible terminal-style command palette.</description>
    </item>
    <item>
      <title>Building a Static Markdown Blog Pipeline</title>
      <link>https://mdabo.me/posts/static-markdown-blog-pipeline</link>
      <guid>https://mdabo.me/posts/static-markdown-blog-pipeline</guid>
      <pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate>
      <description>A code-level tour of this site’s Markdown parsing, static post generation, search, reading time, feeds, and dynamic social images.</description>
    </item>
    <item>
      <title>Integrating GitHub Metrics Without a Client SDK</title>
      <link>https://mdabo.me/posts/github-metrics-integration</link>
      <guid>https://mdabo.me/posts/github-metrics-integration</guid>
      <pubDate>Tue, 05 Aug 2025 00:00:00 GMT</pubDate>
      <description>How this portfolio uses lib/github.js, cached Pages Router API routes, and SWR to show GitHub profile and repository data.</description>
    </item>
    <item>
      <title>Building the Grief to Action Platform</title>
      <link>https://mdabo.me/posts/grief-to-action-platform</link>
      <guid>https://mdabo.me/posts/grief-to-action-platform</guid>
      <pubDate>Wed, 30 Jul 2025 00:00:00 GMT</pubDate>
      <description>A careful retrospective on the goals, workflow, security boundaries, and open questions behind an AWS-hosted annotation and conversational-agent project.</description>
    </item>
    <item>
      <title>Collaborating on EasyTrip: Lessons from a Team Build</title>
      <link>https://mdabo.me/posts/easytrip-collaboration</link>
      <guid>https://mdabo.me/posts/easytrip-collaboration</guid>
      <pubDate>Fri, 25 Jul 2025 00:00:00 GMT</pubDate>
      <description>A source-grounded retrospective on EasyTrip, a course-team Flask application for creating and managing travel itineraries.</description>
    </item>
    <item>
      <title>Packaging a Data Science Toolbox with Docker</title>
      <link>https://mdabo.me/posts/data-science-toolbox</link>
      <guid>https://mdabo.me/posts/data-science-toolbox</guid>
      <pubDate>Sun, 20 Jul 2025 00:00:00 GMT</pubDate>
      <description>A source-grounded look at a course project that used Docker Compose and a Python launcher to collect common data science tools.</description>
    </item>
    <item>
      <title>Designing the Current Portfolio Architecture</title>
      <link>https://mdabo.me/posts/portfolio-architecture</link>
      <guid>https://mdabo.me/posts/portfolio-architecture</guid>
      <pubDate>Tue, 15 Jul 2025 00:00:00 GMT</pubDate>
      <description>A grounded tour of this terminal-inspired Pages Router portfolio: static Markdown, cached API integrations, SWR, shared UI, and dynamic OG images.</description>
    </item>
    <item>
      <title>Static Generation and Dynamic Data in This Portfolio</title>
      <link>https://mdabo.me/posts/ssg-ssr</link>
      <guid>https://mdabo.me/posts/ssg-ssr</guid>
      <pubDate>Mon, 02 Jan 2023 00:00:00 GMT</pubDate>
      <description>How this Pages Router site combines a statically generated Markdown blog with cached API routes and SWR for changing portfolio data.</description>
    </item>
    <item>
      <title>How This Site Pre-renders Its Blog</title>
      <link>https://mdabo.me/posts/pre-rendering</link>
      <guid>https://mdabo.me/posts/pre-rendering</guid>
      <pubDate>Sun, 01 Jan 2023 00:00:00 GMT</pubDate>
      <description>A repository-level look at how the Pages Router builds this Markdown blog with gray-matter, remark, getStaticProps, and getStaticPaths.</description>
    </item>
    <item>
      <title>Hello World, Revisited</title>
      <link>https://mdabo.me/posts/first-post</link>
      <guid>https://mdabo.me/posts/first-post</guid>
      <pubDate>Sat, 03 Dec 2022 00:00:00 GMT</pubDate>
      <description>A retrospective on the site that began in 2022 and grew into a terminal-inspired Next.js portfolio with a real blog, projects, and live data.</description>
    </item>
  </channel>
</rss>