<?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: Adnene tahri</title>
    <description>The latest articles on DEV Community by Adnene tahri (@smartsniper31).</description>
    <link>https://dev.to/smartsniper31</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%2F3855609%2F7eed02a4-a079-4940-8215-83e0762e29e7.jpg</url>
      <title>DEV Community: Adnene tahri</title>
      <link>https://dev.to/smartsniper31</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/smartsniper31"/>
    <language>en</language>
    <item>
      <title>How I built a React portfolio template with a LIVE color picker (and why it's a game-changer</title>
      <dc:creator>Adnene tahri</dc:creator>
      <pubDate>Wed, 01 Apr 2026 12:54:27 +0000</pubDate>
      <link>https://dev.to/smartsniper31/how-i-built-a-react-portfolio-template-with-a-live-color-picker-and-why-its-a-game-changer-28ia</link>
      <guid>https://dev.to/smartsniper31/how-i-built-a-react-portfolio-template-with-a-live-color-picker-and-why-its-a-game-changer-28ia</guid>
      <description>&lt;h1&gt;
  
  
  🎨 How I built a React portfolio template with a LIVE color picker (and why it's a game-changer)
&lt;/h1&gt;




&lt;h2&gt;
  
  
  The problem with most portfolio templates
&lt;/h2&gt;

&lt;p&gt;Every developer needs a portfolio. But most templates are &lt;strong&gt;static&lt;/strong&gt;. You want to change the primary color? You edit CSS, rebuild, redeploy. It's a waste of time.&lt;/p&gt;

&lt;p&gt;I've built 10+ portfolios for clients, and I kept running into the same frustration.&lt;/p&gt;

&lt;p&gt;So I decided to build something different.&lt;/p&gt;




&lt;h2&gt;
  
  
  💡 The solution: a live color picker
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;DevShowcase Pro&lt;/strong&gt; is a React portfolio template with a &lt;strong&gt;live color picker&lt;/strong&gt;. You click on a color, and the entire site updates instantly. No CSS editing. No rebuild. No redeploy.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://devshowcase-pro.vercel.app" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fimg.shields.io%2Fbadge%2FLIVE_DEMO-Try_It_Now-3b82f6%3Fstyle%3Dfor-the-badge" alt="Live Demo" width="196" height="28"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  🛠️ Tech stack
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Technology&lt;/th&gt;
&lt;th&gt;Purpose&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;React 18&lt;/td&gt;
&lt;td&gt;UI Framework&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;TypeScript&lt;/td&gt;
&lt;td&gt;Type safety&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Tailwind CSS 4&lt;/td&gt;
&lt;td&gt;Styling&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Framer Motion&lt;/td&gt;
&lt;td&gt;Animations&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Recharts&lt;/td&gt;
&lt;td&gt;Data visualization&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Vite&lt;/td&gt;
&lt;td&gt;Build tool&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  🎯 Key features
&lt;/h2&gt;

&lt;h3&gt;
  
  
  🎨 Live color picker (unique)
&lt;/h3&gt;

&lt;p&gt;Users can change the primary color in real time. The preference is saved in &lt;code&gt;localStorage&lt;/code&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  🌓 Dark/Light mode
&lt;/h3&gt;

&lt;p&gt;Smooth toggle with persistence.&lt;/p&gt;

&lt;h3&gt;
  
  
  🔍 Smart filtering
&lt;/h3&gt;

&lt;p&gt;Filter projects by category AND search by technology in real time.&lt;/p&gt;

&lt;h3&gt;
  
  
  📊 Interactive dashboard
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Activity graph with Recharts&lt;/li&gt;
&lt;li&gt;Skills radar chart&lt;/li&gt;
&lt;li&gt;Key metrics (projects, experience, technologies)&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🎬 Smooth animations
&lt;/h3&gt;

&lt;p&gt;Powered by Framer Motion. Buttery transitions that impress clients.&lt;/p&gt;

&lt;h3&gt;
  
  
  📱 Fully responsive
&lt;/h3&gt;

&lt;p&gt;Perfect on mobile, tablet, and desktop.&lt;/p&gt;




&lt;h2&gt;
  
  
  🏗️ Architecture
&lt;/h2&gt;

&lt;p&gt;The template follows a clean, scalable structure:&lt;br&gt;
src/&lt;br&gt;
├── components/ # React components&lt;br&gt;
├── context/ # Theme provider (color picker + dark/light)&lt;br&gt;
├── data/ # portfolio.json (all content)&lt;br&gt;
├── types/ # TypeScript interfaces&lt;br&gt;
└── styles/ # Tailwind CSS&lt;/p&gt;

&lt;p&gt;text&lt;/p&gt;

&lt;p&gt;All content is centralized in &lt;code&gt;portfolio.json&lt;/code&gt;. Edit it once, and everything updates.&lt;/p&gt;




&lt;h2&gt;
  
  
  🚀 Deployment
&lt;/h2&gt;

&lt;p&gt;The template is optimized for Vercel and Netlify:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Build command: &lt;code&gt;npm run build&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Output directory: &lt;code&gt;dist&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Environment variables: &lt;code&gt;GEMINI_API_KEY&lt;/code&gt; (optional)&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  📦 What's included
&lt;/h2&gt;

&lt;p&gt;✅ Complete source code&lt;br&gt;&lt;br&gt;
✅ Live color picker (unique)&lt;br&gt;&lt;br&gt;
✅ Dark/light mode with persistence&lt;br&gt;&lt;br&gt;
✅ Smart filtering&lt;br&gt;&lt;br&gt;
✅ Interactive dashboard with Recharts&lt;br&gt;&lt;br&gt;
✅ Fully responsive design&lt;br&gt;&lt;br&gt;
✅ EmailJS contact form ready&lt;br&gt;&lt;br&gt;
✅ Full documentation&lt;br&gt;&lt;br&gt;
✅ 30 days email support&lt;br&gt;&lt;br&gt;
✅ Lifetime updates  &lt;/p&gt;




&lt;h2&gt;
  
  
  👨‍💻 Try it yourself
&lt;/h2&gt;

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

&lt;p&gt;&lt;strong&gt;Get the template:&lt;/strong&gt; &lt;a href="https://payhip.com/b/9elSR" rel="noopener noreferrer"&gt;payhip.com/b/9elSR&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  💬 Feedback
&lt;/h2&gt;

&lt;p&gt;I'd love to hear your thoughts! Have you built a portfolio template before? What features would you add?&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Built with ❤️ by &lt;a href="https://github.com/smartsniper31" rel="noopener noreferrer"&gt;Smartsniper31&lt;/a&gt;&lt;/em&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%2Fgo60f7fj7ptr37wuf7nf.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%2Fgo60f7fj7ptr37wuf7nf.png" alt=" " width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>react</category>
      <category>typescript</category>
      <category>tailwindcss</category>
      <category>portfolio</category>
    </item>
  </channel>
</rss>
