<?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: Saad Bin Khalid</title>
    <description>The latest articles on DEV Community by Saad Bin Khalid (@saadbinkhalid).</description>
    <link>https://dev.to/saadbinkhalid</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%2F3548189%2Fbb8acc42-7db8-4c8e-bf89-467f75c43bcf.jpg</url>
      <title>DEV Community: Saad Bin Khalid</title>
      <link>https://dev.to/saadbinkhalid</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/saadbinkhalid"/>
    <language>en</language>
    <item>
      <title>🚗 AutoLog.AI — Smart Vehicle Management with AI, OCR &amp; Automation</title>
      <dc:creator>Saad Bin Khalid</dc:creator>
      <pubDate>Thu, 30 Oct 2025 14:43:33 +0000</pubDate>
      <link>https://dev.to/saadbinkhalid/autologai-smart-vehicle-management-with-ai-ocr-automation-471i</link>
      <guid>https://dev.to/saadbinkhalid/autologai-smart-vehicle-management-with-ai-ocr-automation-471i</guid>
      <description>&lt;h2&gt;
  
  
  🌟 Introduction
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Hey Devs 👋&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;After 3 months of sleepless nights, debugging marathons, and too many cups of chai ☕, I’m beyond proud to share my latest project — &lt;strong&gt;AutoLogAI&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;This isn’t just another web app. It’s a smart ecosystem built to automate your car’s life — from fuel tracking to AI assistance, and even OCR-based receipt scanning.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AutoLogAI&lt;/strong&gt; represents everything I love about tech — merging AI, automation, and user experience into one powerful platform.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🧠 What is AutoLogAI?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AutoLogAI&lt;/strong&gt; is a smart vehicle management system that helps users manage fuel logs, maintenance schedules, receipts, and even chat with an AI assistant named &lt;strong&gt;Nex&lt;/strong&gt; for guidance and support.&lt;/p&gt;

&lt;p&gt;It’s built to simplify your driving life, automate repetitive tasks, and keep your car’s data organized — all in one dashboard.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;⚙️ Key Features&lt;/strong&gt;
&lt;/h2&gt;

&lt;h2&gt;
  
  
  🧾 OCR Receipt Scanner
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Ever lost your fuel or service receipts?&lt;/strong&gt;&lt;br&gt;
We solved that with OCR (Optical Character Recognition) using &lt;strong&gt;Tesseract.js.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;📸 How we did it:&lt;/strong&gt;&lt;br&gt;
Users can upload a receipt image → the system reads it using OCR → and automatically fills in the fuel or service details.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🎯 Purpose:&lt;/strong&gt;&lt;br&gt;
To save time, reduce manual entry, and bring automation to car expense tracking.&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%2Fnl4fucqp25rg7ykg7erz.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%2Fnl4fucqp25rg7ykg7erz.PNG" alt="OCR MODULE" width="800" height="387"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  🤖 AI Assistant (Nex)
&lt;/h2&gt;

&lt;p&gt;Meet Nex, your personal car companion 💬&lt;/p&gt;

&lt;p&gt;Built using the Google Gemini API, Nex can answer your car-related questions, remind you about maintenance, or guide you through the app.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;⚙️ How we built it:&lt;/strong&gt;&lt;br&gt;
We integrated Gemini’s conversational API with Flask endpoints, then built a chat interface in Angular for smooth UX.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🎯 Purpose:&lt;/strong&gt;&lt;br&gt;
To make AutoLog.AI feel like a personal assistant rather than just another tool.&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%2Fas1xcg9hs2edysy951ln.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%2Fas1xcg9hs2edysy951ln.PNG" alt="Nex" width="800" height="384"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  ⛽ Fuel Log Management
&lt;/h2&gt;

&lt;p&gt;Logging fuel details manually? Not anymore.&lt;/p&gt;

&lt;p&gt;The Fuel Log module lets users record every refill with details like price, liters, date, and mileage — all securely saved in the database.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;⚙️ How it works:&lt;/strong&gt;&lt;br&gt;
A simple Angular form connects with Flask APIs secured using JWT, storing every record in MongoDB.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🎯 Purpose:&lt;/strong&gt;&lt;br&gt;
Track your mileage trends, costs, and car performance effortlessly.&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%2Fw7phstntcyq9iuwnm4m4.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%2Fw7phstntcyq9iuwnm4m4.PNG" alt="Fuel Logs" width="800" height="389"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  🔔 Service Reminders
&lt;/h2&gt;

&lt;p&gt;Never forget a service again!&lt;/p&gt;

&lt;p&gt;With AutoLog.AI’s reminder system, users can set upcoming maintenance remind&lt;br&gt;
ers — oil change, tire rotation, or inspection.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;⚙️ How it works:&lt;/strong&gt;&lt;br&gt;
Users enter their service details → Flask API saves them → reminders are displayed dynamically in the dashboard.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🎯 Purpose:&lt;/strong&gt;&lt;br&gt;
To keep vehicles in top condition and reduce long-term maintenance costs.&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%2F7x9rm7qhw6ozok99kfj1.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%2F7x9rm7qhw6ozok99kfj1.PNG" alt="Reminder Module" width="800" height="386"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  🧑‍💼 Admin Panel
&lt;/h2&gt;

&lt;p&gt;A dedicated admin dashboard helps manage all users, logs, and activities in one place.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;⚙️ How we built it:&lt;/strong&gt;&lt;br&gt;
Using Angular, styled with TailwindCSS for a sleek professional look.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🎯 Purpose:&lt;/strong&gt;&lt;br&gt;
To make data management efficient and secure for both users and admins.&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%2Frdz40dguquaua39ctvz2.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%2Frdz40dguquaua39ctvz2.PNG" alt="admin page " width="800" height="315"&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%2F9tk6x9ko6rdb9srejzaf.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%2F9tk6x9ko6rdb9srejzaf.PNG" alt="admin page " width="800" height="196"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  🔐 Authentication &amp;amp; Email System
&lt;/h2&gt;

&lt;p&gt;Security was a top priority.&lt;/p&gt;

&lt;p&gt;We implemented JWT authentication for all APIs and added Flask-Mail for OTP-based signup/login verification.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🎯 Purpose:&lt;/strong&gt;&lt;br&gt;
To keep every user’s data safe and ensure a professional-grade authentication flow.&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%2F9eujj2lqq1trxph1jf4k.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%2F9eujj2lqq1trxph1jf4k.PNG" alt="login" 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%2Far3onpy7ysvd7oln938k.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%2Far3onpy7ysvd7oln938k.PNG" alt="otp" 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%2F4t8ra0xhoixrw2ozniqa.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%2F4t8ra0xhoixrw2ozniqa.PNG" alt="signup" width="800" height="369"&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%2Fzwg5dz4pvh8xktp5ex2j.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%2Fzwg5dz4pvh8xktp5ex2j.PNG" alt="contact" width="800" height="369"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  🏡 Additional Pages
&lt;/h2&gt;

&lt;p&gt;To make the platform polished and user-friendly, we added:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Hero Section: Welcoming users with purpose and design.&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%2F7pg0ner34fx7yge7uwv9.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%2F7pg0ner34fx7yge7uwv9.PNG" alt="hero" width="800" height="369"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;About Page: Explaining AutoLog.AI’s mission.&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%2Fwwvkv81fs13v7jechi44.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%2Fwwvkv81fs13v7jechi44.PNG" alt="about" width="800" height="369"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Footer &amp;amp; Policy Pages: For a complete, professional touch.&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%2Fqd51aepdf6ivj7mwql47.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%2Fqd51aepdf6ivj7mwql47.PNG" alt="footer" width="800" height="151"&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%2F1xbdu4wbgq8wick0f787.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%2F1xbdu4wbgq8wick0f787.PNG" alt="policy" width="662" height="840"&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%2Fvxt6f283ataqjnqky0gd.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%2Fvxt6f283ataqjnqky0gd.PNG" alt="terms" width="627" height="819"&gt;&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;Layer         Technologies&lt;/strong&gt;&lt;br&gt;
Frontend       Angular, TypeScript, TailwindCSS&lt;br&gt;
Backend         Flask, Flask-Mail, Flask-Admin, JWT&lt;br&gt;
AI          Google Gemini API&lt;br&gt;
OCR         Tesseract.js&lt;br&gt;
Database    SQLite&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;📖 The Journey Behind AutoLogAI&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;AutoLog.AI wasn’t built overnight.&lt;/p&gt;

&lt;p&gt;It started as a simple idea: “What if cars could talk back?”&lt;br&gt;
From that spark, came a 3-month journey of:&lt;/p&gt;

&lt;p&gt;Late-night debugging sessions 🌙&lt;/p&gt;

&lt;p&gt;Designing every page from scratch 🎨&lt;/p&gt;

&lt;p&gt;Integrating AI, OCR, and authentication 🔧&lt;/p&gt;

&lt;p&gt;This project taught me the beauty of patience, consistency, and innovation.&lt;/p&gt;

&lt;p&gt;Now, it stands complete — proof that passion and persistence can turn an idea into a product.&lt;/p&gt;

&lt;h2&gt;
  
  
  🔗 GitHub Repository
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/Saadbkhalid666/AutoLog.ai" rel="noopener noreferrer"&gt;AutoLogAI - by Saad Bin Khalid&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  AutoLog.AI on GitHub
&lt;/h2&gt;

&lt;p&gt;📜 License&lt;/p&gt;

&lt;p&gt;Licensed under the MIT License — free to use, learn from, and improve upon.&lt;/p&gt;

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

&lt;blockquote&gt;
&lt;p&gt;“AutoLog.AI isn’t just a web app — it’s a reflection of a dream, hard work, and belief.”&lt;br&gt;
 💚&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>programming</category>
      <category>ai</category>
      <category>python</category>
      <category>gemini</category>
    </item>
    <item>
      <title>Just Deploying my First Project using Angular and Flask</title>
      <dc:creator>Saad Bin Khalid</dc:creator>
      <pubDate>Wed, 22 Oct 2025 14:36:23 +0000</pubDate>
      <link>https://dev.to/saadbinkhalid/just-deploying-my-first-project-using-angular-and-flask-4hgl</link>
      <guid>https://dev.to/saadbinkhalid/just-deploying-my-first-project-using-angular-and-flask-4hgl</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%2Fmielpumv97i1txkklzyc.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%2Fmielpumv97i1txkklzyc.png" alt=" " width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>autologai</category>
      <category>angular</category>
    </item>
    <item>
      <title>ChatWat - RealTime Chat App</title>
      <dc:creator>Saad Bin Khalid</dc:creator>
      <pubDate>Wed, 22 Oct 2025 14:34:47 +0000</pubDate>
      <link>https://dev.to/saadbinkhalid/chatwat-realtime-chat-app-55in</link>
      <guid>https://dev.to/saadbinkhalid/chatwat-realtime-chat-app-55in</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%2Fz5oz7vc6aphomp2j1xj2.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%2Fz5oz7vc6aphomp2j1xj2.png" alt=" " width="800" height="800"&gt;&lt;/a&gt;ChatWat is a full-stack real-time chat application built with the MERN stack — a blend of performance, modern design, and clean developer logic. It’s designed not just to chat, but to showcase how a real-world messaging system works end-to-end — from authentication to socket-based real-time updates.&lt;/p&gt;

&lt;p&gt;🚀 What’s Inside&lt;/p&gt;

&lt;p&gt;ChatWat isn’t just about messages — it’s about structure, scalability, and simplicity:&lt;/p&gt;

&lt;p&gt;🔐 Authentication System – Secure login and signup with JWT-based authentication.&lt;/p&gt;

&lt;p&gt;💬 Real-Time Chatting – Instant messaging powered by Socket.io for live communication.&lt;/p&gt;

&lt;p&gt;👤 User Management – Unique user sessions, online/offline indicators, and contact lists.&lt;/p&gt;

&lt;p&gt;🎨 Modern UI – Built with React + TailwindCSS, focusing on a clean, minimal, and responsive interface.&lt;/p&gt;

&lt;p&gt;⚙️ Scalable Backend – Node.js and Express.js working seamlessly with MongoDB to ensure flexibility and performance.&lt;/p&gt;

&lt;p&gt;🛠️ Tech Stack&lt;/p&gt;

&lt;p&gt;Frontend: React + TailwindCSS&lt;/p&gt;

&lt;p&gt;Backend: Node.js + Express.js&lt;/p&gt;

&lt;p&gt;Database: MongoDB (Mongoose ODM)&lt;/p&gt;

&lt;p&gt;Real-Time: Socket.io&lt;/p&gt;

&lt;p&gt;Deployment: Vercel (Frontend) + Render (Backend)&lt;br&gt;
Link: &lt;a href="//chatwatapp.vercel.app"&gt;ChatWat&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🌍 The Vision&lt;/p&gt;

&lt;p&gt;ChatWat began as a challenge to merge simplicity and power — to create a fully functional chat experience that’s beautiful, lightweight, and developer-friendly. The goal was to design something every dev could learn from or build upon, whether to add AI chatbots, group systems, or notification features later on.&lt;/p&gt;

&lt;p&gt;💡 The Name&lt;/p&gt;

&lt;p&gt;ChatWat — because every dev starts with curiosity:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“What if I could build a chat app from scratch?”&lt;br&gt;
And ChatWat is that “what” turned into reality.&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>javascript</category>
      <category>mongodb</category>
      <category>webdev</category>
      <category>ai</category>
    </item>
    <item>
      <title>NeuroVisionX - AI Powered Face &amp; Hand Detection WebApp</title>
      <dc:creator>Saad Bin Khalid</dc:creator>
      <pubDate>Tue, 07 Oct 2025 13:22:33 +0000</pubDate>
      <link>https://dev.to/saadbinkhalid/neurovisionx-ai-powered-face-hand-detection-webapp-53nb</link>
      <guid>https://dev.to/saadbinkhalid/neurovisionx-ai-powered-face-hand-detection-webapp-53nb</guid>
      <description>&lt;p&gt;I recently built &lt;strong&gt;NeuroVisionX&lt;/strong&gt;, a web application that brings AI-powered face and hand detection directly into your browser. Using ReactJS for the frontend and TailwindCSS for smooth, responsive design, the project focuses on delivering real-time computer vision without any server dependency. Everything happens right on your device — private, fast, and futuristic. &lt;/p&gt;

&lt;p&gt;You can explore the project here: Live Demo: &lt;a href="https://neurovisionx.vercel.app" rel="noopener noreferrer"&gt;https://neurovisionx.vercel.app&lt;/a&gt; | GitHub Repo: &lt;a href="https://github.com/Saadbkhalid666/NeuroVisionX" rel="noopener noreferrer"&gt;https://github.com/Saadbkhalid666/NeuroVisionX&lt;/a&gt; . I’m incredibly proud of this one — it’s more than code; it’s a glimpse of how AI and web technologies can merge into a truly interactive digital experience. 💻✨&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>ai</category>
      <category>javascript</category>
    </item>
    <item>
      <title>How can I stop a fixed Three.js model from scrolling into the next section in Angular (using GSAP + ScrollTrigger)?</title>
      <dc:creator>Saad Bin Khalid</dc:creator>
      <pubDate>Mon, 06 Oct 2025 07:44:13 +0000</pubDate>
      <link>https://dev.to/saadbinkhalid/how-can-i-stop-a-fixed-threejs-model-from-scrolling-into-the-next-section-in-angular-using-gsap--4g05</link>
      <guid>https://dev.to/saadbinkhalid/how-can-i-stop-a-fixed-threejs-model-from-scrolling-into-the-next-section-in-angular-using-gsap--4g05</guid>
      <description>&lt;p&gt;Hey everyone 👋&lt;/p&gt;

&lt;p&gt;I'm working on an Angular landing page where I'm rendering a Three.js car model using a &lt;code&gt;&amp;lt;canvas&amp;gt;&lt;/code&gt; inside a fixed wrapper. The model is animated with GSAP + ScrollTrigger so that it moves between the &lt;strong&gt;Hero&lt;/strong&gt; and &lt;strong&gt;About&lt;/strong&gt; sections.&lt;/p&gt;

&lt;p&gt;Everything works as expected there... EXCEPT when I scroll further down to the &lt;strong&gt;Services&lt;/strong&gt; section. Because the model is &lt;code&gt;position: fixed&lt;/code&gt;, it continues to appear over that section — which I don’t want.&lt;/p&gt;




&lt;h2&gt;
  
  
  What I Need
&lt;/h2&gt;

&lt;p&gt;I want the 3D model to:&lt;/p&gt;

&lt;p&gt;Only appear between the &lt;strong&gt;Hero&lt;/strong&gt; and &lt;strong&gt;About&lt;/strong&gt; sections&lt;br&gt;&lt;br&gt;
 Stop/freeze when the About section ends&lt;br&gt;&lt;br&gt;
 NOT scroll into the Services section&lt;br&gt;&lt;br&gt;
 Not disappear — just stop moving after About&lt;/p&gt;




&lt;p&gt;HTML Structure&lt;/p&gt;

&lt;p&gt;car-model.html&lt;br&gt;
html&lt;/p&gt;

&lt;p&gt;home.html:&lt;/p&gt;



&lt;p&gt;car-model.css:&lt;br&gt;
.model-wrapper {&lt;br&gt;
  position: fixed;&lt;br&gt;
  top: 0;&lt;br&gt;
  left: 0;&lt;br&gt;
  width: 100%;&lt;br&gt;
  height: 100vh;&lt;br&gt;
  pointer-events: none;&lt;br&gt;
  z-index: 10;&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;.model-wrapper.stopped {&lt;br&gt;
  position: absolute;&lt;br&gt;
  top: auto;&lt;br&gt;
  bottom: 0;&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;car-model.ts (Relevant ScrollTrigger Code):&lt;br&gt;
gsap.registerPlugin(ScrollTrigger);&lt;/p&gt;

&lt;p&gt;gsap.set('#car', {&lt;br&gt;
  x: 500,&lt;br&gt;
});&lt;/p&gt;

&lt;p&gt;gsap.to('#car', {&lt;br&gt;
  x: () =&amp;gt; {&lt;br&gt;
    const para = document.querySelector('#aboutContent') as HTMLElement;&lt;br&gt;
    if (para) {&lt;br&gt;
      const rect = para.getBoundingClientRect();&lt;br&gt;
      const screenCenter = window.innerWidth / 2;&lt;br&gt;
      return rect.left - screenCenter - 500;&lt;br&gt;
    }&lt;br&gt;
    return -100;&lt;br&gt;
  },&lt;br&gt;
  scrollTrigger: {&lt;br&gt;
    trigger: '#about',&lt;br&gt;
    start: 'top center',&lt;br&gt;
    end: 'top top',&lt;br&gt;
    scrub: true,&lt;br&gt;
  },&lt;br&gt;
});&lt;/p&gt;

&lt;p&gt;ScrollTrigger.create({&lt;br&gt;
  trigger: '#about',&lt;br&gt;
  start: 'bottom top',&lt;br&gt;
  onEnter: () =&amp;gt; document.getElementById('car')?.classList.add('stopped'),&lt;br&gt;
  onLeaveBack: () =&amp;gt; document.getElementById('car')?.classList.remove('stopped'),&lt;br&gt;
});&lt;/p&gt;

</description>
      <category>help</category>
      <category>angular</category>
      <category>css</category>
      <category>javascript</category>
    </item>
  </channel>
</rss>
