<?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: Fatiya Labibah</title>
    <description>The latest articles on DEV Community by Fatiya Labibah (@fatiyaey).</description>
    <link>https://dev.to/fatiyaey</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%2F3717193%2F2dba42b7-4a8e-4642-bb2d-04f37ab0b767.png</url>
      <title>DEV Community: Fatiya Labibah</title>
      <link>https://dev.to/fatiyaey</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/fatiyaey"/>
    <language>en</language>
    <item>
      <title>I Turned My Resume into a Spotify Playlist</title>
      <dc:creator>Fatiya Labibah</dc:creator>
      <pubDate>Thu, 29 Jan 2026 07:44:11 +0000</pubDate>
      <link>https://dev.to/fatiyaey/i-turned-my-resume-into-a-spotify-playlist-281k</link>
      <guid>https://dev.to/fatiyaey/i-turned-my-resume-into-a-spotify-playlist-281k</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/new-year-new-you-google-ai-2025-12-31"&gt;New Year, New You Portfolio Challenge Presented by Google AI&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  About Me
&lt;/h2&gt;

&lt;p&gt;Hi, I'm Fatiya Labibah, an Informatics Engineering student who believes that portfolios shouldn't be boring static pages. They should be an experience.&lt;/p&gt;

&lt;p&gt;I love music and I love code. So, I asked myself: "What if recruiters could 'play' my projects like they play their favorite songs?"&lt;/p&gt;

&lt;p&gt;The result is a fully interactive, full-stack Spotify-Themed Portfolio that blurs the line between a music app and a professional resume.&lt;/p&gt;

&lt;h2&gt;
  
  
  Portfolio
&lt;/h2&gt;

&lt;p&gt;Live Demo on Google Cloud Run:&lt;br&gt;
&lt;a href="https://my-spotify-portfolio-891617309900.asia-southeast1.run.app" rel="noopener noreferrer"&gt;https://my-spotify-portfolio-891617309900.asia-southeast1.run.app&lt;/a&gt;&lt;br&gt;


&lt;/p&gt;
&lt;div class="ltag__cloud-run"&gt;
  &lt;iframe height="600px" src="https://my-spotify-portfolio-891617309900.asia-southeast1.run.app/"&gt;
  &lt;/iframe&gt;
&lt;/div&gt;




&lt;p&gt;(Recommended: Click the Play Music button to hear my favorite song!)&lt;/p&gt;

&lt;h2&gt;
  
  
  How I Built It:The AI-First Workflow
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;1. Brainstorming with Gemini 3 Pro&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I used Gemini 3 Pro as my Lead Architect. I fed it the concept: "Create a Spotify clone, but for a developer resume."&lt;br&gt;
Gemini helped me map out the complex data schemas for MongoDB—defining how Projects, Certificates, and Experience should relate to each other, ensuring the data structure was scalable from day one.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. "Antigravity" Development&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I adopted an AI-First Development Environment (Antigravity approach). Instead of writing boilerplate code manually, I utilized AI to generate the intricate UI components, such as the responsive Sidebar logic and the Player Bar controls.&lt;/p&gt;

&lt;p&gt;Challenge: Making the sidebar remember its state (collapsed/expanded) across refreshes while being responsive on mobile.&lt;/p&gt;

&lt;p&gt;AI Solution: Gemini suggested a custom hook using localStorage and resize event listeners that perfectly mimicked the native app feel.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Deployment with Gemini CLI &amp;amp; Cloud Run&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The most daunting part was deployment. How do you deploy a MERN stack (Frontend + Backend) efficiently?&lt;br&gt;
I used AI assistance to craft a Multi-Stage Dockerfile. It builds the React frontend, optimizes the Node.js backend, and bundles them into a single lightweight container.&lt;/p&gt;

&lt;p&gt;This container was then pushed to Google Artifact Registry and deployed to Google Cloud Run using gcloud commands generated with AI assistance, ensuring a serverless, scalable, and cost-effective deployment.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Tech Stack
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Frontend: React (Vite), Tailwind CSS, Framer Motion (for those buttery smooth transitions).&lt;/li&gt;
&lt;li&gt;Backend: Node.js, Express.js.&lt;/li&gt;
&lt;li&gt;Database: MongoDB Atlas (Mongoose).&lt;/li&gt;
&lt;li&gt;Media Engine: Cloudinary (Auto-optimizing images to prevent database bloat).&lt;/li&gt;
&lt;li&gt;Infrastructure: Docker &amp;amp; Google Cloud Run.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What I'm Most Proud Of
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;1. The "Player Bar" Navigation&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Instead of standard pagination, I built a Player Bar.&lt;/li&gt;
&lt;li&gt;Play/Pause: Actually toggles the project demo mode.&lt;/li&gt;
&lt;li&gt;Next/Prev: Skips through my project list.&lt;/li&gt;
&lt;li&gt;Share: Generates a Deep Link (e.g., /?id=campgear) so you can share a specific "track" (project) with others.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;2. A Real, Hidden Admin CMS&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;This isn't just a hardcoded JSON file. I built a fully functional Admin Dashboard protected by authentication.&lt;/li&gt;
&lt;li&gt;I can Create, Read, Update, and Delete (CRUD) projects, skills, and certificates directly from the UI.&lt;/li&gt;
&lt;li&gt;Image Upload System: I built a custom uploader that converts images to Base64, sends them to the backend, uploads to Cloudinary, and saves the optimized URL to MongoDB—all in one click.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;3. "Pixel-Perfect" Responsiveness&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Replicating Spotify's complex grid layout on mobile was tough.&lt;/li&gt;
&lt;li&gt;Desktop: Collapsible sidebar and expandable "Now Playing" details.&lt;/li&gt;
&lt;li&gt;Mobile: The sidebar transforms into a bottom sheet, and the grid adapts to touch interactions.&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;This portfolio represents my &lt;strong&gt;new year and new direction&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;More intentional design&lt;/li&gt;
&lt;li&gt;Stronger engineering fundamentals&lt;/li&gt;
&lt;li&gt;Real cloud deployments&lt;/li&gt;
&lt;li&gt;Smarter use of AI&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If there’s one thing I want judges to take away, it’s this:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;I don’t just build projects.&lt;br&gt;
I build systems — and I ship them.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Thank you for this challenge 🚀&lt;br&gt;
It pushed me beyond “just frontend” and into real-world cloud engineering.&lt;/p&gt;

&lt;h3&gt;
  
  
  Tags
&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;#devchallenge&lt;/code&gt; &lt;code&gt;#googleaichallenge&lt;/code&gt; &lt;code&gt;#portfolio&lt;/code&gt; &lt;code&gt;#gemini&lt;/code&gt; &lt;code&gt;#cloudrun&lt;/code&gt;&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>googleaichallenge</category>
      <category>portfolio</category>
      <category>gemini</category>
    </item>
  </channel>
</rss>
