<?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: Ashish prajapati</title>
    <description>The latest articles on DEV Community by Ashish prajapati (@anticoder03).</description>
    <link>https://dev.to/anticoder03</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%2F1980090%2F4795ddaa-747b-4400-996c-d9b6ad841839.png</url>
      <title>DEV Community: Ashish prajapati</title>
      <link>https://dev.to/anticoder03</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/anticoder03"/>
    <language>en</language>
    <item>
      <title>🚀 From Excel to Web App: How I Built a Smart Assignment Management System for 125 Students</title>
      <dc:creator>Ashish prajapati</dc:creator>
      <pubDate>Sun, 12 Oct 2025 06:46:38 +0000</pubDate>
      <link>https://dev.to/anticoder03/from-excel-to-web-app-how-i-built-a-smart-assignment-management-system-for-125-students-3jac</link>
      <guid>https://dev.to/anticoder03/from-excel-to-web-app-how-i-built-a-smart-assignment-management-system-for-125-students-3jac</guid>
      <description>&lt;h2&gt;
  
  
  👋 Introduction
&lt;/h2&gt;

&lt;p&gt;Hey everyone! I’m &lt;strong&gt;Ashish&lt;/strong&gt;, an &lt;strong&gt;MCA student&lt;/strong&gt; — and, like most developers, I can’t resist turning simple problems into full-on coding projects. 😅&lt;/p&gt;

&lt;p&gt;This semester, my &lt;strong&gt;Python professor&lt;/strong&gt; gave me a new role:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“You’ll be the Python subject representative. Help manage assignments and track student progress.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Sounds easy, right? Well, not quite.&lt;/p&gt;

&lt;p&gt;My actual task was to &lt;strong&gt;monitor assignment progress for all 125 students&lt;/strong&gt;, help the professor &lt;strong&gt;communicate updates to the class&lt;/strong&gt;, and ensure that everyone’s &lt;strong&gt;assignments were properly submitted and tracked&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The professor suggested the old-school route —&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“Just keep it all in an Excel sheet.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;But come on... I’m a developer. Why settle for spreadsheets when I can build something better?&lt;/p&gt;

&lt;p&gt;So, I decided to &lt;strong&gt;turn this Excel nightmare into a full-fledged web application&lt;/strong&gt; that could handle everything — tracking, monitoring, communication, and analytics — all in one place.&lt;/p&gt;

&lt;p&gt;That’s how &lt;strong&gt;Assignment Checklist&lt;/strong&gt; was born. 🎯&lt;/p&gt;




&lt;h2&gt;
  
  
  💡 The Idea: Turning Manual Management into a Smart Web App
&lt;/h2&gt;

&lt;p&gt;What started as a “track assignments” task quickly turned into something much bigger:&lt;br&gt;
A complete &lt;strong&gt;Assignment Management and Progress Monitoring System&lt;/strong&gt; for the entire class.&lt;/p&gt;

&lt;p&gt;The goal?&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Make it easy for teachers and reps to manage assignments, monitor student performance, and communicate updates efficiently.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;No Excel sheets. No manual status updates. Just clean, digital automation.&lt;/p&gt;




&lt;h2&gt;
  
  
  🧭 What Is “Assignment Checklist”?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Assignment Checklist&lt;/strong&gt; is a &lt;strong&gt;web application&lt;/strong&gt; designed for &lt;strong&gt;teachers, subject representatives, and students&lt;/strong&gt; to simplify assignment tracking, class communication, and progress monitoring.&lt;/p&gt;

&lt;p&gt;Here’s what it can do:&lt;/p&gt;




&lt;h3&gt;
  
  
  ✨ Key Features
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;🗂️ &lt;strong&gt;Assignment Management&lt;/strong&gt;&lt;br&gt;
Create, edit, and organize assignments with due dates and descriptions.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;👨‍🎓 &lt;strong&gt;Student Progress Tracking (125+ Students)&lt;/strong&gt;&lt;br&gt;
Track every student’s assignment status — from &lt;em&gt;Uncompleted&lt;/em&gt; to &lt;em&gt;Pending&lt;/em&gt; to &lt;em&gt;Completed&lt;/em&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;📢 &lt;strong&gt;Professor–Class Communication&lt;/strong&gt;&lt;br&gt;
The app helps professors and class reps share important updates or reminders directly — no separate WhatsApp chaos.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;📊 &lt;strong&gt;Live Analytics Dashboard&lt;/strong&gt;&lt;br&gt;
Visualize class-wide progress with interactive &lt;strong&gt;Chart.js&lt;/strong&gt; graphs and summaries.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;🔒 &lt;strong&gt;Secure Editing&lt;/strong&gt;&lt;br&gt;
Only authorized users (professors or reps) can modify student records or mark completion.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;📈 &lt;strong&gt;Reports &amp;amp; Insights&lt;/strong&gt;&lt;br&gt;
Get instant overviews of overall performance — who’s on track and who’s falling behind.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;💬 &lt;strong&gt;Simplified Collaboration&lt;/strong&gt;&lt;br&gt;
Makes it easy for the professor and subject rep to coordinate and track class-wide assignment flow.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&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;&lt;strong&gt;PHP (Vanilla)&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Backend logic and data handling&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;MySQL&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Database for assignments &amp;amp; student records&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Bootstrap 5&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Clean, responsive user interface&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Chart.js&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Interactive charts for progress tracking&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;FontAwesome&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Icons to improve UI clarity&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;HTML/CSS/JavaScript&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Frontend structure and interactivity&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;XAMPP&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Local development and testing environment&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;blockquote&gt;
&lt;p&gt;I kept it simple, lightweight, and deployable on any basic server — perfect for quick academic tools.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  ⚙️ Architecture &amp;amp; Documentation (Coming Soon!)
&lt;/h2&gt;

&lt;p&gt;To make it scalable and maintainable, I’m documenting everything, including:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🧾 &lt;strong&gt;DFD (Data Flow Diagram)&lt;/strong&gt; – Data movement between modules&lt;/li&gt;
&lt;li&gt;🧱 &lt;strong&gt;ER Diagram&lt;/strong&gt; – Entity relationships for assignments, students, and subjects&lt;/li&gt;
&lt;li&gt;🎭 &lt;strong&gt;Use Case Diagram&lt;/strong&gt; – Role-based system interactions&lt;/li&gt;
&lt;li&gt;⚡ &lt;strong&gt;API Documentation&lt;/strong&gt; – For potential integration with student/teacher login systems&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;All documentation will soon be available on the GitHub repo.&lt;/p&gt;




&lt;h2&gt;
  
  
  🖥️ Preview &amp;amp; Source Code
&lt;/h2&gt;

&lt;p&gt;📂 &lt;strong&gt;GitHub Repository:&lt;/strong&gt;&lt;br&gt;
👉 &lt;a href="https://github.com/Anticoder03/assignment-management" rel="noopener noreferrer"&gt;Assignment Checklist Web App&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🌐&lt;strong&gt;Preview(Static)&lt;/strong&gt;:&lt;/p&gt;

&lt;p&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%2Fwmrlc26jtgdaxj2aekgj.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%2Fwmrlc26jtgdaxj2aekgj.png" alt=" " width="800" height="472"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&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%2Fbkq447sdhnkmn2pl17oi.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%2Fbkq447sdhnkmn2pl17oi.png" alt=" " width="800" height="368"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&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%2F0m2y16miqk2oqe0i0cds.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%2F0m2y16miqk2oqe0i0cds.png" alt=" " width="800" height="260"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&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%2Fv6ze7vq0ami27otb1wa3.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%2Fv6ze7vq0ami27otb1wa3.png" alt=" " width="800" height="389"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&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%2Fl60qjk0aptsazix1gam5.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%2Fl60qjk0aptsazix1gam5.png" alt=" " width="800" height="284"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&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%2Fbpo2wc3cllxn3a1kfrve.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%2Fbpo2wc3cllxn3a1kfrve.png" alt=" " width="800" height="503"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&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%2Fak0w7snyhvye571eid25.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%2Fak0w7snyhvye571eid25.png" alt=" " width="800" height="560"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&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%2F1o1ruwtmbt4udm3nthoq.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%2F1o1ruwtmbt4udm3nthoq.png" alt=" " width="800" height="279"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&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%2Fuzlv7pf1qozbddcdf8w4.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%2Fuzlv7pf1qozbddcdf8w4.png" alt=" " width="800" height="394"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&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%2Frxpjtosejkdwy50u4hkv.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%2Frxpjtosejkdwy50u4hkv.png" alt=" " width="800" height="377"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🌐 &lt;strong&gt;Live Preview:&lt;/strong&gt;&lt;br&gt;
Coming soon! (Will update once deployed publicly.)&lt;/p&gt;




&lt;h2&gt;
  
  
  🔍 Behind the Scenes: What I Learned
&lt;/h2&gt;

&lt;p&gt;This project taught me way more than I expected:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Excel doesn’t scale&lt;/strong&gt; — especially for 125 students 😅&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;UI/UX matters&lt;/strong&gt; — teachers don’t want to “figure things out”; it has to &lt;em&gt;just work&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Database design is the backbone&lt;/strong&gt; — normalization and relationships made progress tracking smooth&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Automation saves time&lt;/strong&gt; — what took hours in Excel now happens instantly&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Collaboration needs structure&lt;/strong&gt; — the app became the single source of truth for all assignment updates&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  💬 Future Plans
&lt;/h2&gt;

&lt;p&gt;I’m currently expanding &lt;strong&gt;Assignment Checklist&lt;/strong&gt; into something even more powerful:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🔐 &lt;strong&gt;User Authentication:&lt;/strong&gt; Separate dashboards for teachers, reps, and students&lt;/li&gt;
&lt;li&gt;📱 &lt;strong&gt;Mobile-First UI:&lt;/strong&gt; Redesign using Tailwind CSS for smoother mobile access&lt;/li&gt;
&lt;li&gt;📬 &lt;strong&gt;Automated Notifications:&lt;/strong&gt; Email/SMS alerts for pending or upcoming assignments&lt;/li&gt;
&lt;li&gt;📤 &lt;strong&gt;PDF Reports:&lt;/strong&gt; One-click export of student progress for professors&lt;/li&gt;
&lt;li&gt;☁️ &lt;strong&gt;Cloud Deployment:&lt;/strong&gt; Online hosting for real-time access&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🤝 Contributing
&lt;/h2&gt;

&lt;p&gt;I’d love your thoughts, feedback, or pull requests!&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fork the repo&lt;/li&gt;
&lt;li&gt;Create your feature branch&lt;/li&gt;
&lt;li&gt;Submit a PR with your improvement&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You can also connect directly via &lt;a href="https://github.com/Anticoder03" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;.&lt;br&gt;
If you like the project, &lt;strong&gt;leave a ⭐ on the repo&lt;/strong&gt; — it really helps!&lt;/p&gt;




&lt;h2&gt;
  
  
  👨‍💻 About the Author
&lt;/h2&gt;

&lt;p&gt;Hey, I’m &lt;strong&gt;Ashish (aka &lt;a href="https://github.com/Anticoder03" rel="noopener noreferrer"&gt;Anticoder03&lt;/a&gt;)&lt;/strong&gt; — a coding enthusiast, anime lover, and someone who believes in building solutions that make everyday life easier.&lt;/p&gt;

&lt;p&gt;I enjoy taking small, repetitive academic tasks and turning them into creative coding projects. This one’s a perfect example — what started as “track Excel assignments” became a real working system that helps 125 students and my professor every day.&lt;/p&gt;




&lt;blockquote&gt;
&lt;p&gt;💡 “If a task feels repetitive, automate it. If it feels boring, make it creative.”&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  🏁 Final Words
&lt;/h2&gt;

&lt;p&gt;This project started as a small helper tool for my class, but it became something way bigger — a digital system that connects &lt;strong&gt;professors, reps, and students&lt;/strong&gt;, making academic coordination smoother and more efficient.&lt;/p&gt;

&lt;p&gt;If you’re a student, rep, or teacher tired of manually updating spreadsheets, take it from me — building your own web app might just be the best learning experience you’ll have this semester.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Thanks for reading! ❤️&lt;/strong&gt;&lt;br&gt;
Let’s connect and collaborate —&lt;br&gt;
🔗 &lt;a href="https://github.com/Anticoder03" rel="noopener noreferrer"&gt;GitHub: Anticoder03&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  🧩 TL;DR
&lt;/h3&gt;

&lt;p&gt;Built a full web app to replace Excel-based assignment tracking and class communication for &lt;strong&gt;125 students&lt;/strong&gt; using PHP, MySQL, and Bootstrap — complete with analytics, reports, and secure access.&lt;/p&gt;

&lt;p&gt;Because… &lt;strong&gt;developers don’t just manage data — they build systems.&lt;/strong&gt; 💪&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>productivity</category>
      <category>database</category>
      <category>learning</category>
    </item>
    <item>
      <title>🚀 Build Your Own Anime Explorer with HTML, Tailwind &amp; the Jikan API!</title>
      <dc:creator>Ashish prajapati</dc:creator>
      <pubDate>Thu, 26 Jun 2025 05:25:19 +0000</pubDate>
      <link>https://dev.to/anticoder03/build-your-own-anime-explorer-with-html-tailwind-the-jikan-api-4jkd</link>
      <guid>https://dev.to/anticoder03/build-your-own-anime-explorer-with-html-tailwind-the-jikan-api-4jkd</guid>
      <description>&lt;p&gt;Are you an anime fan &lt;em&gt;and&lt;/em&gt; a web dev? Why not combine both and build something epic? 💥&lt;/p&gt;

&lt;p&gt;Introducing &lt;strong&gt;AnimeForge&lt;/strong&gt; – a fully responsive web app that shows top-rated anime, movies, and even lets you search and view detailed info using the &lt;strong&gt;Jikan API&lt;/strong&gt; (MyAnimeList Unofficial API). This project is built with &lt;strong&gt;HTML, Tailwind CSS, and JavaScript&lt;/strong&gt; – no frameworks, just clean code and otaku energy! ⚔️👨‍💻&lt;/p&gt;




&lt;h2&gt;
  
  
  🌟 Features
&lt;/h2&gt;

&lt;p&gt;✅ Explore top-rated anime series&lt;br&gt;&lt;br&gt;
✅ Browse anime movies&lt;br&gt;&lt;br&gt;
✅ View full anime details (genre, episodes, rating, synopsis, etc.)&lt;br&gt;&lt;br&gt;
✅ Dark / Light Theme Toggle 🌗&lt;br&gt;&lt;br&gt;
✅ Live Search functionality 🔍&lt;br&gt;&lt;br&gt;
✅ Responsive layout with Tailwind CSS&lt;br&gt;&lt;br&gt;
✅ Built with 🧠 and ❤️ by a fellow otaku&lt;/p&gt;


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

&lt;ul&gt;
&lt;li&gt;📄 &lt;strong&gt;HTML5&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;🎨 &lt;strong&gt;Tailwind CSS&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;🔥 &lt;strong&gt;Vanilla JavaScript&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;📡 &lt;strong&gt;&lt;a href="https://jikan.moe/" rel="noopener noreferrer"&gt;Jikan API&lt;/a&gt;&lt;/strong&gt; – for anime data&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;
  
  
  🖼️ Screenshots
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;All UI is responsive and works great on mobile &amp;amp; desktop.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&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%2Fcem9qp3kch5pk06nhoi2.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%2Fcem9qp3kch5pk06nhoi2.png" alt="Home Page" width="800" height="424"&gt;&lt;/a&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%2Fz3ur0qo8crg1kztsgomq.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%2Fz3ur0qo8crg1kztsgomq.png" alt="Home Page 2" width="800" height="348"&gt;&lt;/a&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%2Fe11b12d9et7sqy4i4eom.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%2Fe11b12d9et7sqy4i4eom.png" alt="About Page" width="800" height="242"&gt;&lt;/a&gt;&lt;br&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%2Fraw.githubusercontent.com%2FAnticoder03%2FAnimeForge%2Frefs%2Fheads%2Fmain%2Fscreenshort%2Fanime-1.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%2Fraw.githubusercontent.com%2FAnticoder03%2FAnimeForge%2Frefs%2Fheads%2Fmain%2Fscreenshort%2Fanime-1.png" alt="Anime Series" width="800" height="424"&gt;&lt;/a&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%2Fjlkvub0oapw4is44pk9x.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%2Fjlkvub0oapw4is44pk9x.png" alt="Anime Movies" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;


&lt;h2&gt;
  
  
  📂 Project Structure
&lt;/h2&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;AnimeForge/
├── index.html             &lt;span class="c"&gt;# Top Anime Page&lt;/span&gt;
├── movies.html            &lt;span class="c"&gt;# Movie Page&lt;/span&gt;
├── anime.html             &lt;span class="c"&gt;# Anime Details Page&lt;/span&gt;
├── about.html             &lt;span class="c"&gt;# About Me Page&lt;/span&gt;
├── theme_change.js        &lt;span class="c"&gt;# Dark mode logic&lt;/span&gt;
├── screenshorst/          &lt;span class="c"&gt;# Screenshots&lt;/span&gt;
└── README.md / LICENSE
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  🔧 How It Works
&lt;/h2&gt;

&lt;p&gt;We use the &lt;a href="https://jikan.moe/" rel="noopener noreferrer"&gt;Jikan REST API&lt;/a&gt; to fetch:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;📺 Top anime series → &lt;code&gt;https://api.jikan.moe/v4/top/anime?type=tv&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;🎬 Top anime movies → &lt;code&gt;https://api.jikan.moe/v4/anime?type=movie&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;🔍 Search anime by name → &lt;code&gt;https://api.jikan.moe/v4/anime?q={search}&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;All cards are dynamically generated using plain JS DOM magic. Clicking on a card opens &lt;code&gt;anime.html?id=XXXX&lt;/code&gt;, fetches full info, and renders a beautiful detail view.&lt;/p&gt;


&lt;h2&gt;
  
  
  💡 Live Demo
&lt;/h2&gt;

&lt;p&gt;🚀 &lt;a href="https://animeforge.netlify.app/" rel="noopener noreferrer"&gt;https://animeforge.netlify.app/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;📁 Or just clone it and run locally:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/Anticoder03/animeforge.git
&lt;span class="nb"&gt;cd &lt;/span&gt;animeforge
open index.html
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  🙋‍♂️ About the Developer
&lt;/h2&gt;

&lt;p&gt;Hey! I'm &lt;strong&gt;Ashish Prajapati&lt;/strong&gt; – a full-stack learner, anime lover, and terminal ninja from 🇮🇳&lt;br&gt;
Built this as a fun side project to combine code + anime 👨‍💻⚔️&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🐙 GitHub: &lt;a href="https://github.com/Anticoder03" rel="noopener noreferrer"&gt;Anticoder03&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📸 Instagram: &lt;a href="https://www.instagram.com/ashiah03_prajapati/" rel="noopener noreferrer"&gt;@ashiah03_prajapati&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  📜 License
&lt;/h2&gt;

&lt;p&gt;Licensed under the MIT License. Use it, remix it, share it freely 🪄&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;“Anime taught me never to give up. Code made me unstoppable.”&lt;/em&gt; – &lt;strong&gt;Ashish (Anticoder03)&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  ✨ Let’s Connect!
&lt;/h2&gt;

&lt;p&gt;💬 Drop a comment if you liked it or want more anime-themed dev content.&lt;br&gt;
💡 Thinking of building a React/GSAP version next — who’s in?&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>api</category>
      <category>css</category>
    </item>
    <item>
      <title>🚀 Chrome 135 Brings `::scroll-button()` and `::scroll-marker()` — Say Goodbye to JavaScript Carousels</title>
      <dc:creator>Ashish prajapati</dc:creator>
      <pubDate>Fri, 13 Jun 2025 05:00:18 +0000</pubDate>
      <link>https://dev.to/anticoder03/chrome-135-brings-scroll-button-and-scroll-marker-say-goodbye-to-javascript-529c</link>
      <guid>https://dev.to/anticoder03/chrome-135-brings-scroll-button-and-scroll-marker-say-goodbye-to-javascript-529c</guid>
      <description>&lt;p&gt;With the release of &lt;strong&gt;Chrome 135&lt;/strong&gt;, web developers finally get access to two powerful new pseudo-elements:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;::scroll-button()&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;::scroll-marker()&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These pseudo-elements unlock &lt;strong&gt;fully functional carousels&lt;/strong&gt;, sliders, and scrollable components without a single line of JavaScript.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;TL;DR:&lt;/strong&gt; These new features make interactive scroll experiences &lt;em&gt;accessible&lt;/em&gt;, &lt;em&gt;stylable&lt;/em&gt;, and &lt;em&gt;keyboard-friendly&lt;/em&gt; — all from your CSS file.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  🆕 What Are &lt;code&gt;::scroll-button()&lt;/code&gt; and &lt;code&gt;::scroll-marker()&lt;/code&gt;?
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;code&gt;::scroll-button()&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;This pseudo-element renders &lt;strong&gt;scroll control buttons&lt;/strong&gt; — left/right or up/down depending on the scroll direction. You can style them like any element, and users can interact with them out of the box.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;code&gt;::scroll-marker()&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;Think of this like scrollable radio dots — showing the &lt;strong&gt;position of each scroll snap point&lt;/strong&gt;. They’re interactive, accessible, and visual indicators of your scroll progress.&lt;/p&gt;

&lt;h3&gt;
  
  
  Why They're a Big Deal
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;✅ &lt;strong&gt;Automatically accessible&lt;/strong&gt; (screen reader + keyboard support)&lt;/li&gt;
&lt;li&gt;✅ Pairs with &lt;code&gt;scroll-snap-type&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;✅ &lt;strong&gt;No JavaScript needed&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;✅ Fully stylable using CSS&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🔥 Real-World Carousel Example (JavaScript Fallback)
&lt;/h2&gt;

&lt;p&gt;Here’s a simple JavaScript-based carousel (for legacy support), which will soon be &lt;strong&gt;entirely CSS-driven&lt;/strong&gt; using &lt;code&gt;::scroll-button()&lt;/code&gt; and &lt;code&gt;::scroll-marker()&lt;/code&gt; in Chrome 135+:&lt;/p&gt;

&lt;p&gt;👉 &lt;strong&gt;&lt;a href="https://clever-cocada-9cd821.netlify.app/" rel="noopener noreferrer"&gt;Live Demo Here&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="c"&gt;&amp;lt;!-- Full working demo with scroll + JS --&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"carousel"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="c"&gt;&amp;lt;!-- Slides --&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;[Full code example here... already shown above]&lt;/p&gt;




&lt;h2&gt;
  
  
  💡 What This Will Look Like in Pure CSS
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="nc"&gt;.scroll-container&lt;/span&gt;&lt;span class="nd"&gt;::scroll-button&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nt"&gt;start&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;content&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;'◀'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;position&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;absolute&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;left&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;top&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;50%&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;transform&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;translateY&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="m"&gt;-50%&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nc"&gt;.scroll-container&lt;/span&gt;&lt;span class="nd"&gt;::scroll-button&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nt"&gt;end&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;content&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;'▶'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;position&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;absolute&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;right&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;top&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;50%&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;transform&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;translateY&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="m"&gt;-50%&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;No JavaScript. No event listeners. Just drop in a &lt;code&gt;scroll-snap&lt;/code&gt; container, and the browser handles it.&lt;/p&gt;




&lt;h2&gt;
  
  
  🎯 Why This Matters
&lt;/h2&gt;

&lt;p&gt;Using &lt;code&gt;::scroll-button()&lt;/code&gt; and &lt;code&gt;::scroll-marker()&lt;/code&gt; means:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;✅ Native accessibility (no ARIA hoops to jump through)&lt;/li&gt;
&lt;li&gt;✅ Built-in keyboard support&lt;/li&gt;
&lt;li&gt;✅ Zero JS needed for sliders&lt;/li&gt;
&lt;li&gt;✅ Smaller bundle sizes, better perf&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🧪 Browser Support (as of Chrome 135)
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Browser&lt;/th&gt;
&lt;th&gt;Support&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;✅ Chrome 135+&lt;/td&gt;
&lt;td&gt;Full&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;⚠️ Edge (Chromium)&lt;/td&gt;
&lt;td&gt;Behind flag&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;❌ Firefox&lt;/td&gt;
&lt;td&gt;Not yet&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;❌ Safari&lt;/td&gt;
&lt;td&gt;Not yet&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;To enable the feature in Chrome manually:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;chrome://flags/#enable-experimental-web-platform-features
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






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

&lt;p&gt;This is a &lt;em&gt;huge leap&lt;/em&gt; for native web components. Once Firefox and Safari catch up, we’ll finally have fully accessible carousels and sliders &lt;strong&gt;without needing bloated libraries or JS hacks&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Until then — &lt;strong&gt;progressive enhancement&lt;/strong&gt; is your best friend.&lt;/p&gt;




&lt;h2&gt;
  
  
  🙋‍♂️ Let’s Talk!
&lt;/h2&gt;

&lt;p&gt;What would &lt;em&gt;you&lt;/em&gt; build with &lt;code&gt;::scroll-button()&lt;/code&gt;?&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A portfolio carousel?&lt;/li&gt;
&lt;li&gt;A product slider?&lt;/li&gt;
&lt;li&gt;An onboarding walkthrough?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Should developers &lt;strong&gt;ditch JS sliders forever&lt;/strong&gt;? Or is it too early?&lt;/p&gt;




&lt;p&gt;👉 &lt;strong&gt;Try the full responsive carousel demo:&lt;/strong&gt;&lt;br&gt;
🔗 &lt;a href="https://clever-cocada-9cd821.netlify.app/" rel="noopener noreferrer"&gt;https://clever-cocada-9cd821.netlify.app/&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Follow me for more frontend deep dives!&lt;/strong&gt;&lt;br&gt;
#CSS #HTML #Chrome135 #Frontend #WebDev #Accessibility #scrollbutton #nativecarousel #DevTo&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>css</category>
      <category>beginners</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>🧾 Build Your Own Modern Resume Builder with HTML, Tailwind CSS &amp; JavaScript</title>
      <dc:creator>Ashish prajapati</dc:creator>
      <pubDate>Sun, 04 May 2025 04:33:12 +0000</pubDate>
      <link>https://dev.to/anticoder03/build-your-own-modern-resume-builder-with-html-tailwind-css-javascript-3fk1</link>
      <guid>https://dev.to/anticoder03/build-your-own-modern-resume-builder-with-html-tailwind-css-javascript-3fk1</guid>
      <description>&lt;p&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%2Fou3gvd3kk8gh88x6o6tn.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%2Fou3gvd3kk8gh88x6o6tn.png" alt="Image description" width="800" height="1200"&gt;&lt;/a&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%2Fw8ncuf8b4an9ltt1hmkm.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%2Fw8ncuf8b4an9ltt1hmkm.png" alt="Image description" width="800" height="1200"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Creating a professional resume shouldn't feel like a daunting task. That’s why I built a sleek, responsive &lt;strong&gt;Resume Builder&lt;/strong&gt; that allows anyone to craft beautiful resumes in minutes. Whether you’re a student, developer, or job-seeker — this tool is designed for you!&lt;/p&gt;




&lt;h2&gt;
  
  
  ✨ Key Features
&lt;/h2&gt;

&lt;p&gt;✅ &lt;strong&gt;4 Unique Templates&lt;/strong&gt;&lt;br&gt;
✅ &lt;strong&gt;Form-based Input Interface&lt;/strong&gt;&lt;br&gt;
✅ &lt;strong&gt;PDF Export Functionality&lt;/strong&gt;&lt;br&gt;
✅ &lt;strong&gt;Fully Responsive Design&lt;/strong&gt;&lt;br&gt;
✅ &lt;strong&gt;Tailwind-Powered UI&lt;/strong&gt;&lt;br&gt;
✅ &lt;strong&gt;Customizable &amp;amp; Open Source&lt;/strong&gt;&lt;/p&gt;




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

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Frontend:&lt;/strong&gt; HTML5, Tailwind CSS, JavaScript&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;PDF Library:&lt;/strong&gt; &lt;code&gt;html2pdf.js&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Fonts:&lt;/strong&gt; Google Fonts&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Hosting:&lt;/strong&gt; GitHub Pages&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🧠 Why I Built This
&lt;/h2&gt;

&lt;p&gt;I noticed many resume builders out there are either too complex or behind a paywall. So I asked myself:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Why not build something simple, stylish, and open-source?"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;And that's exactly what I did — a free, modern resume builder anyone can use and customize.&lt;/p&gt;




&lt;h2&gt;
  
  
  🖼️ Available Templates
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Sidebar Design&lt;/strong&gt; — Neatly organized layout with personal info on the side.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Header Design&lt;/strong&gt; — Eye-catching header with a clean two-column format.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Timeline Design&lt;/strong&gt; — Great for showcasing experience with a vertical timeline.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Card Design&lt;/strong&gt; — Minimal card layout with hover animations and clean typography.&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  📥 How It Works (Under the Hood)
&lt;/h2&gt;

&lt;h3&gt;
  
  
  🧾 1. User Input
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;form&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"resumeForm"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;input&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"text"&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"name"&lt;/span&gt; &lt;span class="na"&gt;placeholder=&lt;/span&gt;&lt;span class="s"&gt;"Full Name"&lt;/span&gt; &lt;span class="na"&gt;required&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
  &lt;span class="c"&gt;&amp;lt;!-- More fields here --&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/form&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  🎨 2. Template Selection Logic
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;template&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;getElementById&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;template&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nx"&gt;value&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="nb"&gt;window&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;location&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;href&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;`templates/&lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;template&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;.html?&lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;params&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;`&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  📄 3. PDF Generation
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;opt&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="na"&gt;margin&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mf"&gt;0.2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;filename&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;resume.pdf&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;image&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;jpeg&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;quality&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mf"&gt;0.98&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="na"&gt;html2canvas&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;scale&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="na"&gt;jsPDF&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;unit&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;in&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;format&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;letter&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;orientation&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;portrait&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;};&lt;/span&gt;
&lt;span class="nf"&gt;html2pdf&lt;/span&gt;&lt;span class="p"&gt;().&lt;/span&gt;&lt;span class="nf"&gt;set&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;opt&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="k"&gt;from&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;getElementById&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;resume-content&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)).&lt;/span&gt;&lt;span class="nf"&gt;save&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  📱 Responsive Design Sample
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="nc"&gt;.resume-container&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;width&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;8.5in&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;min-height&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;11in&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;margin&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt; &lt;span class="nb"&gt;auto&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;padding&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;1in&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;background&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="no"&gt;white&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;box-shadow&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt; &lt;span class="m"&gt;10px&lt;/span&gt; &lt;span class="n"&gt;rgba&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="m"&gt;0.1&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  🚀 Getting Started
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/Anticoder03/resume-builder.git
&lt;span class="nb"&gt;cd &lt;/span&gt;resume-builder
open index.html  &lt;span class="c"&gt;# or just double click the file&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then, just fill the form and generate your PDF!&lt;/p&gt;




&lt;h2&gt;
  
  
  🏗️ Development Process
&lt;/h2&gt;

&lt;h3&gt;
  
  
  🔹 Planning Phase
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Defined user needs &amp;amp; ideal features&lt;/li&gt;
&lt;li&gt;Created mockups &amp;amp; UI flows&lt;/li&gt;
&lt;li&gt;Designed responsive breakpoints&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🔹 Development Phase
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Built input form with Tailwind CSS&lt;/li&gt;
&lt;li&gt;Added 4 switchable templates&lt;/li&gt;
&lt;li&gt;Implemented &lt;code&gt;html2pdf.js&lt;/code&gt; for download&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🔹 Testing &amp;amp; Optimization
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Cross-browser &amp;amp; mobile tested&lt;/li&gt;
&lt;li&gt;Print styles refined&lt;/li&gt;
&lt;li&gt;PDF quality tuned&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  ⚙️ Challenges &amp;amp; Solutions
&lt;/h2&gt;

&lt;h3&gt;
  
  
  🐞 PDF Rendering Glitches
&lt;/h3&gt;

&lt;p&gt;Fixed by optimizing &lt;code&gt;html2canvas&lt;/code&gt; settings and using &lt;code&gt;useCORS&lt;/code&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  📱 Mobile Responsiveness
&lt;/h3&gt;

&lt;p&gt;Used Tailwind's responsive classes and adjusted layout with breakpoints.&lt;/p&gt;

&lt;h3&gt;
  
  
  🧪 Form Data Validation
&lt;/h3&gt;

&lt;p&gt;Implemented custom JS validation and feedback messages.&lt;/p&gt;

&lt;h3&gt;
  
  
  🎭 Smooth Template Switching
&lt;/h3&gt;

&lt;p&gt;Used fade transitions and lightweight rendering logic.&lt;/p&gt;




&lt;h2&gt;
  
  
  🔮 Future Plans
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Dark Mode&lt;/li&gt;
&lt;li&gt;More Templates&lt;/li&gt;
&lt;li&gt;Multi-language Support&lt;/li&gt;
&lt;li&gt;AI-Powered Resume Suggestions&lt;/li&gt;
&lt;li&gt;Backend for Save/Edit functionality&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  📚 Key Learnings
&lt;/h2&gt;

&lt;p&gt;✅ Mastered responsive design &amp;amp; media queries&lt;br&gt;
✅ Gained practical experience with &lt;code&gt;html2pdf.js&lt;/code&gt;&lt;br&gt;
✅ Understood how to collect, validate, and pass form data via query params&lt;br&gt;
✅ Refined UI/UX practices for web apps&lt;/p&gt;




&lt;h2&gt;
  
  
  🔗 Useful Links
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;🔗 &lt;a href="https://github.com/Anticoder03/resume-builder" rel="noopener noreferrer"&gt;GitHub Repo&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🌐 &lt;a href="https://resume-builder-anticoder03.netlify.app/" rel="noopener noreferrer"&gt;Live Demo&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🙌 Final Words
&lt;/h2&gt;

&lt;p&gt;This project has been a labor of love — merging functionality with elegant design. I hope it helps you or inspires your next side project!&lt;/p&gt;

&lt;p&gt;If you found this helpful, consider giving it a ⭐ on GitHub or sharing it with friends.&lt;/p&gt;

&lt;p&gt;Feel free to drop feedback or connect on &lt;a href="https://www.linkedin.com/in/ashish-prajapati-68bb82242/" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt;!&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>beginners</category>
      <category>opensource</category>
    </item>
    <item>
      <title>✨ Visualizing a Feeling Through Particles, Anime.js, and Dreamy Backgrounds ✨</title>
      <dc:creator>Ashish prajapati</dc:creator>
      <pubDate>Sat, 26 Apr 2025 18:28:44 +0000</pubDate>
      <link>https://dev.to/anticoder03/visualizing-a-feeling-through-particles-animejs-and-dreamy-backgrounds-i1d</link>
      <guid>https://dev.to/anticoder03/visualizing-a-feeling-through-particles-animejs-and-dreamy-backgrounds-i1d</guid>
      <description>&lt;p&gt;Hey everyone! 👋&lt;br&gt;&lt;br&gt;
Today I’m not just sharing a project — I’m sharing a &lt;strong&gt;feeling&lt;/strong&gt;.&lt;br&gt;&lt;br&gt;
A feeling I tried to translate into visuals: ✨&lt;strong&gt;motion, freedom, softness, a dream.&lt;/strong&gt;✨&lt;/p&gt;

&lt;p&gt;Through moving particles, floating animations, and soft color shifts, I tried to capture what I often feel — a quiet, slow dance between energy and peace. 🕊️&lt;/p&gt;

&lt;p&gt;This feeling was inspired by a story that really touched my heart — &lt;strong&gt;an emotion I carried from the anime &lt;em&gt;Darling in the Franxx&lt;/em&gt;.&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
It’s not a direct recreation — it’s more like the echo of what I felt while watching it: the hope, the loneliness, the gentle freedom of dreams in the sky.&lt;/p&gt;


&lt;h2&gt;
  
  
  🎯 What This Represents for Me
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Particles&lt;/strong&gt; are my scattered thoughts, moving gently, sometimes colliding, always alive.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Flying birds&lt;/strong&gt; are my dreams — drifting slowly across endless skies.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Anime.js animations&lt;/strong&gt; of hearts, wings, feathers — are pieces of emotion that keep moving, floating, never fully still.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Smooth scrolling&lt;/strong&gt; through soft background changes feels like the way emotions flow — not in sudden bursts, but gradual, natural, effortless.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This isn’t just a page with effects.&lt;br&gt;&lt;br&gt;
It's the &lt;strong&gt;visual version&lt;/strong&gt; of something inside me.&lt;/p&gt;


&lt;h2&gt;
  
  
  ⚙️ How I Built My Feeling (Technologies Used)
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;HTML5&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;CSS3&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;JavaScript (ES6)&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://vincentgarreau.com/particles.js/" rel="noopener noreferrer"&gt;Particles.js&lt;/a&gt;&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://animejs.com/" rel="noopener noreferrer"&gt;Anime.js&lt;/a&gt;&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Intersection Observer API&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Smooth Scroll Behavior&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;
  
  
  📜 Small Glimpses of the Code
&lt;/h2&gt;
&lt;h3&gt;
  
  
  Particles Moving Like Gentle Chaos
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nf"&gt;particlesJS&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;particles-js&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="na"&gt;particles&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;number&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;value&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;80&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt;
    &lt;span class="na"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;value&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;#ff6b6b&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt;
    &lt;span class="na"&gt;shape&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;circle&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt;
    &lt;span class="na"&gt;move&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;speed&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;random&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;The particles aren't random. They're lively, yet peaceful — like a mind daydreaming.&lt;/p&gt;


&lt;h3&gt;
  
  
  A Heart That Breathes
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nf"&gt;anime&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="na"&gt;targets&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;.heart&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;scale&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mf"&gt;1.2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
  &lt;span class="na"&gt;duration&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;3000&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;loop&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;easing&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;easeInOutQuad&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;This little animation is the way my heart sometimes feels — expanding with hope, shrinking with fear, expanding again.&lt;/p&gt;


&lt;h3&gt;
  
  
  Soft Transitions Between Feelings (Sections)
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;observer&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;IntersectionObserver&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="nx"&gt;entries&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nx"&gt;entries&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;forEach&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="nx"&gt;entry&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;entry&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;isIntersecting&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;colors&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="na"&gt;first&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;#1a0f2e&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="na"&gt;second&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;#2d1b4e&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="na"&gt;third&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;#4a1942&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="na"&gt;fourth&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;#6b2c70&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="na"&gt;fifth&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;#8e3a8e&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;
      &lt;span class="p"&gt;};&lt;/span&gt;
      &lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;body&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;style&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;backgroundColor&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;colors&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;entry&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;target&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;id&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
  &lt;span class="p"&gt;});&lt;/span&gt;
&lt;span class="p"&gt;},&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;threshold&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mf"&gt;0.3&lt;/span&gt; &lt;span class="p"&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Each background color is a different emotion for me. A small shift, but meaningful.&lt;/p&gt;


&lt;h3&gt;
  
  
  A Dream Floating Across the Sky (Flying Bird)
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;birdPosition&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;animateBird&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nx"&gt;birdPosition&lt;/span&gt; &lt;span class="o"&gt;+=&lt;/span&gt; &lt;span class="mf"&gt;0.5&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;yOffset&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;Math&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;sin&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;birdPosition&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="mf"&gt;0.05&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="mi"&gt;50&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nx"&gt;bird&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;style&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;transform&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;`translateX(&lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;birdPosition&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;px) translateY(&lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;yOffset&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;px)`&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;birdPosition&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="nb"&gt;window&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;innerWidth&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nx"&gt;birdPosition&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;100&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
  &lt;span class="nf"&gt;requestAnimationFrame&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;animateBird&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="nf"&gt;animateBird&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Just like how some dreams move — a little lost, a little aimless, but always moving.&lt;/p&gt;


&lt;h2&gt;
  
  
  📸 A Glimpse Into My Dream
&lt;/h2&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/Ashish-prajapati-the-sasster/embed/LEEjRJq?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;




&lt;p&gt;[Link to the Feeling] : (&lt;a href="https://my-dream-story.netlify.app/" rel="noopener noreferrer"&gt;https://my-dream-story.netlify.app/&lt;/a&gt;)&lt;/p&gt;




&lt;h2&gt;
  
  
  💬 What I Felt While Building This
&lt;/h2&gt;

&lt;p&gt;Honestly?  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Calmness.
&lt;/li&gt;
&lt;li&gt;Nostalgia.
&lt;/li&gt;
&lt;li&gt;A little sadness.
&lt;/li&gt;
&lt;li&gt;A lot of peace.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I wasn’t building a "project" this time. I was painting an emotion with code. 🎨&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Code&lt;/strong&gt; became my &lt;strong&gt;canvas&lt;/strong&gt;, and these tiny interactions became my little world for a while.&lt;/p&gt;

&lt;p&gt;And somewhere in this creation,&lt;br&gt;&lt;br&gt;
I kept thinking about the story of &lt;strong&gt;Zero Two and Hiro&lt;/strong&gt;, the loneliness they faced, the skies they dreamed about —&lt;br&gt;&lt;br&gt;
and how &lt;em&gt;even when everything felt heavy&lt;/em&gt;, their dreams always found a way to float. 🕊️&lt;/p&gt;




&lt;h2&gt;
  
  
  🚀 If You Ever Feel Like Coding a Feeling...
&lt;/h2&gt;

&lt;p&gt;Here’s my advice:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Don’t worry about "making it perfect."&lt;/li&gt;
&lt;li&gt;Focus on how it &lt;em&gt;feels&lt;/em&gt;, not just how it &lt;em&gt;looks&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;Let animations breathe.&lt;/li&gt;
&lt;li&gt;Let your emotions guide the color palette, the speed, the flow.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Because &lt;strong&gt;sometimes, code isn’t logic — it’s art.&lt;/strong&gt; ✨&lt;/p&gt;




&lt;h2&gt;
  
  
  🎉 Thank You for Reading
&lt;/h2&gt;

&lt;p&gt;This was deeply personal for me.&lt;br&gt;&lt;br&gt;
If you’ve ever felt something you couldn’t put into words — maybe try putting it into code. It’s surprisingly healing. 💖&lt;/p&gt;

&lt;p&gt;Would love to hear if you've ever built something emotional too!&lt;/p&gt;




&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;Stay dreamy, stay coding.&lt;/em&gt;&lt;/strong&gt; 🌌&lt;/p&gt;
&lt;/blockquote&gt;




&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Inspired in spirit by the anime "Darling in the Franxx" — to the dreamers who keep flying, no matter what.&lt;/em&gt; 🌸&lt;/p&gt;
&lt;/blockquote&gt;




</description>
    </item>
    <item>
      <title>Day 7: Animated Landing Page — Interactive Product Showcase 🚀</title>
      <dc:creator>Ashish prajapati</dc:creator>
      <pubDate>Sat, 26 Apr 2025 10:44:14 +0000</pubDate>
      <link>https://dev.to/anticoder03/day-7-animated-landing-page-interactive-product-showcase-1pf6</link>
      <guid>https://dev.to/anticoder03/day-7-animated-landing-page-interactive-product-showcase-1pf6</guid>
      <description>&lt;p&gt;Hey everyone! 👋&lt;br&gt;&lt;br&gt;
Today is &lt;strong&gt;Day 7&lt;/strong&gt; of my creative animation journey.&lt;br&gt;&lt;br&gt;
I'm super excited to share what I worked on: an &lt;strong&gt;Animated Landing Page&lt;/strong&gt; concept that utilizes &lt;strong&gt;ScrollTriggers&lt;/strong&gt;, &lt;strong&gt;Anime.js timelines&lt;/strong&gt;, &lt;strong&gt;staggered animations&lt;/strong&gt;, and &lt;strong&gt;interactive effects&lt;/strong&gt;!&lt;/p&gt;


&lt;h2&gt;
  
  
  🌟 Project Concept
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Theme:&lt;/strong&gt; &lt;em&gt;Furniture Product Launch / Furniture Agency Showcase&lt;/em&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Goal:&lt;/strong&gt; To create an immersive landing page experience using scroll-based animations, interactive hover effects, and a fluid timeline of motion that draws users deeper into the collection.&lt;/p&gt;


&lt;h2&gt;
  
  
  🎨 Design Layout &amp;amp; Animation Flow
&lt;/h2&gt;
&lt;h3&gt;
  
  
  🔹 Header Section
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Hero Background:&lt;/strong&gt; Dynamic image showcasing elegant furniture pieces.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Scroll Animation:&lt;/strong&gt; Tagline and brand name animate in with smooth fades and staggered text reveals.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Interactivity:&lt;/strong&gt; Hovering over the furniture slightly zooms the image for a lively feel.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;CTA Button:&lt;/strong&gt; "Explore Collection" appears with a subtle scaling animation.&lt;/li&gt;
&lt;/ul&gt;


&lt;h3&gt;
  
  
  🔹 Features Section
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;3-Column Layout:&lt;/strong&gt; Highlighting key features like premium materials, craftsmanship, and customizable options.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Scroll Triggered Animation:&lt;/strong&gt; Each feature slides up into view with staggered motion.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Icon Animations:&lt;/strong&gt; Icons related to each feature animate from different directions.&lt;/li&gt;
&lt;/ul&gt;


&lt;h3&gt;
  
  
  🔹 Product Showcase
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Image Gallery:&lt;/strong&gt; Show different views or setups of the furniture in styled spaces.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Anime Timeline:&lt;/strong&gt; A sequence where furniture items appear one after another as the user scrolls.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Hover Effects:&lt;/strong&gt; Slight zoom and tilt on hover for interactivity.&lt;/li&gt;
&lt;/ul&gt;


&lt;h3&gt;
  
  
  🔹 Testimonials Section
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Carousel of Testimonials:&lt;/strong&gt; Each review fades and slides in.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Typewriter Animation:&lt;/strong&gt; Customer quotes appear word-by-word for added anticipation.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Extra Info Popups:&lt;/strong&gt; Clicking on a testimonial reveals more details.&lt;/li&gt;
&lt;/ul&gt;


&lt;h3&gt;
  
  
  🔹 Footer Section
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Smooth Slide-in:&lt;/strong&gt; Contact links and social icons animate in staggered fashion.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Scroll Progress Animation:&lt;/strong&gt; A progress indicator animates based on how far down the page the user has scrolled.&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;
  
  
  ⚡ Technical Highlights
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Scroll Triggers:&lt;/strong&gt; Different animations trigger when sections enter the viewport.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Anime.js Timeline:&lt;/strong&gt; Used to sequence multiple animations smoothly.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Staggered Effects:&lt;/strong&gt; Texts, images, and links appear one after another.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Interactivity:&lt;/strong&gt; Hover and click animations to make the page feel alive.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Responsive Design:&lt;/strong&gt; Works smoothly on mobile and desktop screens.&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;
  
  
  🛠️ Technologies Used
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;HTML, CSS, and JavaScript&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Anime.js&lt;/strong&gt; for powerful timeline-based animations&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;GSAP ScrollTrigger&lt;/strong&gt; &lt;em&gt;(optional for deeper scroll control)&lt;/em&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;
  
  
  📸 Sneak Peek
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;Check out my live demo here:&lt;br&gt;&lt;br&gt;
&lt;iframe height="600" src="https://codepen.io/Ashish-prajapati-the-sasster/embed/ZYYJEwp?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;


&lt;/blockquote&gt;




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

&lt;p&gt;Creating this landing page was a ton of fun!&lt;br&gt;&lt;br&gt;
Animating the furniture collection while keeping performance and creativity in balance taught me a lot about crafting immersive user experiences.&lt;/p&gt;

&lt;p&gt;Stay tuned for even more crazy ideas coming up in the next few days! 🎯&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Thanks for checking it out! 🙌&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
If you liked it or have feedback/suggestions, feel free to drop a comment.&lt;br&gt;&lt;br&gt;
Let's keep animating and making the web more magical! 🌈&lt;/p&gt;




&lt;h2&gt;
  
  
  👨‍💻 Author
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Ashish Prajapati&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
💼 &lt;a href="https://www.linkedin.com/in/ashish-prajapati-68bb82242/" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt;&lt;br&gt;&lt;br&gt;
✍️ &lt;a href="https://dev.to/anticoder03"&gt;Dev.to Blog&lt;/a&gt;&lt;br&gt;&lt;br&gt;
💻 &lt;a href="https://github.com/Anticoder03" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>beginners</category>
      <category>codepen</category>
    </item>
    <item>
      <title>🚀 Day 6 — Project Days Begin: Crafting Real-World UI with Anime.js</title>
      <dc:creator>Ashish prajapati</dc:creator>
      <pubDate>Sat, 26 Apr 2025 02:30:39 +0000</pubDate>
      <link>https://dev.to/anticoder03/day-6-project-days-begin-crafting-real-world-ui-with-animejs-2o8</link>
      <guid>https://dev.to/anticoder03/day-6-project-days-begin-crafting-real-world-ui-with-animejs-2o8</guid>
      <description>&lt;p&gt;Welcome to &lt;strong&gt;Day 6&lt;/strong&gt; of my Anime.js journey!&lt;/p&gt;

&lt;p&gt;Today kicks off a new chapter: &lt;strong&gt;Project Days&lt;/strong&gt;. Instead of learning new syntax or techniques, I'm diving into building real-world examples — things like &lt;strong&gt;loading animations, UI elements, and scroll interactions&lt;/strong&gt; — all powered by the magic of Anime.js.&lt;/p&gt;




&lt;h2&gt;
  
  
  🎯 What I Built Today
&lt;/h2&gt;

&lt;p&gt;✅ &lt;strong&gt;Today's Focus&lt;/strong&gt;  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Designed &lt;strong&gt;3 unique loading animations&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Practiced SVG stroke and path animation techniques
&lt;/li&gt;
&lt;li&gt;Used &lt;strong&gt;timelines&lt;/strong&gt; and &lt;strong&gt;stagger&lt;/strong&gt; effects for smooth sequencing
&lt;/li&gt;
&lt;li&gt;Experimented with &lt;strong&gt;motion curves&lt;/strong&gt; and &lt;strong&gt;easing&lt;/strong&gt; to craft visually pleasing loaders
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  💡 Loaders I Designed
&lt;/h2&gt;

&lt;h3&gt;
  
  
  🌀 Loader 1 — &lt;strong&gt;SVG Line Dash Animation&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;An SVG line draws itself as if it's sketched by an invisible pen. This loader uses &lt;code&gt;strokeDashoffset&lt;/code&gt; and a custom bezier easing to give that satisfying "tracing" effect. It's minimal yet classy — great for splash screens or product intros.&lt;/p&gt;

&lt;p&gt;👉 Live Demo on CodePen&lt;br&gt;
&lt;iframe height="600" src="https://codepen.io/Ashish-prajapati-the-sasster/embed/XJJMvjP?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;




&lt;h3&gt;
  
  
  🔵 Loader 2 — *&lt;em&gt;Text-Based *&lt;/em&gt;
&lt;/h3&gt;

&lt;p&gt;Inspired by modern chat UIs, this loader features Text loading and fading . Created using &lt;code&gt;anime.timeline()&lt;/code&gt; with staggered delays, this one adds a touch of rhythm and life to waiting screens.&lt;/p&gt;

&lt;p&gt;👉 Live Demo on CodePen&lt;br&gt;
&lt;iframe height="600" src="https://codepen.io/Ashish-prajapati-the-sasster/embed/MYYpNbV?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;




&lt;h3&gt;
  
  
  🟣 Loader 3 — &lt;strong&gt;Advanced Circular Loader&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;This is where things get exciting — a more dynamic loader that combines rotation and transformation of two SVG circles. It's a step up in complexity and could work well for dashboards or analytics-heavy apps.&lt;/p&gt;

&lt;p&gt;👉 Live Demo on CodePen&lt;br&gt;
&lt;iframe height="600" src="https://codepen.io/Ashish-prajapati-the-sasster/embed/RNNpXRP?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;




&lt;h2&gt;
  
  
  🧠 What I Learned
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;How to &lt;strong&gt;transform ideas into UI components&lt;/strong&gt; using Anime.js
&lt;/li&gt;
&lt;li&gt;The power of &lt;strong&gt;timelines&lt;/strong&gt; for controlling animation flow
&lt;/li&gt;
&lt;li&gt;How different &lt;strong&gt;easing functions&lt;/strong&gt; change the entire "feel" of an animation
&lt;/li&gt;
&lt;li&gt;Why subtle animations improve &lt;strong&gt;real UX&lt;/strong&gt;, not just aesthetics&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🔥 Mini Challenge For You
&lt;/h2&gt;

&lt;p&gt;Try these out in your own projects:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Make one of these loaders into a &lt;strong&gt;reusable React or Vue component&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🗣️ Quote of the Day
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;"Great animation doesn’t just catch the eye—it tells a story in motion."&lt;br&gt;&lt;br&gt;
— &lt;em&gt;A designer, somewhere on the internet&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  👨‍💻 Author
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Ashish Prajapati&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
💼 &lt;a href="https://www.linkedin.com/in/ashish-prajapati-68bb82242/" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt;&lt;br&gt;&lt;br&gt;
✍️ &lt;a href="https://dev.to/anticoder03"&gt;Dev.to Blog&lt;/a&gt;&lt;br&gt;&lt;br&gt;
💻 &lt;a href="https://github.com/Anticoder03" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>beginners</category>
      <category>codepen</category>
    </item>
    <item>
      <title>✨ Day 5: Advanced Animation Techniques</title>
      <dc:creator>Ashish prajapati</dc:creator>
      <pubDate>Fri, 25 Apr 2025 02:47:14 +0000</pubDate>
      <link>https://dev.to/anticoder03/day-5-advanced-animation-techniques-20k0</link>
      <guid>https://dev.to/anticoder03/day-5-advanced-animation-techniques-20k0</guid>
      <description>&lt;p&gt;Welcome to &lt;strong&gt;Day 5&lt;/strong&gt; of my Anime.js journey! Today, I dove into &lt;strong&gt;advanced animation techniques&lt;/strong&gt; like SVG animations, dynamic values, motion paths, and integrating Anime.js with other libraries like &lt;strong&gt;GSAP&lt;/strong&gt; and &lt;strong&gt;Three.js&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  🎯 &lt;strong&gt;What I Learned Today&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;✅ &lt;strong&gt;Topics Covered:&lt;/strong&gt;  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;SVG Animations with Anime.js
&lt;/li&gt;
&lt;li&gt;Motion Paths and Moving Along Curves
&lt;/li&gt;
&lt;li&gt;Dynamic Values and Random Animations
&lt;/li&gt;
&lt;li&gt;Integration with GSAP and Three.js
&lt;/li&gt;
&lt;li&gt;Animating Custom UI Components like Charts
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;💡 &lt;strong&gt;Concepts with Examples&lt;/strong&gt;  &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;SVG Path Drawing Effect&lt;/strong&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;   &lt;span class="nf"&gt;anime&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
     &lt;span class="na"&gt;targets&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;path&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
     &lt;span class="na"&gt;strokeDashoffset&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;anime&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;setDashoffset&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
     &lt;span class="na"&gt;easing&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;easeInOutSine&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
     &lt;span class="na"&gt;duration&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;2000&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
     &lt;span class="na"&gt;direction&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;alternate&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
     &lt;span class="na"&gt;loop&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;
   &lt;span class="p"&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;✨ Creates a &lt;strong&gt;draw effect&lt;/strong&gt; on the SVG path!  &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Motion Path Animation&lt;/strong&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;   &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;motionPath&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;anime&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;path&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;#curve&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

   &lt;span class="nf"&gt;anime&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
     &lt;span class="na"&gt;targets&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;circle&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
     &lt;span class="na"&gt;translateX&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;motionPath&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;x&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
     &lt;span class="na"&gt;translateY&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;motionPath&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;y&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
     &lt;span class="na"&gt;rotate&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;motionPath&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;angle&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
     &lt;span class="na"&gt;duration&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;3000&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
     &lt;span class="na"&gt;loop&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
     &lt;span class="na"&gt;easing&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;easeInOutQuad&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;
   &lt;span class="p"&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;🚗 Animates elements &lt;strong&gt;along a custom path&lt;/strong&gt;.  &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Random Bounce with Dynamic Values&lt;/strong&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;   &lt;span class="nf"&gt;anime&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
     &lt;span class="na"&gt;targets&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;.dot&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
     &lt;span class="na"&gt;translateY&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;anime&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;random&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;100&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;100&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
     &lt;span class="na"&gt;duration&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1000&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
     &lt;span class="na"&gt;direction&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;alternate&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
     &lt;span class="na"&gt;loop&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;
   &lt;span class="p"&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;🔀 Each element gets a &lt;strong&gt;random value&lt;/strong&gt; for its movement.  &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Integration with Three.js&lt;/strong&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;   &lt;span class="nf"&gt;anime&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
     &lt;span class="na"&gt;targets&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;cube&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;rotation&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
     &lt;span class="na"&gt;y&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;Math&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;PI&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
     &lt;span class="na"&gt;duration&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;3000&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
     &lt;span class="na"&gt;easing&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;easeInOutSine&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
     &lt;span class="na"&gt;loop&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;
   &lt;span class="p"&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;🌀 Anime.js is used to animate &lt;strong&gt;3D objects&lt;/strong&gt; like cubes in Three.js.  &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Animating Custom UI Components&lt;/strong&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;   &lt;span class="nf"&gt;anime&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
     &lt;span class="na"&gt;targets&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;.bar&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
     &lt;span class="na"&gt;height&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;el&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;50&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="mi"&gt;30&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
     &lt;span class="na"&gt;delay&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;anime&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;stagger&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;200&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
     &lt;span class="na"&gt;duration&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;800&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
     &lt;span class="na"&gt;easing&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;easeOutBounce&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;
   &lt;span class="p"&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;📊 Animating a &lt;strong&gt;bar chart&lt;/strong&gt; for a dynamic UI experience.  &lt;/p&gt;




&lt;h3&gt;
  
  
  🔥 &lt;strong&gt;Practice Questions&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;🟢 &lt;strong&gt;Basic&lt;/strong&gt;  &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Animate an SVG path to create a "drawn" effect.
&lt;/li&gt;
&lt;li&gt;Animate a circle along a custom path using &lt;code&gt;anime.path()&lt;/code&gt;.
&lt;/li&gt;
&lt;li&gt;Use &lt;code&gt;anime.setDashoffset&lt;/code&gt; to animate an SVG path’s stroke.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;🟡 &lt;strong&gt;Intermediate&lt;/strong&gt;  &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Animate an element’s position using dynamic random values.
&lt;/li&gt;
&lt;li&gt;Create a bouncing effect on multiple elements with random values.
&lt;/li&gt;
&lt;li&gt;Integrate Anime.js with a basic Three.js scene and animate a 3D object.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;🔴 &lt;strong&gt;Advanced&lt;/strong&gt;  &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Animate multiple paths in an SVG with staggered animations.
&lt;/li&gt;
&lt;li&gt;Create a timeline animation combining GSAP and Anime.js.
&lt;/li&gt;
&lt;li&gt;Build an animated graph using SVG, Anime.js, and dynamic values.
&lt;/li&gt;
&lt;li&gt;Animate a custom UI component like a progress bar or voting chart.&lt;/li&gt;
&lt;/ol&gt;




&lt;p&gt;Got it! Here's the updated and properly formatted section with the changes:&lt;/p&gt;




&lt;h3&gt;
  
  
  🌅 &lt;strong&gt;Mini Project — 3D Cube Animation&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;A &lt;strong&gt;3D rotating cube&lt;/strong&gt; animation using Anime.js combined with basic 3D transforms. It showcases how Anime.js can handle rotation on multiple axes — simple yet mesmerizing!&lt;/p&gt;

&lt;p&gt;Check out this Pen I made!&lt;br&gt;&lt;br&gt;
&lt;iframe height="600" src="https://codepen.io/Ashish-prajapati-the-sasster/embed/bNNqvoV?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;




&lt;h3&gt;
  
  
  🌌 &lt;strong&gt;Major Project — Interactive Card Animation Dashboard&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;For today’s big build, I created an &lt;strong&gt;interactive data dashboard&lt;/strong&gt; featuring card animations. Each card animates on entry using Anime.js with hover effects and delayed sequencing for a smooth UI experience.&lt;/p&gt;

&lt;p&gt;✨ &lt;strong&gt;Features:&lt;/strong&gt;  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Smooth card entry animations
&lt;/li&gt;
&lt;li&gt;Hover effects using Anime.js
&lt;/li&gt;
&lt;li&gt;Delayed reveal sequencing
&lt;/li&gt;
&lt;li&gt;Clean UI for showcasing content
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Check out this Pen I made!&lt;br&gt;&lt;br&gt;
&lt;iframe height="600" src="https://codepen.io/Ashish-prajapati-the-sasster/embed/ByyWxQW?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;




&lt;h3&gt;
  
  
  🧠 &lt;strong&gt;What I Gained Today&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Mastered advanced techniques like &lt;strong&gt;motion paths&lt;/strong&gt; and &lt;strong&gt;dynamic values&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Integrated &lt;strong&gt;Anime.js&lt;/strong&gt; with &lt;strong&gt;Three.js&lt;/strong&gt; for 3D scene animations
&lt;/li&gt;
&lt;li&gt;Built a &lt;strong&gt;custom animated UI component&lt;/strong&gt; for an interactive dashboard
&lt;/li&gt;
&lt;li&gt;Learned how to animate &lt;strong&gt;complex SVG paths&lt;/strong&gt; and &lt;strong&gt;sequences&lt;/strong&gt; for smooth interactions
&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  🗣️ &lt;strong&gt;Developer Quote of the Day&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;"Animation is the art of making something stand out by making it &lt;strong&gt;move&lt;/strong&gt;." — Anonymous&lt;/p&gt;




&lt;p&gt;👤 &lt;strong&gt;Author&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Ashish Prajapati  &lt;/p&gt;

&lt;p&gt;💼 &lt;a href="https://www.linkedin.com/in/ashish-prajapati-68bb82242/" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt;&lt;br&gt;&lt;br&gt;
✍️ &lt;a href="https://dev.to/anticoder03"&gt;Dev.to Blog&lt;/a&gt;&lt;br&gt;&lt;br&gt;
💻 &lt;a href="https://github.com/Anticoder03" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>beginners</category>
      <category>animejs</category>
    </item>
    <item>
      <title>✨ Anime.js Learning — Day 4: Interactivity &amp; Event Control</title>
      <dc:creator>Ashish prajapati</dc:creator>
      <pubDate>Wed, 23 Apr 2025 03:16:05 +0000</pubDate>
      <link>https://dev.to/anticoder03/animejs-learning-day-4-interactivity-event-control-aa2</link>
      <guid>https://dev.to/anticoder03/animejs-learning-day-4-interactivity-event-control-aa2</guid>
      <description>&lt;p&gt;Welcome to &lt;strong&gt;Day 4&lt;/strong&gt; of my Anime.js journey! Today was all about making animations &lt;strong&gt;interactive&lt;/strong&gt; — controlling them via user &lt;strong&gt;events&lt;/strong&gt;, adding &lt;strong&gt;callbacks&lt;/strong&gt;, and even animating with scroll behavior.&lt;/p&gt;




&lt;h2&gt;
  
  
  🎯 What I Learned Today
&lt;/h2&gt;

&lt;h3&gt;
  
  
  ✅ Topics Covered:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;onBegin&lt;/code&gt;, &lt;code&gt;onUpdate&lt;/code&gt;, &lt;code&gt;onComplete&lt;/code&gt; callbacks&lt;/li&gt;
&lt;li&gt;Animation control methods: &lt;code&gt;play()&lt;/code&gt;, &lt;code&gt;pause()&lt;/code&gt;, &lt;code&gt;restart()&lt;/code&gt;, &lt;code&gt;reverse()&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Handling DOM Events: &lt;code&gt;click&lt;/code&gt;, &lt;code&gt;hover&lt;/code&gt;, etc.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Scroll-triggered animations&lt;/strong&gt; using &lt;code&gt;IntersectionObserver&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Sequencing with &lt;code&gt;anime.timeline()&lt;/code&gt; + interactivity&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  💡 Concepts with Examples
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nf"&gt;anime&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="na"&gt;targets&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;.box&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;translateX&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;250&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;duration&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1000&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;onBegin&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Animation started!&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
  &lt;span class="na"&gt;onUpdate&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;anim&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;`Progress: &lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nb"&gt;Math&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;round&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;anim&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;progress&lt;/span&gt;&lt;span class="p"&gt;)}&lt;/span&gt;&lt;span class="s2"&gt;%`&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
  &lt;span class="na"&gt;onComplete&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Animation complete!&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;🔁 You can use &lt;code&gt;hover&lt;/code&gt;, &lt;code&gt;click&lt;/code&gt;, &lt;code&gt;scroll&lt;/code&gt;, and even keyboard events to make animations come alive!&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  🔥 Practice Questions
&lt;/h2&gt;

&lt;h3&gt;
  
  
  🟢 Basic
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Animate a button and log when animation starts and ends.&lt;/li&gt;
&lt;li&gt;Pause an animation on hover and resume on mouseout.&lt;/li&gt;
&lt;li&gt;Animate a square on click using &lt;code&gt;translateX&lt;/code&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  🟠 Intermediate
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Use &lt;code&gt;onUpdate&lt;/code&gt; to update progress bar width in real-time.&lt;/li&gt;
&lt;li&gt;Reverse an animation with a button click.&lt;/li&gt;
&lt;li&gt;Animate multiple elements with &lt;code&gt;.stagger()&lt;/code&gt; on scroll into view.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  🔴 Advanced
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Build a gallery that animates in on scroll.&lt;/li&gt;
&lt;li&gt;Animate a progress bar that fills based on scroll.&lt;/li&gt;
&lt;li&gt;Create a typewriter effect that restarts on button click.&lt;/li&gt;
&lt;li&gt;Make a timeline animation that pauses when scrolled out of view.&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  🌅 Minor Project – Sunrise Animation
&lt;/h2&gt;

&lt;p&gt;A simple yet calming animation of the &lt;strong&gt;sun rising&lt;/strong&gt; behind mountains using Anime.js.&lt;/p&gt;

&lt;p&gt;Check out this Pen I made!&lt;/p&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/Ashish-prajapati-the-sasster/embed/ZYYOGPM?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;




&lt;h2&gt;
  
  
  🌌 Major Project – Interactive Solar System 🌍
&lt;/h2&gt;

&lt;p&gt;Today’s big build! A fully interactive &lt;strong&gt;Solar System&lt;/strong&gt; powered by Anime.js + DOM events + scroll behavior.&lt;/p&gt;

&lt;h3&gt;
  
  
  ✨ Features:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Planets orbit around a glowing sun&lt;/li&gt;
&lt;li&gt;Hover to pause animation&lt;/li&gt;
&lt;li&gt;Click a planet to show animated info box&lt;/li&gt;
&lt;li&gt;Scroll to reveal fun facts using &lt;code&gt;IntersectionObserver&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Animation lifecycle logs using &lt;code&gt;onBegin&lt;/code&gt;, &lt;code&gt;onUpdate&lt;/code&gt;, &lt;code&gt;onComplete&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Full timeline-based sequencing for reveal elements&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Check out this Pen I made!&lt;/p&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/Ashish-prajapati-the-sasster/embed/pvvEGKe?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;




&lt;h2&gt;
  
  
  🧠 What I Gained Today
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Learned how to make animations respond to user input&lt;/li&gt;
&lt;li&gt;Discovered scroll-based reveal tricks&lt;/li&gt;
&lt;li&gt;Became more confident using Anime.js timelines and control methods&lt;/li&gt;
&lt;li&gt;Built a complex multi-layered animation project!&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🗣️ Developer Quote of the Day
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;"Every animation begins with a single frame — keep pushing pixels and you'll paint motion itself."&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
— &lt;em&gt;Anonymous&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  🚀 Up Next: SVG Animations and Path Morphing (Stage 5)
&lt;/h2&gt;

&lt;p&gt;Can’t wait to start animating SVG paths and building logo morph effects in Stage 5. Stay tuned!&lt;/p&gt;




&lt;h2&gt;
  
  
  👤 Author
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Ashish Prajapati&lt;/strong&gt;  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;💼 &lt;a href="https://www.linkedin.com/in/ashish-prajapati-68bb82242/" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;✍️ &lt;a href="https://dev.to/anticoder03"&gt;Dev.to Blog&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;💻 &lt;a href="https://github.com/Anticoder03" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>beginners</category>
      <category>codepen</category>
    </item>
    <item>
      <title>🌀 Anime.js Learning – Day 3: Timelines &amp; Chaining Animations</title>
      <dc:creator>Ashish prajapati</dc:creator>
      <pubDate>Sun, 20 Apr 2025 04:46:59 +0000</pubDate>
      <link>https://dev.to/anticoder03/animejs-learning-day-3-timelines-chaining-animations-3ljk</link>
      <guid>https://dev.to/anticoder03/animejs-learning-day-3-timelines-chaining-animations-3ljk</guid>
      <description>&lt;p&gt;Hey everyone! 👋&lt;br&gt;&lt;br&gt;
Welcome to &lt;strong&gt;Day 3&lt;/strong&gt; of my journey learning &lt;strong&gt;Anime.js&lt;/strong&gt;. Today was all about mastering &lt;strong&gt;timelines&lt;/strong&gt; and &lt;strong&gt;chaining animations&lt;/strong&gt;, which opens the door to building complex and beautifully sequenced effects.&lt;/p&gt;


&lt;h2&gt;
  
  
  🎯 &lt;strong&gt;Stage 3: Timelines &amp;amp; Chaining Animations&lt;/strong&gt;
&lt;/h2&gt;
&lt;h3&gt;
  
  
  ✅ Topics I Covered:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;anime.timeline()&lt;/code&gt; – Creating a sequence of animations&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Staggering&lt;/strong&gt; animations using &lt;code&gt;anime.stagger()&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Chaining&lt;/strong&gt; multiple steps with different targets&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Nested animations&lt;/strong&gt; – Animating grouped or layered elements one after another&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;
  
  
  💡 What I Learned
&lt;/h2&gt;

&lt;p&gt;Today’s focus was on understanding how to build &lt;strong&gt;multi-step animation flows&lt;/strong&gt; that are easier to manage and visually impactful. I learned:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;How to use &lt;code&gt;.add()&lt;/code&gt; with timelines to structure animation steps.&lt;/li&gt;
&lt;li&gt;How to delay and stagger child elements for a smooth chain reaction effect.&lt;/li&gt;
&lt;li&gt;Creating &lt;strong&gt;interactive replay effects&lt;/strong&gt; and &lt;strong&gt;entry animations&lt;/strong&gt; using nested sequences.&lt;/li&gt;
&lt;li&gt;The beauty of timelines in creating &lt;strong&gt;story-like animations&lt;/strong&gt; — like building a character from head to toe or an animated scene.&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;
  
  
  🧩 Practice Task
&lt;/h2&gt;

&lt;p&gt;As a warm-up, I created a &lt;strong&gt;minor animation&lt;/strong&gt; using timeline chaining:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Loading Effect &lt;br&gt;
&lt;iframe height="600" src="https://codepen.io/Ashish-prajapati-the-sasster/embed/qEEObPg?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;


&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  🎬 Main Project of the Day: Character Intro Scene
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;Animated Character Intro Scene &lt;br&gt;
&lt;iframe height="600" src="https://codepen.io/Ashish-prajapati-the-sasster/embed/ByyojEW?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  Features Included:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Timed entry animation of character body parts&lt;/li&gt;
&lt;li&gt;Sequential movements: slide, rotate, scale, and fade-in&lt;/li&gt;
&lt;li&gt;A clean and smooth chained effect using Anime.js timelines&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🧠 Practice Questions from Day 3
&lt;/h2&gt;

&lt;h3&gt;
  
  
  🟢 Basic:
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Create a timeline that scales and fades in a box.&lt;/li&gt;
&lt;li&gt;Animate a group of elements using &lt;code&gt;anime.stagger()&lt;/code&gt; with different delays.&lt;/li&gt;
&lt;li&gt;Create a looped loading animation using timelines.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  🟡 Intermediate:
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Chain an animation that rotates a square, then moves it up and fades it.&lt;/li&gt;
&lt;li&gt;Use nested timelines to animate a complex figure with head, body, arms.&lt;/li&gt;
&lt;li&gt;Animate an image gallery reveal one image at a time using staggering.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  🔴 Advanced:
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Make a button animation that plays a 3-step sequence on click.&lt;/li&gt;
&lt;li&gt;Create a timeline that animates a scene like a sunrise: sky, sun, mountains.&lt;/li&gt;
&lt;li&gt;Build a typing effect where each letter appears with staggered opacity.&lt;/li&gt;
&lt;li&gt;Combine multiple timelines into a master one to animate an entire page layout.&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  🧾 Summary
&lt;/h2&gt;

&lt;p&gt;Today’s lesson truly felt like &lt;strong&gt;levelling up in animation skills&lt;/strong&gt;. Timelines allow more control and cleaner code, and chaining animations brings creativity and storytelling into front-end design. It was super exciting to see how sequential animations can create delightful UI effects.&lt;/p&gt;




&lt;h2&gt;
  
  
  📌 Connect with Me
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;🔗 GitHub:&lt;/strong&gt; &lt;a href="https://github.com/Anticoder03/animejs_learning.git" rel="noopener noreferrer"&gt;Anticoder03&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;🧠 Dev.to:&lt;/strong&gt; &lt;a href="https://dev.to/anticoder03"&gt;@anticoder03&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;💼 LinkedIn:&lt;/strong&gt; &lt;a href="https://www.linkedin.com/in/ashish-prajapati-68bb82242/" rel="noopener noreferrer"&gt;Ashish Prajapati&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;blockquote&gt;
&lt;p&gt;🎨 &lt;strong&gt;"Every animation begins with a single frame — keep pushing pixels and you'll paint motion itself."&lt;/strong&gt;  &lt;/p&gt;
&lt;h2&gt;
  
  
  — &lt;em&gt;Anonymous&lt;/em&gt;
&lt;/h2&gt;
&lt;/blockquote&gt;

&lt;p&gt;Let me know what you think or share your favorite Anime.js timeline tricks! 🚀&lt;br&gt;&lt;br&gt;
See you in Day 4! 💥&lt;/p&gt;

</description>
      <category>codepen</category>
      <category>animejs</category>
      <category>webdev</category>
      <category>javascript</category>
    </item>
    <item>
      <title># 🎯 Anime.js Learning — Day 2</title>
      <dc:creator>Ashish prajapati</dc:creator>
      <pubDate>Sat, 19 Apr 2025 02:31:14 +0000</pubDate>
      <link>https://dev.to/anticoder03/-animejs-learning-day-2-3dh1</link>
      <guid>https://dev.to/anticoder03/-animejs-learning-day-2-3dh1</guid>
      <description>&lt;p&gt;&lt;strong&gt;Author:&lt;/strong&gt; &lt;a href="https://dev.to/anticoder03"&gt;Ashish Prajapati&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;GitHub:&lt;/strong&gt; &lt;a href="https://github.com/Anticoder03/animejs_learning" rel="noopener noreferrer"&gt;Anticoder03/animejs_learning&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;LinkedIn:&lt;/strong&gt; &lt;a href="https://www.linkedin.com/in/ashish-prajapati-68bb82242/" rel="noopener noreferrer"&gt;Ashish Prajapati&lt;/a&gt;&lt;/p&gt;


&lt;h2&gt;
  
  
  📌 &lt;strong&gt;Topics Covered (Stage 2 - Core Properties &amp;amp; Parameters)&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Today I dove deep into Anime.js's core animation properties and learned how to &lt;strong&gt;control the behavior&lt;/strong&gt; of animations with various options. Here's a summary of what I explored:&lt;/p&gt;
&lt;h3&gt;
  
  
  ✅ &lt;strong&gt;Core Animation Properties&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;translateX&lt;/code&gt;, &lt;code&gt;translateY&lt;/code&gt; — Move elements along X and Y axis.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;scale&lt;/code&gt; — Shrink or grow elements.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;rotate&lt;/code&gt; — Rotate elements.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;opacity&lt;/code&gt;, &lt;code&gt;backgroundColor&lt;/code&gt; — Fade in/out and color change.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  ⚙️ &lt;strong&gt;Control Parameters&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;duration&lt;/code&gt; — How long the animation lasts.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;delay&lt;/code&gt; — Delay before starting.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;easing&lt;/code&gt; — Smoothness or style of the animation curve.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;loop&lt;/code&gt;, &lt;code&gt;direction&lt;/code&gt; — Loop the animation or play it alternate.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;autoplay: false&lt;/code&gt; — Allow manual control and trigger via events.&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;
  
  
  💡 &lt;strong&gt;What I Practiced&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;I applied all of the above concepts in small, creative experiments:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Scroll-triggered Animations&lt;/strong&gt; using &lt;code&gt;IntersectionObserver&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Combine Translate + Rotate + Scale + Opacity&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Sequential Button Effects&lt;/strong&gt; using Anime.js &lt;code&gt;timeline()&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Hover-based Button Effects&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Fading and bouncing animations&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Controlled animations on click&lt;/strong&gt; using &lt;code&gt;autoplay: false&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Looping animations&lt;/strong&gt; with glow effects
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Easing combinations&lt;/strong&gt; to create smooth transitions
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Animated entrance for sections/cards&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Animation triggered only once on scroll&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;


&lt;h2&gt;
  
  
  🔨 &lt;strong&gt;Mini Project of the Day&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;I created a &lt;strong&gt;morphing loader animation&lt;/strong&gt; using timeline and scale effects.&lt;/p&gt;

&lt;p&gt;📌 Check out this Pen I made!&lt;br&gt;&lt;br&gt;
&lt;iframe height="600" src="https://codepen.io/Ashish-prajapati-the-sasster/embed/zxxGyWM?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;




&lt;h2&gt;
  
  
  🌀 &lt;strong&gt;Scroll-Based Section Animation&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;This experiment brings in each &lt;code&gt;.section&lt;/code&gt; with a smooth scroll effect — combining &lt;code&gt;translateY&lt;/code&gt;, &lt;code&gt;scale&lt;/code&gt;, &lt;code&gt;rotate&lt;/code&gt;, and &lt;code&gt;opacity&lt;/code&gt;:&lt;/p&gt;

&lt;p&gt;📌 Check out this Pen I made!&lt;br&gt;&lt;br&gt;
&lt;iframe height="600" src="https://codepen.io/Ashish-prajapati-the-sasster/embed/QwwwRmP?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;




&lt;h2&gt;
  
  
  🧠 &lt;strong&gt;What I Learned Today&lt;/strong&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;How to use &lt;code&gt;IntersectionObserver&lt;/code&gt; with Anime.js.&lt;/li&gt;
&lt;li&gt;Creating &lt;strong&gt;timed sequences&lt;/strong&gt; with &lt;code&gt;anime.timeline()&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Triggering animations &lt;strong&gt;only when needed&lt;/strong&gt; (e.g., on scroll or click).&lt;/li&gt;
&lt;li&gt;Building interactive UI elements like &lt;strong&gt;buttons&lt;/strong&gt; and &lt;strong&gt;sections&lt;/strong&gt; with polished animation feedback.&lt;/li&gt;
&lt;li&gt;Mastery over &lt;strong&gt;core animation options&lt;/strong&gt; and their real-world applications.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🚀 Up Next: Day 3 Goals
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Dive into &lt;strong&gt;staggering animations&lt;/strong&gt; for multiple elements.&lt;/li&gt;
&lt;li&gt;Explore &lt;code&gt;anime.set()&lt;/code&gt; and &lt;code&gt;anime.remove()&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Try animating &lt;strong&gt;SVG paths and stroke drawing&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;Thanks for following along!&lt;br&gt;&lt;br&gt;
Let's keep the animation magic alive! ✨&lt;br&gt;&lt;br&gt;
&lt;strong&gt;#MyDaysOfAnimeJS #DevTo #WebDev  #AnimeJS&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>codepen</category>
      <category>animejs</category>
      <category>webdev</category>
      <category>javascript</category>
    </item>
    <item>
      <title>✨"Day 1 with Anime.js — Breathing Life into a Static Webpage"</title>
      <dc:creator>Ashish prajapati</dc:creator>
      <pubDate>Thu, 17 Apr 2025 06:40:09 +0000</pubDate>
      <link>https://dev.to/anticoder03/day-1-with-animejs-breathing-life-into-a-static-webpage-34ig</link>
      <guid>https://dev.to/anticoder03/day-1-with-animejs-breathing-life-into-a-static-webpage-34ig</guid>
      <description>&lt;h3&gt;
  
  
  📌 Introduction
&lt;/h3&gt;

&lt;p&gt;Hey Devs! 👋&lt;br&gt;&lt;br&gt;
Today marks &lt;strong&gt;Day 1&lt;/strong&gt; of my journey into learning &lt;a href="https://animejs.com" rel="noopener noreferrer"&gt;Anime.js&lt;/a&gt;, a lightweight JavaScript animation library that makes adding animations to your web projects &lt;em&gt;ridiculously fun and powerful&lt;/em&gt;.&lt;br&gt;&lt;br&gt;
In this article, I’ll walk you through how I animated a simple landing page using Anime.js — from setup to final smooth transitions.&lt;/p&gt;




&lt;h3&gt;
  
  
  🚀 What I Built
&lt;/h3&gt;

&lt;p&gt;I created a simple landing page with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A navigation bar&lt;/li&gt;
&lt;li&gt;A hero section with a title, description, and buttons&lt;/li&gt;
&lt;li&gt;A footer for credit&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Then I used &lt;strong&gt;Anime.js&lt;/strong&gt; to animate these sections on page load — from logo slides to button scales — to give the site a vibrant entrance.&lt;/p&gt;




&lt;h3&gt;
  
  
  ✅ 10 Micro Tasks I Completed
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Setup HTML structure for the layout
&lt;/li&gt;
&lt;li&gt;Designed the page using Tailwind-inspired clean CSS
&lt;/li&gt;
&lt;li&gt;Integrated Anime.js via CDN
&lt;/li&gt;
&lt;li&gt;Created a logo entrance animation with &lt;code&gt;translateX&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Added staggered drop-in for navbar items
&lt;/li&gt;
&lt;li&gt;Applied scaling to the title
&lt;/li&gt;
&lt;li&gt;Animated text paragraphs with fade and upward motion
&lt;/li&gt;
&lt;li&gt;Scaled the buttons with subtle bounce
&lt;/li&gt;
&lt;li&gt;Animated the footer slide-in
&lt;/li&gt;
&lt;li&gt;Polished animation timing with &lt;code&gt;easing&lt;/code&gt; and &lt;code&gt;duration&lt;/code&gt;
&lt;/li&gt;
&lt;/ol&gt;




&lt;h3&gt;
  
  
  💻 Tech Stack
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;HTML5&lt;/strong&gt; &amp;amp; &lt;strong&gt;CSS3&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;JavaScript&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Anime.js&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Google Fonts (Poppins)&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  🔥 Projects I Created
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Landing Page with Anime.js Elements&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Check out this Pen I made!&lt;br&gt;&lt;br&gt;
&lt;iframe height="600" src="https://codepen.io/Ashish-prajapati-the-sasster/embed/wBBvYJR?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Smooth Intro Animation with Staggered Effects&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Check out this Pen I made!&lt;br&gt;&lt;br&gt;
&lt;iframe height="600" src="https://codepen.io/Ashish-prajapati-the-sasster/embed/ZYYEmEe?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;




&lt;h3&gt;
  
  
  📁 GitHub Repository
&lt;/h3&gt;

&lt;p&gt;🔗 &lt;a href="https://github.com/Anticoder03/animejs_learning.git" rel="noopener noreferrer"&gt;GitHub Repo — animejs_learning&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Browse through the full source code and contribute if you’d like!&lt;/p&gt;




&lt;h3&gt;
  
  
  🧠 What I Learned
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;How to integrate Anime.js with ease&lt;/li&gt;
&lt;li&gt;Animate multiple DOM elements with stagger&lt;/li&gt;
&lt;li&gt;Utilize properties like &lt;code&gt;translate&lt;/code&gt;, &lt;code&gt;opacity&lt;/code&gt;, &lt;code&gt;scale&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Fine-tune UX with custom easing and durations&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  🧪 What’s Next?
&lt;/h3&gt;

&lt;p&gt;This was just the start. In upcoming sessions, I plan to dive into:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Anime.js &lt;strong&gt;timelines&lt;/strong&gt; for complex sequences
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;SVG path animations&lt;/strong&gt; for creative motion
&lt;/li&gt;
&lt;li&gt;Scroll-based triggers for interactive storytelling&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  🙌 Final Thoughts
&lt;/h3&gt;

&lt;p&gt;This experiment showed me how easy and elegant Anime.js is. If you're into frontend or just want to spice up your UIs — &lt;strong&gt;Anime.js deserves a spot in your toolbox&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Let’s animate the web, one pixel at a time. ✨&lt;/p&gt;




&lt;h3&gt;
  
  
  🧑‍💻 Author
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Ashish Prajapati&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
🔗 &lt;a href="https://github.com/Anticoder03" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;&lt;br&gt;&lt;br&gt;
📝 &lt;a href="https://dev.to/anticoder03"&gt;Dev.to&lt;/a&gt;&lt;br&gt;&lt;br&gt;
💼 &lt;a href="https://www.linkedin.com/in/ashish-prajapati-68bb82242/" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt;&lt;/p&gt;

</description>
      <category>codepen</category>
      <category>animejs</category>
      <category>webdev</category>
      <category>javascript</category>
    </item>
  </channel>
</rss>
