<?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>Forem: Bharath D</title>
    <description>The latest articles on Forem by Bharath D (@bharath_d_2005).</description>
    <link>https://forem.com/bharath_d_2005</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%2F3268043%2Fdffe7c28-8d7b-4903-9a60-0fe05a378927.webp</url>
      <title>Forem: Bharath D</title>
      <link>https://forem.com/bharath_d_2005</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/bharath_d_2005"/>
    <language>en</language>
    <item>
      <title>🎌 Bring Anime to Life on the Web: How I Built an Interactive One Piece Website with GSAP</title>
      <dc:creator>Bharath D</dc:creator>
      <pubDate>Mon, 23 Jun 2025 08:16:52 +0000</pubDate>
      <link>https://forem.com/bharath_d_2005/bring-anime-to-life-on-the-web-how-i-built-an-interactive-one-piece-website-with-gsap-7a0</link>
      <guid>https://forem.com/bharath_d_2005/bring-anime-to-life-on-the-web-how-i-built-an-interactive-one-piece-website-with-gsap-7a0</guid>
      <description>&lt;p&gt;⚓️ Live Demo: onepiece-git-main-bharath-ds-projects.vercel.app&lt;br&gt;
📂 Source Code: github.com/Bharath80988/onepiece&lt;/p&gt;

&lt;p&gt;🍥 Why This Project?&lt;br&gt;
As an anime fan and a web developer, I wanted to create an immersive One Piece experience — not just a static fan page, but a scrollable journey where characters come alive as you explore.&lt;/p&gt;

&lt;p&gt;To do that, I needed buttery-smooth animations that work on all devices. After exploring various tools, GSAP (GreenSock Animation Platform) turned out to be the ultimate solution.&lt;/p&gt;

&lt;p&gt;⚙️ What is GSAP &amp;amp; Why Not Just CSS?&lt;br&gt;
GSAP is a powerful JavaScript library for building high-performance animations. Unlike plain CSS animations:&lt;/p&gt;

&lt;p&gt;✅ GSAP gives timeline control: Pause, play, reverse, or sequence animations easily.&lt;/p&gt;

&lt;p&gt;✅ Works with scroll: Plugins like ScrollTrigger link animations to scroll position.&lt;/p&gt;

&lt;p&gt;✅ Smooth &amp;amp; consistent: GSAP avoids layout thrashing by batching and optimizing changes.&lt;/p&gt;

&lt;p&gt;✅ Robust plugin ecosystem: Physics, morphing, draggable elements, and more.&lt;/p&gt;

&lt;p&gt;How animations render behind the scenes:&lt;/p&gt;

&lt;p&gt;When you animate transform and opacity, the browser uses the GPU (hardware acceleration). This bypasses costly reflows and paints, ensuring that frames are drawn directly in the compositor layer.&lt;/p&gt;

&lt;p&gt;GSAP batches and optimizes frame updates using requestAnimationFrame — syncing your code with the browser’s repaint cycle (usually 60fps).&lt;/p&gt;

&lt;p&gt;Plugins like ScrollTrigger watch scroll position efficiently without rechecking layout on every pixel scrolled.&lt;/p&gt;

&lt;p&gt;This means your scroll-based and chained animations don’t lag or stutter.&lt;/p&gt;

&lt;p&gt;📦 How to Install GSAP&lt;br&gt;
Pick your style:&lt;/p&gt;

&lt;p&gt;✅ 1️⃣ Install via npm/yarn&lt;/p&gt;

&lt;p&gt;npm install gsap&lt;/p&gt;

&lt;h1&gt;
  
  
  or
&lt;/h1&gt;

&lt;p&gt;yarn add gsap&lt;/p&gt;

&lt;p&gt;✅ 2️⃣ Use CDN&lt;br&gt;
Add this in your HTML:&lt;/p&gt;

&lt;p&gt;✅ 3️⃣ Import in JavaScript (Recommended)&lt;br&gt;
js&lt;br&gt;
Copy&lt;br&gt;
Edit&lt;br&gt;
import gsap from "gsap";&lt;br&gt;
import ScrollTrigger from "gsap/ScrollTrigger";&lt;/p&gt;

&lt;p&gt;gsap.registerPlugin(ScrollTrigger);&lt;/p&gt;

&lt;p&gt;Example animation:&lt;/p&gt;

&lt;p&gt;gsap.from(".luffy", {&lt;br&gt;
  scrollTrigger: {&lt;br&gt;
    trigger: ".luffy",&lt;br&gt;
    start: "top 80%",&lt;br&gt;
  },&lt;br&gt;
  y: 100,&lt;br&gt;
  opacity: 0,&lt;br&gt;
  duration: 1.2,&lt;br&gt;
  ease: "power4.out"&lt;br&gt;
});&lt;br&gt;
This says: “When .luffy comes into view at 80% of the viewport, slide it up from 100px below and fade it in.”&lt;/p&gt;

&lt;p&gt;🌀 Special GSAP Features I Used&lt;br&gt;
✨ ScrollTrigger&lt;br&gt;
Pin sections so scrolling scrubs the timeline.&lt;br&gt;
Trigger entrance effects on scroll.&lt;/p&gt;

&lt;p&gt;gsap.to(".zoro", {&lt;br&gt;
  scrollTrigger: {&lt;br&gt;
    trigger: ".zoro",&lt;br&gt;
    pin: true,&lt;br&gt;
    scrub: true,&lt;br&gt;
  },&lt;br&gt;
  x: 500,&lt;br&gt;
});&lt;/p&gt;

&lt;p&gt;✨ Timelines&lt;br&gt;
Chain multiple animations for scenes:&lt;br&gt;
const tl = gsap.timeline({&lt;br&gt;
  scrollTrigger: {&lt;br&gt;
    trigger: ".crew-section",&lt;br&gt;
    start: "top top",&lt;br&gt;
    scrub: 1,&lt;br&gt;
    pin: true,&lt;br&gt;
  }&lt;br&gt;
});&lt;/p&gt;

&lt;p&gt;tl.to(".sanji", { y: -100, opacity: 1 })&lt;br&gt;
  .to(".nami", { x: 200, opacity: 1 }, "&amp;lt;");&lt;br&gt;
"&amp;lt;" means “start at the same time.”&lt;/p&gt;

&lt;p&gt;✨ Stagger &amp;amp; Easing&lt;br&gt;
Natural, spring-like motion and staggered group entrances:&lt;/p&gt;

&lt;p&gt;gsap.from(".crew-member", {&lt;br&gt;
  y: 50,&lt;br&gt;
  opacity: 0,&lt;br&gt;
  stagger: 0.3,&lt;br&gt;
  duration: 1,&lt;br&gt;
  ease: "back.out(1.7)"&lt;br&gt;
});&lt;/p&gt;

&lt;p&gt;⚡ How to Make GSAP Animations Efficient&lt;br&gt;
✅ Use transform and opacity: Avoid animating properties like width, top, left. Use scale, translateX, translateY.&lt;/p&gt;

&lt;p&gt;✅ Use hardware layers: GSAP does this for you with force3D: true.&lt;/p&gt;

&lt;p&gt;✅ Batch animations: For lists with similar triggers:&lt;br&gt;
ScrollTrigger.batch(".crew-member", {&lt;br&gt;
  onEnter: batch =&amp;gt; gsap.to(batch, {&lt;br&gt;
    opacity: 1,&lt;br&gt;
    y: 0,&lt;br&gt;
    stagger: 0.15&lt;br&gt;
  }),&lt;br&gt;
  start: "top 80%"&lt;br&gt;
});&lt;/p&gt;

&lt;p&gt;✅ Optimize images &amp;amp; assets: Heavy images block the main thread. Use web-optimized JPG/WEBP.&lt;/p&gt;

&lt;p&gt;✅ Minimize DOM reflows: Group animations, avoid inline style changes during scroll.&lt;/p&gt;

&lt;h2&gt;
  
  
  🔍 GSAP vs. Other Animation Libraries
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Feature&lt;/th&gt;
&lt;th&gt;GSAP&lt;/th&gt;
&lt;th&gt;Anime.js&lt;/th&gt;
&lt;th&gt;CSS Animations&lt;/th&gt;
&lt;th&gt;Framer Motion&lt;/th&gt;
&lt;th&gt;Lottie&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Timelines&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;✅ Robust&lt;/td&gt;
&lt;td&gt;⚠️ Limited&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Scroll-based&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;✅ ScrollTrigger&lt;/td&gt;
&lt;td&gt;⚠️ Manual&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;⚠️&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Plugins&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;✅ Many&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;✅ Pre-rendered&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;SVG Morphing&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;✅ MorphSVG&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Interactivity&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;⚠️&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;👉 TL;DR: For scroll-driven, complex, interactive motion: GSAP + ScrollTrigger is unmatched.&lt;/p&gt;

&lt;p&gt;🏴‍☠️ What I Learned&lt;br&gt;
✅ Planning the scenes ahead helps: break your story into scrollable chunks.&lt;br&gt;
✅ GSAP’s syntax is beginner-friendly but powerful for pros.&lt;br&gt;
✅ Debugging scroll triggers visually with markers helps a lot:&lt;br&gt;
ScrollTrigger.create({&lt;br&gt;
  trigger: ".luffy",&lt;br&gt;
  start: "top 80%",&lt;br&gt;
  markers: true // shows start/end markers&lt;br&gt;
});&lt;br&gt;
✅ Animations make static pages feel alive — but don’t overdo it: use them to guide attention!&lt;/p&gt;

&lt;p&gt;🎉 Check It Out&lt;br&gt;
🔗 Live Site: &lt;a href="https://onepiece-git-main-bharath-ds-projects.vercel.app" rel="noopener noreferrer"&gt;https://onepiece-git-main-bharath-ds-projects.vercel.app&lt;/a&gt;&lt;br&gt;
📂 Code: &lt;a href="https://github.com/Bharath80988/onepiece" rel="noopener noreferrer"&gt;https://github.com/Bharath80988/onepiece&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;❤️ Conclusion&lt;br&gt;
GSAP is a game-changer for modern interactive web experiences. Whether you’re building an anime tribute, a portfolio, or a product landing page, learning GSAP gives you the power to turn ideas into fluid, immersive stories.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>💸 Expenzy: An AI-Powered Expense Tracker with Forecasting, Clustering &amp; Anomaly Detection</title>
      <dc:creator>Bharath D</dc:creator>
      <pubDate>Mon, 16 Jun 2025 07:43:38 +0000</pubDate>
      <link>https://forem.com/bharath_d_2005/expenzy-an-ai-powered-expense-tracker-with-forecasting-clustering-anomaly-detection-1d2c</link>
      <guid>https://forem.com/bharath_d_2005/expenzy-an-ai-powered-expense-tracker-with-forecasting-clustering-anomaly-detection-1d2c</guid>
      <description>&lt;p&gt;Expenzy: A Smart Expense Tracker Built with the MERN Stack and Real Machine Learning&lt;/p&gt;

&lt;p&gt;Hey dev community 👋,&lt;/p&gt;

&lt;p&gt;I’m excited to share &lt;strong&gt;Expenzy&lt;/strong&gt; — my college mini project that grew into a &lt;strong&gt;full-featured personal expense manager&lt;/strong&gt; built on the &lt;strong&gt;MERN stack&lt;/strong&gt; — with integrated &lt;strong&gt;Machine Learning&lt;/strong&gt; for smarter budgeting!&lt;/p&gt;




&lt;h2&gt;
  
  
  🚀 &lt;strong&gt;What is Expenzy?&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Most expense trackers just record numbers. Expenzy goes beyond that. It helps you:&lt;/p&gt;

&lt;p&gt;✅ Log and track expenses securely (with authentication)&lt;br&gt;&lt;br&gt;
✅ Visualize your spending on an intuitive dashboard&lt;br&gt;&lt;br&gt;
✅ Forecast future expenses using &lt;strong&gt;Prophet&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
✅ Detect unusual transactions with &lt;strong&gt;Anomaly Detection&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
✅ Cluster your spending patterns with &lt;strong&gt;K-Means Clustering&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
✅ Predict sales with &lt;strong&gt;Logistic Regression&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
✅ Get personalized budget recommendations — all powered by real ML models!&lt;/p&gt;




&lt;h2&gt;
  
  
  ⚙️ &lt;strong&gt;Tech Stack&lt;/strong&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Frontend:&lt;/strong&gt; React.js (interactive, responsive UI)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Backend:&lt;/strong&gt; Node.js + Express.js (API and server logic)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Database:&lt;/strong&gt; MongoDB (secure, flexible data storage)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Machine Learning:&lt;/strong&gt; Implemented using JS libraries and integrated directly in the backend logic.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🔑 &lt;strong&gt;Why Expenzy is Different&lt;/strong&gt;
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Feature&lt;/th&gt;
&lt;th&gt;Typical Expense Tracker&lt;/th&gt;
&lt;th&gt;&lt;strong&gt;Expenzy&lt;/strong&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Authentication&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Dashboard &amp;amp; Reports&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Machine Learning Forecasting&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Anomaly Detection&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Budget Recommendations&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;K-Means Clustering&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Built with MERN Stack&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Open Source&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Ready for Production&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  📊 &lt;strong&gt;Key ML Features&lt;/strong&gt;
&lt;/h2&gt;

&lt;h3&gt;
  
  
  📈 &lt;strong&gt;Forecasting with Prophet&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Predict your future expenses based on historical data so you can plan ahead confidently.&lt;/p&gt;

&lt;h3&gt;
  
  
  🕵️ &lt;strong&gt;Anomaly Detection&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Catch suspicious or unusual spending patterns to avoid surprises.&lt;/p&gt;

&lt;h3&gt;
  
  
  📑 &lt;strong&gt;K-Means Clustering&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Automatically group your spending categories for clearer insights into your habits.&lt;/p&gt;

&lt;h3&gt;
  
  
  🎯 &lt;strong&gt;Budget Recommendation&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Get smart, personalized suggestions on how much to budget based on your spending history.&lt;/p&gt;




&lt;h2&gt;
  
  
  🖥️ &lt;strong&gt;Live Demo&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;👉&lt;a href="https://expenzy-git-main-bharath-ds-projects.vercel.app" rel="noopener noreferrer"&gt;https://expenzy-git-main-bharath-ds-projects.vercel.app&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  📂 &lt;strong&gt;Source Code&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Here’s the complete codebase if you want to explore, fork, or contribute:&lt;br&gt;&lt;br&gt;
👉 &lt;a href="https://github.com/Bharath80988/Expenzy" rel="noopener noreferrer"&gt;Bharath80988/Expenzy&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  📌 &lt;strong&gt;Why I Built Expenzy&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;I wanted to challenge myself to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Combine a clean &lt;strong&gt;MERN architecture&lt;/strong&gt; with actual &lt;strong&gt;Machine Learning models&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Make personal finance smarter, not just a digital ledger&lt;/li&gt;
&lt;li&gt;Learn to deploy full-stack apps with modern tooling&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🚀 &lt;strong&gt;What’s Next&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;✅ Add notifications &amp;amp; alerts for anomalies&lt;br&gt;&lt;br&gt;
✅ Fine-tune ML models with larger datasets&lt;br&gt;&lt;br&gt;
✅ Build a mobile app version for on-the-go tracking&lt;br&gt;&lt;br&gt;
✅ Deploy a robust production version with CI/CD&lt;/p&gt;




&lt;h2&gt;
  
  
  🤝 &lt;strong&gt;Let’s Connect!&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Your feedback is super valuable. Let me know what you think or how you’d improve it!&lt;/p&gt;

&lt;p&gt;📫 &lt;a href="https://www.linkedin.com/in/bharath-d-163784257/" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt;&lt;br&gt;&lt;br&gt;
⭐️ &lt;a href="https://github.com/Bharath80988/Expenzy" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;If you liked this project, please leave a ❤️, star the repo, and share your thoughts below! 🚀✨&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;#mernstack #react #node #mongodb #machinelearning #webdev #opensource #budgeting&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>react</category>
      <category>express</category>
      <category>expense</category>
    </item>
  </channel>
</rss>
