<?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: Inzamam Idrees</title>
    <description>The latest articles on DEV Community by Inzamam Idrees (@inzamam-idrees).</description>
    <link>https://dev.to/inzamam-idrees</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%2F3277116%2F8d196a73-abc5-4d71-8b65-089686e52c82.jpg</url>
      <title>DEV Community: Inzamam Idrees</title>
      <link>https://dev.to/inzamam-idrees</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/inzamam-idrees"/>
    <language>en</language>
    <item>
      <title>Sync Your Dev.to Blog with Your Portfolio Website in Minutes — No CMS Needed</title>
      <dc:creator>Inzamam Idrees</dc:creator>
      <pubDate>Fri, 27 Jun 2025 07:04:33 +0000</pubDate>
      <link>https://dev.to/inzamam-idrees/sync-your-devto-blog-with-your-portfolio-website-in-minutes-no-cms-needed-2n2c</link>
      <guid>https://dev.to/inzamam-idrees/sync-your-devto-blog-with-your-portfolio-website-in-minutes-no-cms-needed-2n2c</guid>
      <description>&lt;h1&gt;How I Integrated Dev.to Blog Posts Into My Portfolio Using API&lt;/h1&gt;

&lt;p&gt;&lt;em&gt;by Inzamam Idrees — Senior Software Engineer&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;As developers, our portfolios should reflect not only our work but our voice — our blogs, side projects, and thoughts. Recently, I wanted to integrate my Dev.to blog posts directly into my &lt;a href="https://inzamamidrees.netlify.app" rel="noopener noreferrer"&gt;portfolio website&lt;/a&gt; to keep it dynamic and up to date without duplicating content.&lt;/p&gt;




&lt;h2&gt;🎯 Why Integrate Dev.to?&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;✅ Centralized content management — write once, display everywhere&lt;/li&gt;
  &lt;li&gt;✅ No need for a CMS&lt;/li&gt;
  &lt;li&gt;✅ Improve SEO and engagement on both platforms&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;🔧 Tools &amp;amp; Tech Stack&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;🔗 Dev.to Public API&lt;/li&gt;
  &lt;li&gt;⚛️ React.js (works with any JS framework)&lt;/li&gt;
  &lt;li&gt;🌐 Axios for HTTP requests&lt;/li&gt;
  &lt;li&gt;💅 Styled-components / CSS Modules&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;🚀 Step-by-Step: Fetch and Display Your Blog Posts&lt;/h2&gt;

&lt;h3&gt;1. Get Your Dev.to Username&lt;/h3&gt;

&lt;p&gt;This is the unique handle you use on Dev.to, e.g., &lt;code&gt;@inzamam-idrees&lt;/code&gt;.&lt;/p&gt;

&lt;h3&gt;2. Use the Dev.to Articles API&lt;/h3&gt;

&lt;p&gt;The endpoint to fetch articles by a user is:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;https://dev.to/api/articles?username=YOUR_USERNAME&lt;/code&gt;&lt;/pre&gt;

&lt;h3&gt;3. Example Code (React + Axios)&lt;/h3&gt;

&lt;pre&gt;&lt;code&gt;
import React, { useEffect, useState } from 'react';
import axios from 'axios';

const DevToPosts = () =&amp;gt; {
  const [posts, setPosts] = useState([]);

  useEffect(() =&amp;gt; {
    axios.get('https://dev.to/api/articles?username=inzamam-idrees')
      .then(res =&amp;gt; setPosts(res.data))
      .catch(err =&amp;gt; console.error(err));
  }, []);

  return (
    &amp;lt;div&amp;gt;
      &amp;lt;h2&amp;gt;My Latest Dev.to Posts&amp;lt;/h2&amp;gt;
      &amp;lt;ul&amp;gt;
        {posts.map(post =&amp;gt; (
          &amp;lt;li key={post.id}&amp;gt;
            &amp;lt;a href={post.url} target="_blank" rel="noopener noreferrer"&amp;gt;
              {post.title}
            &amp;lt;/a&amp;gt;
          &amp;lt;/li&amp;gt;
        ))}
      &amp;lt;/ul&amp;gt;
    &amp;lt;/div&amp;gt;
  );
};

export default DevToPosts;
&lt;/code&gt;&lt;/pre&gt;

&lt;h3&gt;4. Style &amp;amp; Integrate&lt;/h3&gt;

&lt;p&gt;You can display them as a card grid or slider depending on your design.&lt;/p&gt;




&lt;h2&gt;📦 Bonus: Cache API for Performance&lt;/h2&gt;

&lt;p&gt;Use a backend cache or even static generation (e.g., Next.js + ISR) to avoid API rate limits and boost performance.&lt;/p&gt;




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

&lt;p&gt;This integration was quick but impactful — now my portfolio updates in real-time as I publish new posts. It's a great example of how small automation can make a big difference in your personal brand.&lt;/p&gt;

&lt;p&gt;🔗 &lt;strong&gt;Live Demo:&lt;/strong&gt; &lt;a href="https://inzamamidrees.netlify.app" rel="noopener noreferrer"&gt;https://inzamamidrees.netlify.app&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Let me know if you’ve tried this or want help integrating it in your stack!&lt;/p&gt;




&lt;h3&gt;🙌 Connect With Me&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href="https://github.com/inzamam-idrees" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href="https://linkedin.com/in/inzamam-idrees" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href="https://inzamamidrees.netlify.app" rel="noopener noreferrer"&gt;Portfolio&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>devto</category>
      <category>portfolio</category>
      <category>api</category>
      <category>javascript</category>
    </item>
  </channel>
</rss>
