<?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: Kunal Gupta</title>
    <description>The latest articles on DEV Community by Kunal Gupta (@kunalgupta25).</description>
    <link>https://dev.to/kunalgupta25</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%2F3357522%2Ff1653b11-e44d-4559-8ed5-c12b202a70d4.jpeg</url>
      <title>DEV Community: Kunal Gupta</title>
      <link>https://dev.to/kunalgupta25</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/kunalgupta25"/>
    <language>en</language>
    <item>
      <title>My Anime List Agent</title>
      <dc:creator>Kunal Gupta</dc:creator>
      <pubDate>Fri, 18 Jul 2025 11:49:23 +0000</pubDate>
      <link>https://dev.to/kunalgupta25/my-anime-list-agent-4342</link>
      <guid>https://dev.to/kunalgupta25/my-anime-list-agent-4342</guid>
      <description>&lt;h2&gt;
  
  
  👋 Hello there
&lt;/h2&gt;

&lt;p&gt;Welcome to my blog about the &lt;strong&gt;My Anime List Agent (MAL-Agent)&lt;/strong&gt; – an open-source project I built to interact effortlessly with &lt;a href="https://myanimelist.net/" rel="noopener noreferrer"&gt;MyAnimeList&lt;/a&gt; through chat and smart features. Here, I’ll share how I created it, the features it offers, what it can do, and how you can use it.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why I Created MAL-Agent
&lt;/h2&gt;

&lt;p&gt;As a passionate anime fan and developer, I often found myself wanting to simplify tasks on MyAnimeList: updating my watchlist, searching for anime, fetching recommendations, and more. The current MyAnimeList platform has an outdated design and lacks a user-friendly interface. More importantly, there’s no built-in option to Update animes in bulk.&lt;/p&gt;

&lt;p&gt;So, I decided to build &lt;strong&gt;MAL-Agent&lt;/strong&gt; – a smart, customizable Assistant that bridges the gap between anime lovers and the MyAnimeList platform to solve these issues with just chat.&lt;/p&gt;




&lt;h2&gt;
  
  
  How I Built MAL-Agent
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Planning &amp;amp; Research&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;Explored &lt;a href="https://myanimelist.net/apiconfig/references/api/v2" rel="noopener noreferrer"&gt;MyAnimeList API v2&lt;/a&gt; to identify user pain points and common interactions.&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Tech Stack&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Python&lt;/strong&gt;: Chosen for speed and robust library ecosystem.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Requests&lt;/strong&gt;: To manage all API communication.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Streamlit&lt;/strong&gt;: Used to build the web-based interface.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Gemini (by Google)&lt;/strong&gt;: Utilized as the base LLM for intelligent suggestions and interactions.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Database&lt;/strong&gt;: SQLite or JSON for storing local user preferences.&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Core Development&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;Integrated OAuth2 for secure user authentication.&lt;/li&gt;
&lt;li&gt;Created modules for search, updates, recommendations, and bulk operations.&lt;/li&gt;
&lt;li&gt;Developed a streamlined web UI using Streamlit.&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Testing &amp;amp; Refinement&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;Ran tests using sample user accounts.&lt;/li&gt;
&lt;li&gt;Improved speed, fixed bugs, and added meaningful error messages.&lt;/li&gt;
&lt;/ul&gt;




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

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Anime Search&lt;/strong&gt;: Instantly find anime titles and details.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Watchlist Management&lt;/strong&gt;: Easily add, update, or remove entries.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Smart Recommendations&lt;/strong&gt;: Suggestions based on your ratings and viewing history.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Bulk List Updating&lt;/strong&gt;: Paste anime links or names with status to update in one go.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Custom Filters&lt;/strong&gt;: Sort anime by genre, rating, status, and more.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Web Interface&lt;/strong&gt;: Use the agent through a user-friendly Streamlit-powered web page.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Direct Watchlink&lt;/strong&gt;: Quickly access anime on Crunchyroll or HiAnime.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  What MAL-Agent Can Do
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Automate Repetitive Tasks&lt;/strong&gt;: No more manual edits – MAL-Agent handles everything.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Personalized Suggestions&lt;/strong&gt;: Get custom recommendations curated for your tastes.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Bulk Operations&lt;/strong&gt;: Add or update multiple entries simultaneously.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Data Export/Import&lt;/strong&gt;: Backup or share your anime list with ease.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Fast, Flexible Search&lt;/strong&gt;: Search by title, studio, genre, or tags.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Status Tracking&lt;/strong&gt;: Stay updated on airing schedules and your current progress.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  How to Use MAL-Agent
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Clone the Repository
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/KunalGupta25/MAL-Agent.git
&lt;span class="nb"&gt;cd &lt;/span&gt;MAL-Agent
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  2. Install Requirements
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;pip &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-r&lt;/span&gt; requirements.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  3. Configure Your Credentials
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Head over to &lt;a href="https://myanimelist.net/apiconfig" rel="noopener noreferrer"&gt;MyAnimeList API&lt;/a&gt; to get your API keys.&lt;/li&gt;
&lt;li&gt;Save them in &lt;code&gt;config.json&lt;/code&gt; or export them as environment variables.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  4. Launch the Web Interface
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;streamlit run web_app.py
&lt;span class="c"&gt;# Then visit the provided localhost URL in your browser&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  App Showcase
&lt;/h2&gt;

&lt;p&gt;Here are a few snapshots of the &lt;strong&gt;MAL-Agent&lt;/strong&gt; in action:&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%2Fcokb5ny745q6q52wizru.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%2Fcokb5ny745q6q52wizru.png" alt="login page" width="800" height="362"&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%2Fd75mqf1yh5ttxu4ex40j.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%2Fd75mqf1yh5ttxu4ex40j.png" alt="chat interface" width="800" height="365"&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%2F90ba2v3x8ffmpjmsmv0m.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%2F90ba2v3x8ffmpjmsmv0m.png" alt="sample run" width="800" height="363"&gt;&lt;/a&gt;&lt;/p&gt;




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

&lt;p&gt;MAL-Agent was built purely out of passion — a personal project to combine my love for anime and my interest in building practical, AI-powered tools. While it started as a way to solve my own pain points with the MyAnimeList experience, it evolved into something much more useful and enjoyable.&lt;/p&gt;

&lt;p&gt;Whether you’re just looking to automate your list updates or explore smart anime recommendations, I hope this tool adds some extra joy to your anime journey.&lt;/p&gt;

&lt;p&gt;Contributions, feedback, and feature requests are always welcome. Let’s build a better anime experience together!&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Check it out on &lt;a href="https://github.com/KunalGupta25/MAL-Agent" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt; &lt;br&gt;
and don't forget to give star if you like my idea.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Created by:&lt;/strong&gt; &lt;a href="https://github.com/KunalGupta25" rel="noopener noreferrer"&gt;KunalGupta25&lt;/a&gt; aka LazyHuman&lt;/p&gt;

&lt;p&gt;&lt;a href="https://ko-fi.com/lazy_human" rel="noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/70e2ef5e0263b261f9a2a314bb1d6919d1d43292eed117fe8fc766a68c7d96ea/68747470733a2f2f6b6f2d66692e636f6d2f696d672f676974687562627574746f6e5f736d2e737667" alt="ko-fi" width="223" height="30"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>smolagents</category>
      <category>genai</category>
      <category>gemini</category>
      <category>python</category>
    </item>
  </channel>
</rss>
