<?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: Dulan Nithila Liyanarachchi</title>
    <description>The latest articles on DEV Community by Dulan Nithila Liyanarachchi (@dulannithilaliyanarachchi).</description>
    <link>https://dev.to/dulannithilaliyanarachchi</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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4101167%2F7c35c816-f60e-4813-9e81-e5d2bf0eafe1.png</url>
      <title>DEV Community: Dulan Nithila Liyanarachchi</title>
      <link>https://dev.to/dulannithilaliyanarachchi</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/dulannithilaliyanarachchi"/>
    <language>en</language>
    <item>
      <title>Building a Real-Time Dashboard with FastAPI, WebSockets, and MySQL</title>
      <dc:creator>Dulan Nithila Liyanarachchi</dc:creator>
      <pubDate>Tue, 01 Sep 2026 12:17:13 +0000</pubDate>
      <link>https://dev.to/dulannithilaliyanarachchi/building-a-real-time-dashboard-with-fastapi-websockets-and-mysql-1494</link>
      <guid>https://dev.to/dulannithilaliyanarachchi/building-a-real-time-dashboard-with-fastapi-websockets-and-mysql-1494</guid>
      <description>&lt;p&gt;I recently worked on a lightweight real-time dashboard built with &lt;strong&gt;FastAPI&lt;/strong&gt;, &lt;strong&gt;WebSockets&lt;/strong&gt;, and &lt;strong&gt;aiomysql&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The main goal was simple: retrieve live data from a MySQL database and push updates to the frontend in real time without relying on continuous polling.&lt;/p&gt;

&lt;p&gt;This project provided a practical opportunity to explore asynchronous programming, WebSocket communication, and database integration using Python.&lt;/p&gt;

&lt;h2&gt;
  
  
  Project Overview
&lt;/h2&gt;

&lt;p&gt;The application uses a &lt;strong&gt;FastAPI backend&lt;/strong&gt; to communicate with a MySQL database and a &lt;strong&gt;WebSocket endpoint&lt;/strong&gt; to deliver database updates to connected clients.&lt;/p&gt;

&lt;p&gt;The overall architecture can be summarized as:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;MySQL Database
      │
      ▼
   aiomysql
      │
      ▼
FastAPI Backend
      │
      ▼
  WebSocket
      │
      ▼
Frontend Dashboard
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The WebSocket connection allows the server to push new data directly to the client, making the dashboard capable of displaying updates in real time.&lt;/p&gt;

&lt;h2&gt;
  
  
  What This Project Demonstrates
&lt;/h2&gt;

&lt;p&gt;The project covers several important backend development concepts:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Setting up Python and the required dependencies&lt;/li&gt;
&lt;li&gt;Building an asynchronous FastAPI backend&lt;/li&gt;
&lt;li&gt;Connecting to MySQL using &lt;code&gt;aiomysql&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Implementing a WebSocket endpoint&lt;/li&gt;
&lt;li&gt;Retrieving database records asynchronously&lt;/li&gt;
&lt;li&gt;Sending live data to connected clients&lt;/li&gt;
&lt;li&gt;Running the application with Uvicorn&lt;/li&gt;
&lt;li&gt;Structuring a simple real-time backend application&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Why Use WebSockets?
&lt;/h2&gt;

&lt;p&gt;Traditional REST APIs generally follow a request/response model.&lt;/p&gt;

&lt;p&gt;For example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Client → Request → Server
Client ← Response ← Server
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If the frontend needs updated information continuously, it may have to repeatedly send requests to the server.&lt;/p&gt;

&lt;p&gt;This is commonly known as &lt;strong&gt;polling&lt;/strong&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Client → Request
Server → Response

Client → Request
Server → Response

Client → Request
Server → Response
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;With WebSockets, the client establishes a persistent connection with the server:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Client ⇄ WebSocket Connection ⇄ Server
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The server can then push new information to the client whenever it becomes available.&lt;/p&gt;

&lt;p&gt;This makes WebSockets particularly useful for applications where data needs to be delivered quickly and continuously.&lt;/p&gt;

&lt;h2&gt;
  
  
  Potential Use Cases
&lt;/h2&gt;

&lt;p&gt;This architecture can be useful for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Real-time dashboards&lt;/li&gt;
&lt;li&gt;Monitoring systems&lt;/li&gt;
&lt;li&gt;Live administration panels&lt;/li&gt;
&lt;li&gt;Student management systems&lt;/li&gt;
&lt;li&gt;Record management applications&lt;/li&gt;
&lt;li&gt;System status monitoring&lt;/li&gt;
&lt;li&gt;Live data visualization&lt;/li&gt;
&lt;li&gt;Notification systems&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Documentation and Source Code
&lt;/h2&gt;

&lt;p&gt;I created a complete guide covering the setup and implementation process, including:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Python installation&lt;/li&gt;
&lt;li&gt;Required package installation&lt;/li&gt;
&lt;li&gt;Project configuration&lt;/li&gt;
&lt;li&gt;Server startup&lt;/li&gt;
&lt;li&gt;Complete &lt;code&gt;main.py&lt;/code&gt; implementation&lt;/li&gt;
&lt;li&gt;FastAPI and WebSocket configuration&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The GitHub repository also includes the documentation and source code for reference.&lt;/p&gt;

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

&lt;p&gt;&lt;a href="https://github.com/NithilaLD/fastapi-websocket-realtime-dashboard" rel="noopener noreferrer"&gt;FastAPI WebSocket Real-Time Dashboard - GitHub Repository&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The repository contains:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Complete Guide (PDF)&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Source Code (&lt;code&gt;main.py&lt;/code&gt;)&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Key Technologies
&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;Python&lt;/td&gt;
&lt;td&gt;Backend programming&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;FastAPI&lt;/td&gt;
&lt;td&gt;Asynchronous web framework&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;WebSockets&lt;/td&gt;
&lt;td&gt;Real-time client-server communication&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;aiomysql&lt;/td&gt;
&lt;td&gt;Asynchronous MySQL connectivity&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;MySQL&lt;/td&gt;
&lt;td&gt;Database&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Uvicorn&lt;/td&gt;
&lt;td&gt;ASGI server&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

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

&lt;p&gt;This project was a useful exercise in combining &lt;strong&gt;asynchronous programming, database connectivity, and real-time communication&lt;/strong&gt; into a practical backend application.&lt;/p&gt;

&lt;p&gt;FastAPI and WebSockets provide a straightforward foundation for building applications where data needs to move between the server and client with minimal delay.&lt;/p&gt;

&lt;p&gt;I look forward to extending this project with features such as authentication, multiple connected clients, automatic database change detection, improved error handling, and a more advanced frontend dashboard.&lt;/p&gt;

&lt;p&gt;If you are working with FastAPI or real-time applications, I'd be interested to hear about your projects and approaches.&lt;/p&gt;

&lt;h2&gt;
  
  
  Also Published On
&lt;/h2&gt;

&lt;p&gt;This article is also available on the following platforms:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;LinkedIn:&lt;/strong&gt; &lt;a href="https://www.linkedin.com/pulse/building-real-time-fastapi-dashboard-websockets-async-liyanarachchi-nvf7c/" rel="noopener noreferrer"&gt;Read on LinkedIn&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Medium:&lt;/strong&gt; &lt;a href="https://dulannithilaliyanarachchi.medium.com/building-a-real-time-fastapi-dashboard-with-websockets-and-async-mysql-344d86522a0e" rel="noopener noreferrer"&gt;Read on Medium&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AWS:&lt;/strong&gt; &lt;a href="https://builder.aws.com/content/3Ij3xiZllF1UvwYpk5OCYx52UfK/building-a-real-time-fastapi-dashboard-with-websockets-and-async-mysql" rel="noopener noreferrer"&gt;Read on AWS&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>backend</category>
      <category>database</category>
      <category>fastapi</category>
      <category>python</category>
    </item>
    <item>
      <title>AI - Powered Automatic Email Sending System for File Uploads</title>
      <dc:creator>Dulan Nithila Liyanarachchi</dc:creator>
      <pubDate>Tue, 01 Sep 2026 11:24:58 +0000</pubDate>
      <link>https://dev.to/dulannithilaliyanarachchi/ai-powered-automatic-email-sending-system-for-file-uploads-3ke5</link>
      <guid>https://dev.to/dulannithilaliyanarachchi/ai-powered-automatic-email-sending-system-for-file-uploads-3ke5</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;In many organizations and educational environments, users frequently upload documents and then need to manually prepare and send emails containing information about those files.&lt;/p&gt;

&lt;p&gt;This repetitive process can be time-consuming and inefficient.&lt;/p&gt;

&lt;p&gt;To address this, I developed an &lt;strong&gt;AI-powered automatic email sending system&lt;/strong&gt; that combines &lt;strong&gt;file uploads, document text extraction, AI-generated email content, and automated email delivery&lt;/strong&gt; into a single workflow.&lt;/p&gt;

&lt;p&gt;The project demonstrates how AI APIs can be integrated into a traditional PHP web application to automate document-based communication.&lt;/p&gt;

&lt;h2&gt;
  
  
  Project Overview
&lt;/h2&gt;

&lt;p&gt;The system provides a web-based interface where users can upload documents.&lt;/p&gt;

&lt;p&gt;Once a file is uploaded, the application:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Validates the uploaded file.&lt;/li&gt;
&lt;li&gt;Extracts text from the document.&lt;/li&gt;
&lt;li&gt;Sends the extracted content to an AI API.&lt;/li&gt;
&lt;li&gt;Generates professional email content using AI.&lt;/li&gt;
&lt;li&gt;Automatically sends the email using PHPMailer.&lt;/li&gt;
&lt;li&gt;Displays success or error notifications to the user.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This creates a streamlined workflow:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Document Upload
      ↓
File Validation
      ↓
Text Extraction
      ↓
AI Processing
      ↓
Email Generation
      ↓
Automated Email Sending
      ↓
User Notification
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



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

&lt;h3&gt;
  
  
  Smart File Upload Handling
&lt;/h3&gt;

&lt;p&gt;The application provides a simple and responsive interface for uploading documents.&lt;/p&gt;

&lt;p&gt;Before processing, uploaded files are validated to ensure that only supported and valid files are handled.&lt;/p&gt;

&lt;h3&gt;
  
  
  AI-Generated Email Content
&lt;/h3&gt;

&lt;p&gt;Instead of manually writing an email for every uploaded document, the system uses an AI API to analyze the extracted document content and generate a professional email message.&lt;/p&gt;

&lt;p&gt;This reduces repetitive work while maintaining consistent communication.&lt;/p&gt;

&lt;h3&gt;
  
  
  Automated Email Sending
&lt;/h3&gt;

&lt;p&gt;After generating the email content, the system automatically sends the email to the intended recipient using &lt;strong&gt;PHPMailer&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;This removes the need for users to manually copy the generated content and send the email themselves.&lt;/p&gt;

&lt;h3&gt;
  
  
  Multi-Format Document Processing
&lt;/h3&gt;

&lt;p&gt;The system supports text extraction from multiple document formats, including:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;PDF documents&lt;/li&gt;
&lt;li&gt;Microsoft Word documents&lt;/li&gt;
&lt;li&gt;Presentation files&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The extracted text is then passed to the AI processing stage.&lt;/p&gt;

&lt;h3&gt;
  
  
  User-Friendly Notifications
&lt;/h3&gt;

&lt;p&gt;Toast notifications and session-based alerts provide feedback to users throughout the workflow.&lt;/p&gt;

&lt;p&gt;Users can easily identify whether an upload or email operation was successful or encountered an error.&lt;/p&gt;

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

&lt;h3&gt;
  
  
  Backend
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;PHP&lt;/li&gt;
&lt;li&gt;PHPMailer&lt;/li&gt;
&lt;li&gt;AI API Integration&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Document Processing
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Smalot PDF Parser&lt;/li&gt;
&lt;li&gt;PHPWord&lt;/li&gt;
&lt;li&gt;PHP Presentation Reader&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Frontend
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;HTML&lt;/li&gt;
&lt;li&gt;CSS&lt;/li&gt;
&lt;li&gt;JavaScript&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  System Workflow
&lt;/h2&gt;

&lt;p&gt;The overall process can be represented as follows:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;User
 │
 ▼
Upload Document
 │
 ▼
File Validation
 │
 ▼
Document Text Extraction
 │
 ▼
AI API Processing
 │
 ▼
Generate Email Content
 │
 ▼
PHPMailer
 │
 ▼
Send Email
 │
 ▼
Success / Error Notification
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The main objective is to automate the communication process without requiring the user to manually read the uploaded document, write an email, and send it.&lt;/p&gt;

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

&lt;p&gt;Manual email preparation can become a bottleneck when organizations regularly process documents.&lt;/p&gt;

&lt;p&gt;For example, consider an educational platform where lecturers upload course materials or reports and need to notify students or administrators whenever a document is uploaded.&lt;/p&gt;

&lt;p&gt;Instead of:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Upload → Read Document → Write Email → Send Email
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;the process can be automated as:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Upload → AI Processing → Email Sent
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This can help to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Improve productivity&lt;/li&gt;
&lt;li&gt;Reduce repetitive manual tasks&lt;/li&gt;
&lt;li&gt;Improve communication consistency&lt;/li&gt;
&lt;li&gt;Integrate AI into existing applications&lt;/li&gt;
&lt;li&gt;Automate document-based workflows&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;Building the system involved several technical challenges.&lt;/p&gt;

&lt;h3&gt;
  
  
  Handling Different File Formats
&lt;/h3&gt;

&lt;p&gt;Different document formats require different approaches for extracting their content.&lt;/p&gt;

&lt;p&gt;Separate document-processing libraries were integrated to handle PDFs, Word documents, and presentation files.&lt;/p&gt;

&lt;h3&gt;
  
  
  Extracting Usable Text
&lt;/h3&gt;

&lt;p&gt;Extracted document content is not always perfectly structured.&lt;/p&gt;

&lt;p&gt;The system therefore needs to process the extracted content before sending it to the AI API.&lt;/p&gt;

&lt;h3&gt;
  
  
  AI Integration
&lt;/h3&gt;

&lt;p&gt;Integrating AI-generated content into an automated backend workflow required handling API requests, responses, errors, and generated content appropriately.&lt;/p&gt;

&lt;h3&gt;
  
  
  Automated Email Delivery
&lt;/h3&gt;

&lt;p&gt;Email delivery introduced additional considerations such as SMTP configuration, error handling, and secure handling of email credentials.&lt;/p&gt;

&lt;h3&gt;
  
  
  User Experience
&lt;/h3&gt;

&lt;p&gt;Since multiple operations take place during the workflow, providing clear feedback to the user was important.&lt;/p&gt;

&lt;p&gt;Toast notifications and session-based messages were implemented to make the process easier to understand.&lt;/p&gt;

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

&lt;p&gt;There are several features planned for future versions:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Support for additional file formats&lt;/li&gt;
&lt;li&gt;AI-generated email subject suggestions&lt;/li&gt;
&lt;li&gt;Email scheduling&lt;/li&gt;
&lt;li&gt;Recipient management dashboard&lt;/li&gt;
&lt;li&gt;Upload history tracking&lt;/li&gt;
&lt;li&gt;Enhanced security and validation&lt;/li&gt;
&lt;li&gt;Multi-user authentication&lt;/li&gt;
&lt;li&gt;Processing and email delivery logs&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These improvements could make the system more suitable for larger organizational environments.&lt;/p&gt;

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

&lt;p&gt;The complete source code is available on GitHub:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/NithilaLD/AI_Powered_Automatic_Email_Sending_System_For_File_Uploads" rel="noopener noreferrer"&gt;GitHub Repository - AI-Powered Automatic Email Sending System&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Feel free to explore the project, provide feedback, or contribute improvements.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;This project was a practical exploration of how &lt;strong&gt;AI can be integrated into existing web applications to automate repetitive workflows&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;By combining:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;File Uploads + Document Processing + AI + Email Automation
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;the system provides a practical approach to automating document-based communication.&lt;/p&gt;

&lt;p&gt;The project also provided hands-on experience with &lt;strong&gt;PHP backend development, document parsing, API integration, automated email delivery, and workflow automation&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;I look forward to further improving the project and exploring more ways to integrate AI into practical software solutions.&lt;/p&gt;

&lt;h2&gt;
  
  
  Also Published On
&lt;/h2&gt;

&lt;p&gt;This article is also available on the following platforms:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;LinkedIn:&lt;/strong&gt; &lt;a href="https://www.linkedin.com/pulse/ai-powered-automatic-email-sending-system-file-liyanarachchi-bcyxc" rel="noopener noreferrer"&gt;Read on LinkedIn&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Medium:&lt;/strong&gt; &lt;a href="https://dulannithilaliyanarachchi.medium.com/ai-powered-automatic-email-sending-system-for-file-uploads-d22c8f563d4b" rel="noopener noreferrer"&gt;Read on Medium&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AWS:&lt;/strong&gt; &lt;a href="https://builder.aws.com/content/3Id2VyzNFQQxwgS93ZkdJTnM5iJ/ai-powered-automatic-email-sending-system-for-file-uploads" rel="noopener noreferrer"&gt;Read on AWS&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>ai</category>
      <category>api</category>
      <category>backenddevelopment</category>
      <category>documentprocessing</category>
    </item>
  </channel>
</rss>
