<?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: Aakashpaliwal</title>
    <description>The latest articles on DEV Community by Aakashpaliwal (@aakashpaliwal).</description>
    <link>https://dev.to/aakashpaliwal</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%2F82430%2F5f8f0138-207b-45f5-bb96-8e66e55f087e.png</url>
      <title>DEV Community: Aakashpaliwal</title>
      <link>https://dev.to/aakashpaliwal</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/aakashpaliwal"/>
    <language>en</language>
    <item>
      <title>How I Built NetflixGPT — A React + Firebase PWA</title>
      <dc:creator>Aakashpaliwal</dc:creator>
      <pubDate>Mon, 30 Jun 2025 05:25:48 +0000</pubDate>
      <link>https://dev.to/aakashpaliwal/how-i-built-netflixgpt-a-react-firebase-pwa-27hk</link>
      <guid>https://dev.to/aakashpaliwal/how-i-built-netflixgpt-a-react-firebase-pwa-27hk</guid>
      <description>&lt;p&gt;After a layoff earlier this year, I decided to challenge myself by building a fully functional, responsive, production-ready Netflix clone — and I call it NetflixGPT.&lt;/p&gt;

&lt;p&gt;This project helped me strengthen my frontend skills, especially around React hooks, Firebase Auth, React Query, and PWA architecture.&lt;/p&gt;

&lt;p&gt;⚙️ Tech Stack&lt;br&gt;
React + Vite — Fast build and modular structure&lt;/p&gt;

&lt;p&gt;Firebase Auth — Login with Email/Google&lt;/p&gt;

&lt;p&gt;TMDB API — Movie &amp;amp; TV metadata&lt;/p&gt;

&lt;p&gt;Tailwind CSS — Responsive layout&lt;/p&gt;

&lt;p&gt;React Query — Caching &amp;amp; async fetch management&lt;/p&gt;

&lt;p&gt;Debounced Search — With useRef to avoid repeat calls&lt;/p&gt;

&lt;p&gt;PWA Support — With manifest, icons, installability&lt;/p&gt;

&lt;p&gt;✨ Key Features&lt;br&gt;
✅ Debounced real-time search using TMDB&lt;br&gt;
✅ Firebase login flow (email + Google)&lt;br&gt;
✅ Responsive header/navigation with Tailwind&lt;br&gt;
✅ Movies filtered by genre&lt;br&gt;
✅ Built-in caching of search results&lt;br&gt;
✅ Installable as a PWA (Add to Home Screen)&lt;br&gt;
✅ Deployed via Firebase Hosting&lt;/p&gt;

&lt;p&gt;💡 Lessons Learned&lt;br&gt;
*How to optimize component-level re-renders using memoization&lt;/p&gt;

&lt;p&gt;*Caching API responses with custom hooks + useRef&lt;/p&gt;

&lt;p&gt;*Handling stale closures in setTimeout inside React&lt;/p&gt;

&lt;p&gt;*Structuring PWA metadata for installability&lt;/p&gt;

&lt;p&gt;*Fine-tuning Firebase Auth redirects and route guards&lt;/p&gt;

&lt;p&gt;🚀 Try It Yourself&lt;br&gt;
&lt;a href="https://netflixgpt-c2b80.web.app/" rel="noopener noreferrer"&gt;https://netflixgpt-c2b80.web.app/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🙏 Final Thoughts&lt;br&gt;
This was a project I really enjoyed building. If you're preparing for frontend interviews or building your React portfolio, I highly recommend cloning and tweaking it.&lt;/p&gt;

&lt;p&gt;Also, a special thanks to &lt;strong&gt;Akshay Saini&lt;/strong&gt; — his videos helped me refresh my JavaScript foundation and sparked the idea for this project. If you're starting out, his content is gold.&lt;/p&gt;

&lt;p&gt;Feel free to leave feedback, suggestions, or questions!&lt;/p&gt;

&lt;p&gt;🧑‍💻 I'm open to frontend roles — remote or hybrid.&lt;br&gt;
tags: #react #firebase&lt;/p&gt;

</description>
      <category>react</category>
      <category>firebase</category>
      <category>namastedev</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
