<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: BALLA NAGA V VENKATA SATYA NARASIMHAMURTHY</title>
    <description>The latest articles on Forem by BALLA NAGA V VENKATA SATYA NARASIMHAMURTHY (@narasimhamurthy4616).</description>
    <link>https://forem.com/narasimhamurthy4616</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%2F3665980%2Fd8b6c754-5061-4caa-8b76-64a1f9d975b4.jpeg</url>
      <title>Forem: BALLA NAGA V VENKATA SATYA NARASIMHAMURTHY</title>
      <link>https://forem.com/narasimhamurthy4616</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/narasimhamurthy4616"/>
    <language>en</language>
    <item>
      <title>Building Cinemind-AI 🎬 | My First AI Movie Chatbot with Flask, Gemini &amp; MongoDB</title>
      <dc:creator>BALLA NAGA V VENKATA SATYA NARASIMHAMURTHY</dc:creator>
      <pubDate>Sun, 19 Apr 2026 05:05:32 +0000</pubDate>
      <link>https://forem.com/narasimhamurthy4616/building-cinemind-ai-my-first-ai-movie-chatbot-with-flask-gemini-mongodb-12ik</link>
      <guid>https://forem.com/narasimhamurthy4616/building-cinemind-ai-my-first-ai-movie-chatbot-with-flask-gemini-mongodb-12ik</guid>
      <description>&lt;h2&gt;
  
  
  🎬 Cinemind-AI
&lt;/h2&gt;

&lt;p&gt;I recently built my own AI chatbot called &lt;strong&gt;Cinemind-AI&lt;/strong&gt; — a movie-focused assistant that answers questions about films, actors, and directors.&lt;/p&gt;

&lt;p&gt;This project helped me understand how real AI applications work behind the scenes.&lt;/p&gt;




&lt;h2&gt;
  
  
  🚀 What is Cinemind-AI?
&lt;/h2&gt;

&lt;p&gt;Cinemind-AI is a &lt;strong&gt;movie-only chatbot&lt;/strong&gt; that:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Answers questions about movies 🎥
&lt;/li&gt;
&lt;li&gt;Stores chat history 📂
&lt;/li&gt;
&lt;li&gt;Works like ChatGPT 💬
&lt;/li&gt;
&lt;li&gt;Uses AI for intelligent responses 🧠
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🏗️ Architecture
&lt;/h2&gt;

&lt;p&gt;Here’s how the system works:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Frontend (HTML + JavaScript)
        ↓
Backend (Flask API)
        ↓
AI Model (Google Gemini)
        ↓
Database (MongoDB)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






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

&lt;ul&gt;
&lt;li&gt;Python 🐍
&lt;/li&gt;
&lt;li&gt;Flask 🌐
&lt;/li&gt;
&lt;li&gt;Google Gemini API 🤖
&lt;/li&gt;
&lt;li&gt;MongoDB 🗄️
&lt;/li&gt;
&lt;li&gt;HTML, CSS, JavaScript 💻
&lt;/li&gt;
&lt;/ul&gt;




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

&lt;h3&gt;
  
  
  💬 ChatGPT-like Interface
&lt;/h3&gt;

&lt;p&gt;Users can chat naturally like they do with AI assistants.&lt;/p&gt;

&lt;h3&gt;
  
  
  🎥 Movie Domain Restriction
&lt;/h3&gt;

&lt;p&gt;The chatbot only answers movie-related questions.&lt;/p&gt;

&lt;p&gt;If a user asks something else:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;⚠ Please ask only movie related questions.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  📂 Chat History
&lt;/h3&gt;

&lt;p&gt;All chats are stored in MongoDB and can be reopened later.&lt;/p&gt;

&lt;h3&gt;
  
  
  🧠 AI-Powered Responses
&lt;/h3&gt;

&lt;p&gt;Using Gemini API, the chatbot generates smart answers.&lt;/p&gt;




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

&lt;h3&gt;
  
  
  1. User Sends Message
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;polisodu telugu movie
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  2. Flask Backend Receives It
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;data&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;request&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;get_json&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="n"&gt;message&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;message&lt;/span&gt;&lt;span class="sh"&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. Domain Filter Applied
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;movie&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt; &lt;span class="ow"&gt;not&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;message&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Only movie questions allowed&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  4. AI Generates Response
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;generate_content&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;message&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  5. Stored in MongoDB
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
 &lt;/span&gt;&lt;span class="nl"&gt;"role"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"user"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
 &lt;/span&gt;&lt;span class="nl"&gt;"message"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"polisodu telugu movie"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  🧪 Challenges I Faced
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;API rate limits (Gemini quota hit 💀)&lt;/li&gt;
&lt;li&gt;JSON parsing errors in frontend&lt;/li&gt;
&lt;li&gt;Handling Markdown formatting in responses&lt;/li&gt;
&lt;li&gt;Managing chat sessions correctly&lt;/li&gt;
&lt;/ul&gt;




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

&lt;ul&gt;
&lt;li&gt;How frontend talks to backend (fetch API)&lt;/li&gt;
&lt;li&gt;How Flask APIs work&lt;/li&gt;
&lt;li&gt;How AI models are integrated&lt;/li&gt;
&lt;li&gt;How databases store chat data&lt;/li&gt;
&lt;li&gt;Real-world debugging skills 😄&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🚀 Future Improvements
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Streaming AI responses (typing effect)&lt;/li&gt;
&lt;li&gt;Chat titles like ChatGPT&lt;/li&gt;
&lt;li&gt;Movie posters integration&lt;/li&gt;
&lt;li&gt;Better UI design&lt;/li&gt;
&lt;/ul&gt;




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

&lt;p&gt;Building Cinemind-AI made me realize how modern AI apps are structured.&lt;/p&gt;

&lt;p&gt;This is not just a chatbot — it's a &lt;strong&gt;full-stack AI project&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  👨‍💻 About Me
&lt;/h2&gt;

&lt;p&gt;I'm Nagu, a Cyber Security Engineering student exploring AI + Web Development 🚀 &lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;a href="https://github.com/NARASIMHAMURTHY4616/cinemind-ai.git" rel="noopener noreferrer"&gt;GITHUB REPO &lt;/a&gt;.
&lt;/h2&gt;




&lt;h2&gt;
  
  
  ⭐ If You Like This
&lt;/h2&gt;

&lt;p&gt;Give your feedback or suggestions!&lt;/p&gt;

&lt;p&gt;And if you're building something similar, let’s connect 🔥&lt;/p&gt;

</description>
      <category>python</category>
      <category>ai</category>
      <category>webdev</category>
      <category>mongodb</category>
    </item>
    <item>
      <title>ros turtlesim for beginners</title>
      <dc:creator>BALLA NAGA V VENKATA SATYA NARASIMHAMURTHY</dc:creator>
      <pubDate>Wed, 31 Dec 2025 05:57:50 +0000</pubDate>
      <link>https://forem.com/narasimhamurthy4616/ros-turtlesim-for-beginners-1h30</link>
      <guid>https://forem.com/narasimhamurthy4616/ros-turtlesim-for-beginners-1h30</guid>
      <description>&lt;p&gt;ros2 turtlesim&lt;br&gt;
the humble turtlesim is a beginer level simulation tool&lt;/p&gt;

&lt;p&gt;Hey everyone 👋 I’m Nagu, and this is my first blog post on the DEV Community!&lt;br&gt;
In this post, we’ll explore Turtlesim, a fun and simple simulator in ROS 2 (Robot Operating System 2) — perfect for beginners who want to start learning robotics and ROS commands.&lt;/p&gt;

&lt;p&gt;🚀 What is ROS 2 Humble?&lt;/p&gt;

&lt;p&gt;ROS 2 Humble Hawksbill is a popular Long-Term Support (LTS) version of ROS 2.&lt;br&gt;
It’s widely used for building and simulating robots — from simple mobile bots to advanced AI-driven systems.&lt;/p&gt;

&lt;p&gt;🐢 What is Turtlesim?&lt;/p&gt;

&lt;p&gt;Turtlesim is a lightweight simulator that shows a small turtle in a 2D world.&lt;br&gt;
It’s often the first step to understanding ROS concepts such as:&lt;/p&gt;

&lt;p&gt;Nodes 🧩 (independent programs)&lt;/p&gt;

&lt;p&gt;Topics 🗣️ (communication channels)&lt;/p&gt;

&lt;p&gt;Services ⚙️ (request/response system)&lt;/p&gt;

&lt;p&gt;Parameters ⚡ (settings and configurations)&lt;/p&gt;

&lt;p&gt;⚙️ Step 1: Install ROS 2 Humble&lt;/p&gt;

&lt;p&gt;If you haven’t installed ROS 2 yet, open your terminal and run:&lt;/p&gt;

&lt;p&gt;sudo apt update &amp;amp;&amp;amp; sudo apt upgrade -y&lt;br&gt;
sudo apt install ros-humble-desktop&lt;br&gt;
Then source it: &lt;br&gt;
&lt;code&gt;source&lt;br&gt;
&lt;/code&gt;&lt;br&gt;
/opt/ros/humble/setup.bash&lt;br&gt;
(Tip: Add this line to your .bashrc so it auto-loads every time you open a terminal)&lt;/p&gt;

&lt;p&gt;🧩 Step 2: Install Turtlesim&lt;/p&gt;

&lt;p&gt;sudo apt install ros-humble-turtlesim&lt;br&gt;
Check if it’s installed:&lt;/p&gt;

&lt;p&gt;ros2 pkg list | grep turtlesim&lt;br&gt;
note :sometimes ros2 command not found in terminal&lt;br&gt;
in that case it better to switch to root terminal by the below command&lt;/p&gt;

&lt;p&gt;sudo su&lt;br&gt;
🖥️ Step 3: Run Turtlesim&lt;/p&gt;

&lt;p&gt;Launch the turtlesim window:&lt;/p&gt;

&lt;p&gt;ros2 run turtlesim turtlesim_node&lt;br&gt;
A blue window will appear with a turtle in the center 🐢💙&lt;/p&gt;

&lt;p&gt;🎮 Step 4: Control the Turtle&lt;/p&gt;

&lt;p&gt;Open another terminal and run:&lt;/p&gt;

&lt;p&gt;ros2 run turtlesim turtle_teleop_key&lt;br&gt;
after clicks of some keys&lt;br&gt;
⬆️➡️⬇️⬅️&lt;/p&gt;

&lt;p&gt;Now use your arrow keys to move the turtle around.&lt;br&gt;
Congrats — you just published your first commands in ROS 2!&lt;/p&gt;

&lt;p&gt;🧠 Step 5: Explore Basic Commands&lt;/p&gt;

&lt;p&gt;List all active topics:&lt;/p&gt;

&lt;p&gt;ros2 topic list&lt;/p&gt;

&lt;p&gt;See messages being published: while you are controling the turtle by arrow keys&lt;/p&gt;

&lt;p&gt;ros2 topic echo /turtle1/cmd_vel&lt;/p&gt;




&lt;p&gt;linear:&lt;br&gt;
  x: 0.0&lt;br&gt;
  y: 0.0&lt;br&gt;
  z: 0.0&lt;br&gt;
angular:&lt;br&gt;
  x: 0.0&lt;br&gt;
  y: 0.0&lt;/p&gt;

&lt;h2&gt;
  
  
    z: -2.0
&lt;/h2&gt;

&lt;p&gt;linear:&lt;br&gt;
  x: 0.0&lt;br&gt;
  y: 0.0&lt;br&gt;
  z: 0.0&lt;br&gt;
angular:&lt;br&gt;
  x: 0.0&lt;br&gt;
  y: 0.0&lt;/p&gt;

&lt;h2&gt;
  
  
    z: 2.0
&lt;/h2&gt;

&lt;p&gt;WHEN YOU TOUCH THE EDGE OF THE WINDOW it publish to the&lt;/p&gt;

&lt;p&gt;turtlesim_node&lt;br&gt;
terminal&lt;br&gt;
[WARN] [1761550426.649414936] [turtlesim]: Oh no! I hit the wall! (Clamping from [x=11.120421, y=4.634281])&lt;/p&gt;

&lt;p&gt;Clear the screen:&lt;/p&gt;

&lt;p&gt;ros2 service call /clear std_srvs/srv/Empty&lt;br&gt;
Change the background color:&lt;/p&gt;

&lt;p&gt;ros2 param set /turtlesim background_r 200&lt;br&gt;
ros2 param set /turtlesim background_g 100&lt;br&gt;
ros2 param set /turtlesim background_b 150&lt;br&gt;
ros2 service call /clear std_srvs/srv/Empty&lt;br&gt;
💡 What You Learned&lt;/p&gt;

&lt;p&gt;✅ How to install and run ROS 2 Humble&lt;br&gt;
✅ How to launch and control Turtlesim&lt;br&gt;
✅ How to explore topics, services, and parameters&lt;br&gt;
the official website for ros&lt;/p&gt;

&lt;p&gt;This is just the beginning of your ROS 2 journey — next, we’ll write a Python node to move the turtle automatically!&lt;/p&gt;

&lt;p&gt;✍️ Final Words&lt;/p&gt;

&lt;p&gt;Thanks for reading!&lt;br&gt;
If you enjoyed this post or found it helpful, leave a ❤️ and follow me for more tutorials on ROS 2, Ubuntu, and Ethical Hacking.&lt;br&gt;
and since it is my first ever blog please support me for more info&lt;/p&gt;

&lt;p&gt;“Don’t prove, just improve.” — Nagu&lt;/p&gt;

&lt;p&gt;Would you like me to write your next post script — the one about controlling Turtlesim using Python code&lt;br&gt;
see you soon guys&lt;/p&gt;

</description>
      <category>ros</category>
      <category>ros2</category>
      <category>turtlesim</category>
      <category>beginners</category>
    </item>
  </channel>
</rss>
