<?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: Summiya ali</title>
    <description>The latest articles on DEV Community by Summiya ali (@summiya_ali).</description>
    <link>https://dev.to/summiya_ali</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%2F2438449%2Fa5c9f652-aa32-4bc6-8840-572d4465f537.jpeg</url>
      <title>DEV Community: Summiya ali</title>
      <link>https://dev.to/summiya_ali</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/summiya_ali"/>
    <language>en</language>
    <item>
      <title>Building a Scalable RAG Pipeline on Google Cloud Using Vertex AI and Cloud Run</title>
      <dc:creator>Summiya ali</dc:creator>
      <pubDate>Mon, 16 Mar 2026 07:13:26 +0000</pubDate>
      <link>https://dev.to/summiya_ali/building-a-scalable-rag-pipeline-on-google-cloud-using-vertex-ai-and-cloud-run-3cf1</link>
      <guid>https://dev.to/summiya_ali/building-a-scalable-rag-pipeline-on-google-cloud-using-vertex-ai-and-cloud-run-3cf1</guid>
      <description>&lt;h2&gt;
  
  
  1. Introduction
&lt;/h2&gt;

&lt;p&gt;Organizations today generate massive volumes of unstructured information such as documentation, knowledge base articles, technical manuals, compliance guidelines, and internal procedures. While cloud storage platforms provide efficient ways to store this information, retrieving relevant insights from large document collections remains a major challenge.&lt;/p&gt;

&lt;p&gt;Traditional search systems rely primarily on keyword matching. This approach works well when users know the exact words contained in a document, but it becomes ineffective when queries are phrased differently from the original content. As document repositories grow, the limitations of keyword-based search become more pronounced.&lt;/p&gt;

&lt;p&gt;Retrieval Augmented Generation (RAG) addresses this problem by combining semantic document retrieval with generative AI models. Instead of generating answers solely from model training data, the system retrieves relevant documents and uses them as contextual input during response generation.&lt;/p&gt;

&lt;p&gt;Google Cloud provides several services that enable developers to build scalable RAG pipelines. Services such as Vertex AI, Cloud Run, Cloud Storage, and vector search infrastructure allow organizations to construct intelligent knowledge systems capable of answering complex questions based on internal data sources.&lt;/p&gt;

&lt;p&gt;This article explains how to design and implement a scalable RAG architecture on Google Cloud using these services.&lt;/p&gt;




&lt;h2&gt;
  
  
  2. Understanding Retrieval Augmented Generation
&lt;/h2&gt;

&lt;h3&gt;
  
  
  2.1 The Limitations of Traditional Language Models
&lt;/h3&gt;

&lt;p&gt;Large language models are trained on vast datasets and are capable of generating coherent natural language responses. However, these models do not inherently have access to proprietary enterprise knowledge or newly created documentation.&lt;/p&gt;

&lt;p&gt;When users ask questions related to internal company information, the model may produce incomplete or inaccurate answers because the required knowledge was never included in its training data.&lt;/p&gt;

&lt;h3&gt;
  
  
  2.2 The RAG Solution
&lt;/h3&gt;

&lt;p&gt;Retrieval Augmented Generation modifies the standard language model workflow by introducing a retrieval stage before response generation.&lt;/p&gt;

&lt;p&gt;Instead of sending the user query directly to the model, the system performs the following sequence:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Convert the user query into a vector embedding.&lt;/li&gt;
&lt;li&gt;Search a vector database containing document embeddings.&lt;/li&gt;
&lt;li&gt;Retrieve the most relevant document segments.&lt;/li&gt;
&lt;li&gt;Provide these segments as context to the language model.&lt;/li&gt;
&lt;li&gt;Generate a response grounded in the retrieved knowledge.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This process ensures that the model’s response is informed by real organizational documents rather than purely statistical predictions.&lt;/p&gt;

&lt;h3&gt;
  
  
  2.3 Typical RAG Workflow
&lt;/h3&gt;

&lt;p&gt;A simplified workflow of a RAG system can be represented as follows:&lt;/p&gt;

&lt;p&gt;User Query&lt;br&gt;
↓&lt;br&gt;
Embedding Generation&lt;br&gt;
↓&lt;br&gt;
Vector Similarity Search&lt;br&gt;
↓&lt;br&gt;
Relevant Documents Retrieved&lt;br&gt;
↓&lt;br&gt;
LLM Response Generation&lt;/p&gt;

&lt;p&gt;By grounding responses in actual documents, RAG systems significantly reduce hallucinations and improve answer accuracy.&lt;/p&gt;




&lt;h2&gt;
  
  
  3. High-Level System Architecture
&lt;/h2&gt;

&lt;h3&gt;
  
  
  3.1 Core Components
&lt;/h3&gt;

&lt;p&gt;A scalable RAG architecture on Google Cloud typically includes the following components.&lt;/p&gt;

&lt;p&gt;Cloud Storage serves as the primary repository for enterprise documents.&lt;/p&gt;

&lt;p&gt;A document processing pipeline extracts text from stored files and prepares it for indexing.&lt;/p&gt;

&lt;p&gt;Vertex AI generates embeddings for document segments and user queries.&lt;/p&gt;

&lt;p&gt;A vector database stores embeddings and enables semantic search.&lt;/p&gt;

&lt;p&gt;Cloud Run hosts an API service responsible for query processing.&lt;/p&gt;

&lt;p&gt;Vertex AI language models generate context-aware responses.&lt;/p&gt;

&lt;h3&gt;
  
  
  3.2 Query Processing Flow
&lt;/h3&gt;

&lt;p&gt;The interaction between these components follows a structured pipeline.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;A user submits a question through a web interface or chatbot.&lt;/li&gt;
&lt;li&gt;The query is sent to an API service deployed on Cloud Run.&lt;/li&gt;
&lt;li&gt;The API generates an embedding for the query using Vertex AI.&lt;/li&gt;
&lt;li&gt;The system searches the vector database for similar embeddings.&lt;/li&gt;
&lt;li&gt;Relevant document segments are retrieved.&lt;/li&gt;
&lt;li&gt;The retrieved context is passed to a language model.&lt;/li&gt;
&lt;li&gt;The model generates a final response that is returned to the user.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This architecture allows the system to scale automatically as query volume increases.&lt;/p&gt;




&lt;h2&gt;
  
  
  4. Preparing Enterprise Documents for Retrieval
&lt;/h2&gt;

&lt;h3&gt;
  
  
  4.1 Document Ingestion
&lt;/h3&gt;

&lt;p&gt;Enterprise documents are typically stored in a centralized Cloud Storage bucket. Files may include PDFs, Word documents, technical manuals, policy documents, and training materials.&lt;/p&gt;

&lt;p&gt;An ingestion pipeline continuously monitors the storage bucket for newly uploaded documents.&lt;/p&gt;

&lt;h3&gt;
  
  
  4.2 Text Extraction
&lt;/h3&gt;

&lt;p&gt;After ingestion, the system extracts textual content from each document. Different extraction techniques are applied depending on file type.&lt;/p&gt;

&lt;p&gt;PDF parsing tools extract text from structured documents. Optical Character Recognition may be used for scanned images or handwritten materials.&lt;/p&gt;

&lt;h3&gt;
  
  
  4.3 Document Chunking
&lt;/h3&gt;

&lt;p&gt;Large documents must be divided into smaller sections to improve retrieval accuracy.&lt;/p&gt;

&lt;p&gt;Chunking strategies typically split documents into segments containing 300–800 tokens. Overlapping chunks are sometimes used to preserve contextual continuity between segments.&lt;/p&gt;

&lt;h3&gt;
  
  
  4.4 Metadata Enrichment
&lt;/h3&gt;

&lt;p&gt;Each document chunk is enriched with metadata such as document title, author, department, and creation date.&lt;/p&gt;

&lt;p&gt;Metadata fields enable more refined filtering during search queries and improve knowledge organization.&lt;/p&gt;




&lt;h2&gt;
  
  
  5. Generating Semantic Embeddings with Vertex AI
&lt;/h2&gt;

&lt;h3&gt;
  
  
  5.1 Embedding Models
&lt;/h3&gt;

&lt;p&gt;Vertex AI provides embedding models capable of transforming natural language text into high-dimensional numerical vectors.&lt;/p&gt;

&lt;p&gt;These vectors represent semantic meaning rather than simple word frequency.&lt;/p&gt;

&lt;h3&gt;
  
  
  5.2 Document Embedding Generation
&lt;/h3&gt;

&lt;p&gt;During indexing, each document chunk is processed through the embedding model to produce a vector representation.&lt;/p&gt;

&lt;p&gt;These vectors are stored in the vector database along with their corresponding text segments.&lt;/p&gt;

&lt;h3&gt;
  
  
  5.3 Query Embedding Generation
&lt;/h3&gt;

&lt;p&gt;When a user submits a query, the same embedding model converts the query into a vector representation.&lt;/p&gt;

&lt;p&gt;This vector is then compared against stored embeddings to identify semantically similar documents.&lt;/p&gt;




&lt;h2&gt;
  
  
  6. Implementing Vector Search
&lt;/h2&gt;

&lt;h3&gt;
  
  
  6.1 Vector Databases
&lt;/h3&gt;

&lt;p&gt;Vector databases are optimized for performing similarity searches across large collections of embeddings.&lt;/p&gt;

&lt;p&gt;Common options available for Google Cloud architectures include:&lt;/p&gt;

&lt;p&gt;Vertex AI Vector Search&lt;br&gt;
Pinecone&lt;br&gt;
Weaviate&lt;br&gt;
Elasticsearch with vector search extensions&lt;/p&gt;

&lt;h3&gt;
  
  
  6.2 Similarity Search
&lt;/h3&gt;

&lt;p&gt;Similarity search algorithms measure the distance between vectors within a high-dimensional space.&lt;/p&gt;

&lt;p&gt;The most common methods include cosine similarity and Euclidean distance.&lt;/p&gt;

&lt;p&gt;The system retrieves the top-ranked document segments whose embeddings most closely match the query embedding.&lt;/p&gt;

&lt;h3&gt;
  
  
  6.3 Retrieval Optimization
&lt;/h3&gt;

&lt;p&gt;Retrieval accuracy can be improved by:&lt;/p&gt;

&lt;p&gt;adjusting chunk size&lt;br&gt;
using hybrid keyword + semantic search&lt;br&gt;
applying metadata filtering&lt;br&gt;
ranking results based on relevance scores&lt;/p&gt;




&lt;h2&gt;
  
  
  7. Deploying the Query Service with Cloud Run
&lt;/h2&gt;

&lt;h3&gt;
  
  
  7.1 API Service Architecture
&lt;/h3&gt;

&lt;p&gt;The backend query service orchestrates the entire RAG workflow.&lt;/p&gt;

&lt;p&gt;Its responsibilities include:&lt;/p&gt;

&lt;p&gt;receiving user queries&lt;br&gt;
generating embeddings&lt;br&gt;
performing vector search&lt;br&gt;
constructing prompts&lt;br&gt;
calling the language model&lt;br&gt;
returning responses to the user&lt;/p&gt;

&lt;h3&gt;
  
  
  7.2 Containerized Deployment
&lt;/h3&gt;

&lt;p&gt;Cloud Run enables developers to deploy containerized services that automatically scale based on traffic.&lt;/p&gt;

&lt;p&gt;The service can be packaged within a Docker container containing:&lt;/p&gt;

&lt;p&gt;a Python or Node.js application&lt;br&gt;
vector database client libraries&lt;br&gt;
Vertex AI SDK integration&lt;/p&gt;

&lt;h3&gt;
  
  
  7.3 Automatic Scaling
&lt;/h3&gt;

&lt;p&gt;Cloud Run automatically provisions additional instances when request volume increases. This ensures that the system can handle large numbers of concurrent queries without manual infrastructure management.&lt;/p&gt;




&lt;h2&gt;
  
  
  8. Prompt Engineering for Contextual Responses
&lt;/h2&gt;

&lt;h3&gt;
  
  
  8.1 Context Construction
&lt;/h3&gt;

&lt;p&gt;The retrieved document segments must be combined into a structured prompt before being sent to the language model.&lt;/p&gt;

&lt;p&gt;The prompt typically includes:&lt;/p&gt;

&lt;p&gt;retrieved context&lt;br&gt;
user question&lt;br&gt;
instructions for the model&lt;/p&gt;

&lt;h3&gt;
  
  
  8.2 Grounded Response Generation
&lt;/h3&gt;

&lt;p&gt;A common prompt instruction is:&lt;/p&gt;

&lt;p&gt;“Answer the question using only the provided context.”&lt;/p&gt;

&lt;p&gt;This instruction helps prevent the model from generating unsupported claims.&lt;/p&gt;




&lt;h2&gt;
  
  
  9. Security and Governance
&lt;/h2&gt;

&lt;h3&gt;
  
  
  9.1 Identity and Access Management
&lt;/h3&gt;

&lt;p&gt;Google Cloud IAM allows administrators to define fine-grained permissions for accessing storage buckets, AI models, and API services.&lt;/p&gt;

&lt;p&gt;Only authorized services should be allowed to retrieve sensitive enterprise documents.&lt;/p&gt;

&lt;h3&gt;
  
  
  9.2 Data Protection
&lt;/h3&gt;

&lt;p&gt;Enterprise knowledge bases may contain confidential information. Security measures include encrypted storage, secure API communication, and controlled service access.&lt;/p&gt;

&lt;h3&gt;
  
  
  9.3 Audit Logging
&lt;/h3&gt;

&lt;p&gt;Cloud Logging can track system interactions such as document retrieval, query activity, and model responses.&lt;/p&gt;

&lt;p&gt;Logs are essential for debugging, compliance monitoring, and incident investigation.&lt;/p&gt;




&lt;h2&gt;
  
  
  10. Monitoring and Observability
&lt;/h2&gt;

&lt;p&gt;Production AI systems require continuous monitoring to maintain reliability.&lt;/p&gt;

&lt;p&gt;Cloud Monitoring provides visibility into system performance metrics such as request latency, error rates, and query volume.&lt;/p&gt;

&lt;p&gt;Developers can configure alerts that trigger notifications when system performance deviates from expected thresholds.&lt;/p&gt;

&lt;p&gt;Monitoring also helps identify opportunities to optimize document retrieval and model response quality.&lt;/p&gt;




&lt;h2&gt;
  
  
  11. Enterprise Use Case: AI Knowledge Assistant
&lt;/h2&gt;

&lt;p&gt;Consider a large enterprise with thousands of internal documents covering policies, procedures, and engineering guidelines.&lt;/p&gt;

&lt;p&gt;Employees often struggle to locate specific information quickly, leading to increased support requests and reduced productivity.&lt;/p&gt;

&lt;p&gt;A RAG-based AI assistant built on Google Cloud can address this problem.&lt;/p&gt;

&lt;p&gt;Employees submit questions through a chatbot interface integrated into the company intranet.&lt;/p&gt;

&lt;p&gt;The system retrieves relevant documentation, summarizes the information, and provides direct links to the original documents.&lt;/p&gt;

&lt;p&gt;Such systems significantly reduce manual document searches and improve organizational knowledge accessibility.&lt;/p&gt;




&lt;h2&gt;
  
  
  12. Conclusion
&lt;/h2&gt;

&lt;p&gt;Retrieval Augmented Generation has become a foundational architecture for building reliable AI-powered knowledge systems. By combining semantic document retrieval with large language models, organizations can create intelligent assistants capable of answering complex questions based on internal documentation.&lt;/p&gt;

&lt;p&gt;Google Cloud provides a powerful platform for implementing these systems using services such as Cloud Storage, Vertex AI, vector search infrastructure, and Cloud Run.&lt;/p&gt;

&lt;p&gt;As enterprise data continues to expand, RAG pipelines will play an increasingly important role in transforming static document repositories into dynamic, AI-driven knowledge platforms.&lt;/p&gt;

</description>
      <category>gcp</category>
      <category>genai</category>
      <category>cloudcomputing</category>
      <category>vertexai</category>
    </item>
    <item>
      <title>Building a Knowledge Base using SharePoint and AI Search</title>
      <dc:creator>Summiya ali</dc:creator>
      <pubDate>Mon, 16 Mar 2026 06:46:38 +0000</pubDate>
      <link>https://dev.to/summiya_ali/building-a-knowledge-base-using-sharepoint-and-ai-search-3ae6</link>
      <guid>https://dev.to/summiya_ali/building-a-knowledge-base-using-sharepoint-and-ai-search-3ae6</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;Organizations generate large volumes of documents every day, including policies, project documentation, technical manuals, and support guides. While Microsoft SharePoint is widely used as a document management platform, finding the right information quickly can still be difficult when content grows at scale.&lt;/p&gt;

&lt;p&gt;Traditional keyword-based search often fails when users do not know the exact terms used in documents. This is where &lt;strong&gt;AI-powered search&lt;/strong&gt; can significantly improve the experience.&lt;/p&gt;

&lt;p&gt;By combining &lt;strong&gt;SharePoint’s document storage capabilities with AI search technologies&lt;/strong&gt;, organizations can build intelligent knowledge bases that allow employees to retrieve accurate information through natural language queries.&lt;/p&gt;

&lt;p&gt;This article demonstrates how to design and build a knowledge base using &lt;strong&gt;SharePoint Online and AI-powered search services&lt;/strong&gt;, enabling faster knowledge discovery across enterprise content.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why Build a Knowledge Base with SharePoint
&lt;/h2&gt;

&lt;p&gt;SharePoint already acts as a centralized repository for enterprise documents. However, its default search capabilities may not always provide context-aware results.&lt;/p&gt;

&lt;p&gt;A knowledge base built on top of SharePoint can provide:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Centralized document storage&lt;/li&gt;
&lt;li&gt;Structured knowledge organization&lt;/li&gt;
&lt;li&gt;AI-powered semantic search&lt;/li&gt;
&lt;li&gt;Faster access to internal knowledge&lt;/li&gt;
&lt;li&gt;Improved employee productivity&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Organizations commonly use such systems for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;IT support documentation&lt;/li&gt;
&lt;li&gt;HR policies and guidelines&lt;/li&gt;
&lt;li&gt;onboarding resources&lt;/li&gt;
&lt;li&gt;technical documentation&lt;/li&gt;
&lt;li&gt;internal training materials&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  High-Level Architecture
&lt;/h2&gt;

&lt;p&gt;An AI-powered knowledge base typically consists of the following components:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;SharePoint Online&lt;/strong&gt;&lt;br&gt;
Stores enterprise documents such as PDFs, Word files, policies, and guides.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Document Indexing Pipeline&lt;/strong&gt;&lt;br&gt;
Extracts text content from documents stored in SharePoint.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AI Search Engine&lt;/strong&gt;&lt;br&gt;
Processes and indexes the extracted content to enable semantic search.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Application Interface&lt;/strong&gt;&lt;br&gt;
Allows users to query the knowledge base using natural language.&lt;/p&gt;

&lt;p&gt;A simplified architecture looks like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Users
   ↓
Web Portal / Chatbot
   ↓
AI Search Engine
   ↓
Indexed Content
   ↓
SharePoint Document Libraries
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The AI search layer allows users to ask questions such as:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“What is the company policy for remote work?”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Instead of searching manually through documents, the system retrieves the most relevant knowledge from SharePoint.&lt;/p&gt;




&lt;h2&gt;
  
  
  Setting Up SharePoint as a Knowledge Repository
&lt;/h2&gt;

&lt;p&gt;The first step is organizing enterprise documents inside SharePoint.&lt;/p&gt;

&lt;h3&gt;
  
  
  1 Create a Knowledge Base Site
&lt;/h3&gt;

&lt;p&gt;In SharePoint Admin Center:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Create a new &lt;strong&gt;Team Site or Communication Site&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Name it something like:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Company Knowledge Hub
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Configure appropriate access permissions.&lt;/li&gt;
&lt;/ol&gt;




&lt;h3&gt;
  
  
  2 Organize Document Libraries
&lt;/h3&gt;

&lt;p&gt;Create structured document libraries such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;HR Policies&lt;/li&gt;
&lt;li&gt;IT Support Guides&lt;/li&gt;
&lt;li&gt;Training Materials&lt;/li&gt;
&lt;li&gt;Technical Documentation&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Proper organization improves both &lt;strong&gt;search performance and knowledge management&lt;/strong&gt;.&lt;/p&gt;




&lt;h3&gt;
  
  
  3 Use Metadata for Better Search
&lt;/h3&gt;

&lt;p&gt;Metadata helps AI systems understand document context.&lt;/p&gt;

&lt;p&gt;Examples:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Metadata Field&lt;/th&gt;
&lt;th&gt;Example&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Category&lt;/td&gt;
&lt;td&gt;HR Policy&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Department&lt;/td&gt;
&lt;td&gt;Human Resources&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Document Type&lt;/td&gt;
&lt;td&gt;Guideline&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Last Updated&lt;/td&gt;
&lt;td&gt;2026&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;These fields help AI models deliver more accurate results.&lt;/p&gt;




&lt;h2&gt;
  
  
  Extracting Data from SharePoint
&lt;/h2&gt;

&lt;p&gt;To enable AI search, documents must be retrieved and processed from SharePoint.&lt;/p&gt;

&lt;p&gt;Developers typically use the &lt;strong&gt;Microsoft Graph API&lt;/strong&gt; to access SharePoint data programmatically.&lt;/p&gt;

&lt;p&gt;Example request to retrieve documents from SharePoint:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;requests&lt;/span&gt;

&lt;span class="n"&gt;endpoint&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;https://graph.microsoft.com/v1.0/sites/{site-id}/drive/root/children&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;

&lt;span class="n"&gt;headers&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Authorization&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Bearer ACCESS_TOKEN&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="n"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;requests&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;endpoint&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;headers&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;headers&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;documents&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;json&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;

&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;documents&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This API call retrieves files stored in a SharePoint document library.&lt;/p&gt;

&lt;p&gt;The extracted documents are then processed and indexed by the AI search engine.&lt;/p&gt;




&lt;h2&gt;
  
  
  Building the AI Search Layer
&lt;/h2&gt;

&lt;p&gt;AI search engines allow users to query information using natural language rather than exact keywords.&lt;/p&gt;

&lt;p&gt;Common technologies used include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Azure AI Search&lt;/li&gt;
&lt;li&gt;Elasticsearch with AI plugins&lt;/li&gt;
&lt;li&gt;vector databases&lt;/li&gt;
&lt;li&gt;LLM-powered retrieval systems&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The search engine typically performs three steps:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Document processing&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Embedding generation&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Semantic search retrieval&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;




&lt;h3&gt;
  
  
  Example: Creating Vector Embeddings
&lt;/h3&gt;

&lt;p&gt;AI search works by converting document text into numerical representations called &lt;strong&gt;embeddings&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Example using Python:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;sentence_transformers&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;SentenceTransformer&lt;/span&gt;

&lt;span class="n"&gt;model&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;SentenceTransformer&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;all-MiniLM-L6-v2&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;text&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Company employees are allowed to work remotely two days per week.&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;

&lt;span class="n"&gt;embedding&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;encode&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;text&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;embedding&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;These embeddings allow the system to measure &lt;strong&gt;semantic similarity between queries and documents&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  Implementing Semantic Search
&lt;/h2&gt;

&lt;p&gt;Once documents are indexed, the system can answer user queries intelligently.&lt;/p&gt;

&lt;p&gt;Example user query:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;"What is the leave policy for employees?"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The system processes the query as follows:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Convert the query into an embedding&lt;/li&gt;
&lt;li&gt;Compare it with stored document embeddings&lt;/li&gt;
&lt;li&gt;Retrieve the most relevant knowledge sections&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Example simplified search logic:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;query&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;What is the remote work policy?&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;

&lt;span class="n"&gt;query_embedding&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;encode&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;query&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="c1"&gt;# Compare with stored embeddings
&lt;/span&gt;&lt;span class="n"&gt;results&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;vector_database&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;search&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;query_embedding&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;results&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The system returns the most relevant document passages stored in SharePoint.&lt;/p&gt;




&lt;h2&gt;
  
  
  Building a User Interface for the Knowledge Base
&lt;/h2&gt;

&lt;p&gt;The knowledge base can be accessed through several interfaces:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Web applications&lt;/li&gt;
&lt;li&gt;internal portals&lt;/li&gt;
&lt;li&gt;chatbots&lt;/li&gt;
&lt;li&gt;Microsoft Teams bots&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For example, a chatbot interface can allow employees to ask questions like:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"How do I reset my corporate password?"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The AI system retrieves the answer from SharePoint documentation instantly.&lt;/p&gt;




&lt;h2&gt;
  
  
  Security and Access Control
&lt;/h2&gt;

&lt;p&gt;Enterprise knowledge systems must enforce strict security policies.&lt;/p&gt;

&lt;p&gt;Important considerations include:&lt;/p&gt;

&lt;h3&gt;
  
  
  SharePoint Permissions
&lt;/h3&gt;

&lt;p&gt;Use SharePoint’s built-in role system:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Site owners&lt;/li&gt;
&lt;li&gt;members&lt;/li&gt;
&lt;li&gt;visitors&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Ensure sensitive documents are only accessible to authorized users.&lt;/p&gt;




&lt;h3&gt;
  
  
  API Security
&lt;/h3&gt;

&lt;p&gt;When accessing SharePoint programmatically:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Use &lt;strong&gt;Azure AD authentication&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;implement &lt;strong&gt;OAuth tokens&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;enforce &lt;strong&gt;least privilege permissions&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  Data Encryption
&lt;/h3&gt;

&lt;p&gt;Protect enterprise knowledge with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;HTTPS communication&lt;/li&gt;
&lt;li&gt;encrypted document storage&lt;/li&gt;
&lt;li&gt;secure API access&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These controls ensure compliance with enterprise security policies.&lt;/p&gt;




&lt;h2&gt;
  
  
  Practical Use Case: Enterprise IT Knowledge Assistant
&lt;/h2&gt;

&lt;p&gt;Consider an internal IT support system built using this architecture.&lt;/p&gt;

&lt;p&gt;Employees can ask questions such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;"How do I connect to the company VPN?"&lt;/li&gt;
&lt;li&gt;"Where can I download company security policies?"&lt;/li&gt;
&lt;li&gt;"What is the process for requesting new software?"&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The system retrieves relevant instructions directly from SharePoint documentation and presents them to users.&lt;/p&gt;

&lt;p&gt;This reduces support tickets and improves employee productivity.&lt;/p&gt;




&lt;h2&gt;
  
  
  Benefits of AI-Powered Knowledge Bases
&lt;/h2&gt;

&lt;p&gt;Organizations adopting AI-powered knowledge bases gain several advantages:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;faster knowledge discovery&lt;/li&gt;
&lt;li&gt;reduced time spent searching for documents&lt;/li&gt;
&lt;li&gt;improved employee productivity&lt;/li&gt;
&lt;li&gt;scalable knowledge management&lt;/li&gt;
&lt;li&gt;intelligent enterprise search capabilities&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;As enterprise data continues to grow, intelligent knowledge systems become increasingly essential.&lt;/p&gt;




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

&lt;p&gt;SharePoint provides a strong foundation for enterprise document management, but integrating it with AI-powered search significantly enhances its capabilities.&lt;/p&gt;

&lt;p&gt;By combining &lt;strong&gt;SharePoint Online, AI search engines, and semantic retrieval techniques&lt;/strong&gt;, organizations can build powerful knowledge bases that allow employees to access information quickly and efficiently.&lt;/p&gt;

&lt;p&gt;As generative AI and enterprise search technologies evolve, AI-powered knowledge systems will become a core component of modern digital workplaces.&lt;/p&gt;

&lt;p&gt;Implementing such systems enables organizations to transform static document repositories into &lt;strong&gt;intelligent knowledge platforms&lt;/strong&gt; that support faster decision-making and better collaboration.&lt;/p&gt;

</description>
      <category>devops</category>
      <category>ai</category>
      <category>sharepoint</category>
      <category>microsoftgraph</category>
    </item>
    <item>
      <title>Understanding Gradient Descent for Beginners: The Core of Neural Network Learning</title>
      <dc:creator>Summiya ali</dc:creator>
      <pubDate>Wed, 11 Jun 2025 21:21:32 +0000</pubDate>
      <link>https://dev.to/summiya_ali/understanding-gradient-descent-for-beginners-the-core-of-neural-network-learning-1knj</link>
      <guid>https://dev.to/summiya_ali/understanding-gradient-descent-for-beginners-the-core-of-neural-network-learning-1knj</guid>
      <description>&lt;p&gt;&lt;strong&gt;Gradient Descent&lt;/strong&gt; is an optimization algorithm that helps neural networks learn by adjusting weights to reduce errors in predictions.&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;Table of Contents&lt;/strong&gt;
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;What is Gradient Descent?&lt;/li&gt;
&lt;li&gt;A Simple Analogy&lt;/li&gt;
&lt;li&gt;Why Is It Important in Neural Networks? (Cat vs. Dog Example)&lt;/li&gt;
&lt;li&gt;The Gradient Descent Formula Explained&lt;/li&gt;
&lt;li&gt;Why the Negative Sign? Why “Descent”?&lt;/li&gt;
&lt;li&gt;Types of Gradient Descent&lt;/li&gt;
&lt;li&gt;Drawbacks of Gradient Descent&lt;/li&gt;
&lt;li&gt;Conclusion: Smarter Alternatives Today&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  1. &lt;strong&gt;What is Gradient Descent?&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Gradient Descent is a method that helps neural networks &lt;strong&gt;reduce prediction errors&lt;/strong&gt; by &lt;strong&gt;changing the internal weights&lt;/strong&gt; (which are like settings) in the direction that minimizes the &lt;strong&gt;loss function&lt;/strong&gt; (a formula that tells how wrong the prediction was).&lt;/p&gt;




&lt;h2&gt;
  
  
  2. &lt;strong&gt;A Simple Analogy&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Imagine you're &lt;strong&gt;blindfolded and standing on a hill&lt;/strong&gt;, and your goal is to reach the &lt;strong&gt;lowest point&lt;/strong&gt; in the area (like finding the least error). Here's how the key terms relate:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Loss Function&lt;/strong&gt; → the shape of the hill (how high or low you are, based on error)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Gradient&lt;/strong&gt; → the steepness and direction of the hill at your feet&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Step size (learning rate)&lt;/strong&gt; → how big a step you take in each move&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Gradient Descent&lt;/strong&gt; → you slowly move in the direction &lt;strong&gt;down the hill&lt;/strong&gt; (to reduce error)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You feel the slope under your feet and always take small steps downhill. You don't want to go uphill (where the error increases), so you follow the opposite direction of the gradient.&lt;/p&gt;




&lt;h2&gt;
  
  
  3. &lt;strong&gt;Why Is It Important in Neural Networks?&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Imagine you're training a neural network to &lt;strong&gt;recognize cats vs. dogs&lt;/strong&gt; in images.&lt;/p&gt;

&lt;p&gt;At first, your model might think a cat is a dog. That’s an error.&lt;/p&gt;

&lt;p&gt;Gradient Descent helps the model &lt;strong&gt;learn from its mistakes&lt;/strong&gt; by:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Measuring how wrong the prediction was (loss)&lt;/li&gt;
&lt;li&gt;Calculating the direction to adjust weights (gradient)&lt;/li&gt;
&lt;li&gt;Updating the weights to improve future predictions&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Every image it sees (cat or dog), the model gets &lt;strong&gt;a bit better&lt;/strong&gt; by moving closer to the correct answer — &lt;strong&gt;step by step&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Without Gradient Descent (or a similar method), the network wouldn’t know how to improve itself.&lt;/p&gt;




&lt;h2&gt;
  
  
  4. &lt;strong&gt;The Gradient Descent Formula Explained&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;w=w−η⋅ dw/dL&lt;br&gt;
​&lt;br&gt;
Let’s break this down:&lt;/p&gt;

&lt;p&gt;w = weight (what the model is trying to adjust)&lt;/p&gt;

&lt;p&gt;η (eta) = learning rate (how big the update step is)&lt;/p&gt;

&lt;p&gt;dw/dL = the gradient (i.e., how much the loss changes when weight changes)&lt;/p&gt;

&lt;p&gt;The idea:&lt;br&gt;
The model checks &lt;strong&gt;how much the weight contributed to the error&lt;/strong&gt;, then adjusts it a little to &lt;strong&gt;make the error smaller&lt;/strong&gt; next time.&lt;/p&gt;




&lt;h2&gt;
  
  
  5. &lt;strong&gt;Why the Negative Sign? Why “Descent”?&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;The gradient ($\frac{dL}{dw}$) tells you &lt;strong&gt;how to increase&lt;/strong&gt; the loss.&lt;/p&gt;

&lt;p&gt;But we don’t want more error — we want &lt;strong&gt;less&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;So we move in the &lt;strong&gt;opposite direction&lt;/strong&gt; of the gradient — that’s why the formula has a &lt;strong&gt;minus sign&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;We’re always going &lt;strong&gt;downhill&lt;/strong&gt; on the loss curve — hence the name &lt;strong&gt;"Gradient Descent"&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  6. &lt;strong&gt;Types of Gradient Descent&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;There are three main versions, based on &lt;strong&gt;how much data&lt;/strong&gt; we use to update weights:&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;1. Batch Gradient Descent&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Uses &lt;strong&gt;the entire dataset&lt;/strong&gt; to calculate the gradient before updating.&lt;/li&gt;
&lt;li&gt;Very accurate, but &lt;strong&gt;slow&lt;/strong&gt; if the dataset is large.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;2. Stochastic Gradient Descent (SGD)&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Updates weights using &lt;strong&gt;one data point&lt;/strong&gt; at a time.&lt;/li&gt;
&lt;li&gt;Much faster, but more &lt;strong&gt;noisy&lt;/strong&gt; and may fluctuate.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;3. Mini-Batch Gradient Descent&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Uses &lt;strong&gt;small groups of data&lt;/strong&gt; (e.g., 32 samples) to update weights.&lt;/li&gt;
&lt;li&gt;Combines the best of both: &lt;strong&gt;efficient and more stable&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Most widely used&lt;/strong&gt; in practice.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  7. &lt;strong&gt;Drawbacks of Gradient Descent&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Despite being powerful, Gradient Descent has some key challenges:&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;1. Slow Convergence&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Training deep neural networks can take &lt;strong&gt;a long time&lt;/strong&gt; to reach good performance.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;2. Local Minima&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;The algorithm might get &lt;strong&gt;stuck in a small dip&lt;/strong&gt; (a local minimum) and &lt;strong&gt;miss the best solution&lt;/strong&gt; (global minimum).&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;3. Oscillations&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;If the learning rate is too high, the algorithm may &lt;strong&gt;overshoot&lt;/strong&gt; the minimum and &lt;strong&gt;bounce back and forth&lt;/strong&gt;, never settling.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  8. &lt;strong&gt;Conclusion: Smarter Alternatives Today&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Gradient Descent is the &lt;strong&gt;foundation&lt;/strong&gt; of how neural networks learn — but it’s not perfect.&lt;/p&gt;

&lt;p&gt;Today, we often use &lt;strong&gt;improved versions&lt;/strong&gt; like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Momentum&lt;/strong&gt; — keeps moving in a direction to avoid getting stuck&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Adam Optimizer&lt;/strong&gt; — adapts learning rates based on past steps&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;RMSProp&lt;/strong&gt;, &lt;strong&gt;Nesterov Accelerated Gradient&lt;/strong&gt;, and others&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These are all built on the &lt;strong&gt;core idea of Gradient Descent&lt;/strong&gt;, but with extra tools to make learning &lt;strong&gt;faster and smarter&lt;/strong&gt;.&lt;/p&gt;




</description>
      <category>machinelearning</category>
      <category>beginners</category>
      <category>ai</category>
      <category>deeplearning</category>
    </item>
    <item>
      <title>How I Built a React App with AI, VS Code, and Pure Vibes!</title>
      <dc:creator>Summiya ali</dc:creator>
      <pubDate>Sat, 31 May 2025 17:27:27 +0000</pubDate>
      <link>https://dev.to/summiya_ali/how-i-built-a-react-app-with-ai-vs-code-and-pure-vibes-103f</link>
      <guid>https://dev.to/summiya_ali/how-i-built-a-react-app-with-ai-vs-code-and-pure-vibes-103f</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Spoiler alert: There’s a cat. And it’s zesty.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  Idea Spark: Talking to AI While Half-Asleep
&lt;/h2&gt;

&lt;p&gt;One fine day (or night, who knows anymore), I had a thought:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"What if I had a sleepy cat in my React app that would sass me every time I clicked it?"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Normal people would sleep.&lt;br&gt;
I opened &lt;strong&gt;VS Code&lt;/strong&gt; and said:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Yo ChatGPT, help me make a zesty cat app."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;And just like that, I began coding a full React project — powered by a bash script, AI code generation, and zero patience for googling things manually.&lt;/p&gt;


&lt;h2&gt;
  
  
  The Setup: VS Code, Git Bash &amp;amp; Me
&lt;/h2&gt;
&lt;h3&gt;
  
  
  Tools I Used:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Visual Studio Code&lt;/strong&gt; (because real devs use dark mode with pride)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Git Bash&lt;/strong&gt; (for terminal drama)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;ChatGPT&lt;/strong&gt; (my unpaid AI intern)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;OneDrive Desktop&lt;/strong&gt; (accidentally. Don't judge.)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  My Working Directory?
&lt;/h3&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%2F266v9wwlchl6490ombqq.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%2F266v9wwlchl6490ombqq.PNG" alt="Image description" width="800" height="71"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Yep. I know. Even the folder names scream “this user is chaotic neutral.”&lt;/p&gt;


&lt;h2&gt;
  
  
  Phase 1: Writing the Bash Script Like a Boss
&lt;/h2&gt;

&lt;p&gt;I told ChatGPT:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“Write me a bash script that sets up a full React project with a ZestyCat component.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;It spat out gold. A script that:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Runs &lt;code&gt;npx create-react-app&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Creates a &lt;code&gt;ZestyCat.js&lt;/code&gt; component and CSS file&lt;/li&gt;
&lt;li&gt;Injects personality (and sass) into the cat&lt;/li&gt;
&lt;li&gt;Updates &lt;code&gt;App.js&lt;/code&gt; to feature the cat as the main character&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;And I saved it as:&lt;br&gt;
 &lt;code&gt;create-zesty-cat.sh&lt;/code&gt;&lt;/p&gt;


&lt;h2&gt;
  
  
  Phase 2: "Why Won’t You Run?!"
&lt;/h2&gt;

&lt;p&gt;Of course, no dev journey is complete without errors that question your sanity.&lt;/p&gt;
&lt;h3&gt;
  
  
  Problem:
&lt;/h3&gt;

&lt;p&gt;Running the bash script in Git Bash gave me:&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%2Fi0s8qo2bcxo8kr9lk8ig.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%2Fi0s8qo2bcxo8kr9lk8ig.PNG" alt="Image description" width="800" height="57"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Me:
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;“I literally just told you to create it!”&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3&gt;
  
  
  Realization:
&lt;/h3&gt;

&lt;p&gt;The &lt;code&gt;create-react-app&lt;/code&gt; command was after the &lt;code&gt;cd&lt;/code&gt; in the script.&lt;br&gt;
&lt;strong&gt;I was trying to walk into a house before it was built.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Fix: I moved the &lt;code&gt;npx create-react-app&lt;/code&gt; line to the top of the script.&lt;/p&gt;


&lt;h2&gt;
  
  
  Phase 3: React App is Born... and Broken
&lt;/h2&gt;

&lt;p&gt;I ran:&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%2Fgiy8fmqqrzi2qo8y052z.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%2Fgiy8fmqqrzi2qo8y052z.PNG" alt="Image description" width="673" height="90"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Boom shakalakaaa! The app was created. Files in place. Components looking good.&lt;br&gt;
I ran:&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%2Fhoeta01wt8sq3ndlgowh.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%2Fhoeta01wt8sq3ndlgowh.PNG" alt="Image description" width="677" height="32"&gt;&lt;/a&gt;&lt;br&gt;
And React said:&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%2Fq77sk6ymkg0wy8z7ge33.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%2Fq77sk6ymkg0wy8z7ge33.PNG" alt="Image description" width="800" height="91"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  My Reaction:
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;“AJ-who? I don’t even know that guy!”&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3&gt;
  
  
  Fix:
&lt;/h3&gt;

&lt;p&gt;I did what any experienced dev would do:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;rm&lt;/span&gt; &lt;span class="nt"&gt;-rf&lt;/span&gt; node_modules package-lock.json
npm cache clean &lt;span class="nt"&gt;--force&lt;/span&gt;
npm &lt;span class="nb"&gt;install&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;A cup of coffee later, it finally worked.&lt;/p&gt;




&lt;h2&gt;
  
  
  Meet ZestyCat: Your Judgmental Dev Buddy
&lt;/h2&gt;

&lt;p&gt;ZestyCat is a React component with one job — to sass you when you click it.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;Sleeps peacefully until disturbed&lt;/li&gt;
&lt;li&gt;Gets angry when clicked&lt;/li&gt;
&lt;li&gt;Judges you with a "😾" face&lt;/li&gt;
&lt;li&gt;Tells you to stop bothering it because “it can vibe-code later”&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Just like a real dev cat.&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%2F7xs4zgbedjns9ii7l19f.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%2F7xs4zgbedjns9ii7l19f.PNG" alt="Image description" width="800" height="60"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  The Look: Pure Comic Sans Chaos
&lt;/h2&gt;

&lt;p&gt;The cat is styled with:&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%2Fuhxb8rkan8vzo10b11rb.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%2Fuhxb8rkan8vzo10b11rb.PNG" alt="Image description" width="770" height="237"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Yes. Comic Sans. Because nothing says &lt;em&gt;“I take front-end seriously”&lt;/em&gt; like Comic Sans in a dashed border.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Final Test: npm start
&lt;/h2&gt;

&lt;p&gt;With everything in place, the moment of truth:&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%2Fcusdqrc4kwtcgxkzi2jd.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%2Fcusdqrc4kwtcgxkzi2jd.PNG" alt="Image description" width="473" height="99"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Boom.&lt;br&gt;
My local server came alive. ZestyCat was breathing but sleeping.&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%2Fuylsj84r917w3q1bwwxt.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%2Fuylsj84r917w3q1bwwxt.PNG" alt="Image description" width="443" height="284"&gt;&lt;/a&gt;&lt;br&gt;
 I clicked it because it is annoying to let him sleep while I cant.&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%2Fh37lvkui6e157j6l0pyt.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%2Fh37lvkui6e157j6l0pyt.PNG" alt="Image description" width="457" height="267"&gt;&lt;/a&gt;&lt;br&gt;
It got angry — as it should. My mission was complete.&lt;/p&gt;




&lt;h2&gt;
  
  
  TL;DR: How I Did It (So You Can Too)
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Talk to ChatGPT&lt;/strong&gt; — Tell it what you want. Be as chaotic as you like.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Write a bash script&lt;/strong&gt; — Let the AI generate it.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Run it in Git Bash&lt;/strong&gt; — Fix paths if needed.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Fix broken &lt;code&gt;node_modules&lt;/code&gt;&lt;/strong&gt; — It's a React tradition.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Launch your app&lt;/strong&gt; — Watch your digital cat get annoyed.&lt;/li&gt;
&lt;/ol&gt;




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

&lt;p&gt;I didn’t just build a React app.&lt;br&gt;
I built &lt;strong&gt;a sassy, sleepy cat with attitude&lt;/strong&gt; — entirely from talking to AI and using &lt;strong&gt;VS Code&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;No Stack Overflow. No Googling. Just me, my terminal, and my virtual cat overlord.&lt;/p&gt;




&lt;p&gt;Want the full source code or help customizing it?&lt;br&gt;
Drop a 🐱 below, or just poke ChatGPT again — it never sleeps.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Happy Hacking!&lt;/strong&gt; &lt;/p&gt;




</description>
      <category>react</category>
      <category>vibecoding</category>
      <category>codenewbie</category>
      <category>vscode</category>
    </item>
    <item>
      <title>5 Common Flutter Errors and How to Fix Them (2025)</title>
      <dc:creator>Summiya ali</dc:creator>
      <pubDate>Fri, 23 May 2025 09:26:48 +0000</pubDate>
      <link>https://dev.to/summiya_ali/5-common-flutter-errors-and-how-to-fix-them-2025-4da9</link>
      <guid>https://dev.to/summiya_ali/5-common-flutter-errors-and-how-to-fix-them-2025-4da9</guid>
      <description>&lt;p&gt;Flutter is powerful — but even the most seasoned developers hit unexpected bugs. In this post, I’ll walk through &lt;strong&gt;five real Flutter issues&lt;/strong&gt; I ran into, what caused them, and how I solved them. Whether you're new to Flutter or knee-deep in a build, these solutions might save you serious debugging time.&lt;/p&gt;

&lt;p&gt;When you start working with Flutter, you quickly realize it’s both amazing and... frustrating. The "hot reload" feels magical, but some bugs? Not so much.&lt;/p&gt;

&lt;p&gt;Here are &lt;strong&gt;5 real bugs I encountered while working with Flutter&lt;/strong&gt; — and &lt;strong&gt;how I solved them&lt;/strong&gt;. Hopefully, this will save you hours of hair-pulling. &lt;/p&gt;




&lt;h2&gt;
  
  
  1. &lt;code&gt;The method 'receiveGuardedBroadcastStream' isn't defined for the class 'EventChannel'.&lt;/code&gt;
&lt;/h2&gt;

&lt;h3&gt;
  
  
  What Happened
&lt;/h3&gt;

&lt;p&gt;After updating some Firebase packages, I started getting this scary error related to &lt;code&gt;EventChannel&lt;/code&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Root Cause
&lt;/h3&gt;

&lt;p&gt;The &lt;code&gt;receiveGuardedBroadcastStream&lt;/code&gt; method was removed from Flutter. Older versions of Firebase packages used it.&lt;/p&gt;

&lt;h3&gt;
  
  
  Solution
&lt;/h3&gt;

&lt;p&gt;Upgrade all FlutterFire packages to versions compatible with the latest Flutter SDK:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;flutter pub upgrade &lt;span class="nt"&gt;--major-versions&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Also, clean your cache to remove corrupted or old packages:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;flutter clean
flutter pub get
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  2. &lt;code&gt;Error: The system cannot find the path specified&lt;/code&gt; when importing &lt;code&gt;_flutterfire_internals&lt;/code&gt;
&lt;/h2&gt;

&lt;h3&gt;
  
  
  What Happened
&lt;/h3&gt;

&lt;p&gt;My build was failing with missing files, even though the package was installed.&lt;/p&gt;

&lt;h3&gt;
  
  
  Root Cause
&lt;/h3&gt;

&lt;p&gt;My &lt;code&gt;.pub-cache&lt;/code&gt; was corrupted or partially downloaded.&lt;/p&gt;

&lt;h3&gt;
  
  
  Solution
&lt;/h3&gt;

&lt;p&gt;Force re-fetch the package:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;flutter pub cache repair
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If that fails, delete the specific directory:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;rm&lt;/span&gt; &lt;span class="nt"&gt;-rf&lt;/span&gt; ~/.pub-cache/hosted/pub.dev/_flutterfire_internals-&lt;span class="k"&gt;*&lt;/span&gt;
flutter pub get
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  3. &lt;code&gt;accentColor&lt;/code&gt; Is Deprecated
&lt;/h2&gt;

&lt;h3&gt;
  
  
  What Happened
&lt;/h3&gt;

&lt;p&gt;Using &lt;code&gt;accentColor&lt;/code&gt; in my &lt;code&gt;ThemeData&lt;/code&gt; caused a deprecation warning.&lt;/p&gt;

&lt;h3&gt;
  
  
  Root Cause
&lt;/h3&gt;

&lt;p&gt;Flutter moved from &lt;code&gt;accentColor&lt;/code&gt; to the &lt;code&gt;ColorScheme&lt;/code&gt; API with Material 3.&lt;/p&gt;

&lt;h3&gt;
  
  
  Solution
&lt;/h3&gt;

&lt;p&gt;Use &lt;code&gt;colorScheme.secondary&lt;/code&gt; instead:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight dart"&gt;&lt;code&gt;&lt;span class="nl"&gt;colorScheme:&lt;/span&gt; &lt;span class="n"&gt;ColorScheme&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;fromSeed&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
  &lt;span class="nl"&gt;seedColor:&lt;/span&gt; &lt;span class="n"&gt;Colors&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;teal&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="nl"&gt;secondary:&lt;/span&gt; &lt;span class="n"&gt;Colors&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;amber&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;And when styling widgets:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight dart"&gt;&lt;code&gt;&lt;span class="nl"&gt;color:&lt;/span&gt; &lt;span class="n"&gt;Theme&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;of&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;context&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;colorScheme&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;secondary&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  4. Custom &lt;code&gt;ThemeData&lt;/code&gt; Not Applying to Widgets
&lt;/h2&gt;

&lt;h3&gt;
  
  
  What Happened
&lt;/h3&gt;

&lt;p&gt;Despite setting a custom &lt;code&gt;textTheme&lt;/code&gt;, my &lt;code&gt;Text&lt;/code&gt; widgets still looked default.&lt;/p&gt;

&lt;h3&gt;
  
  
  Root Cause
&lt;/h3&gt;

&lt;p&gt;I was overriding styles directly in widgets instead of relying on the theme.&lt;/p&gt;

&lt;h3&gt;
  
  
  Solution
&lt;/h3&gt;

&lt;p&gt;Avoid this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight dart"&gt;&lt;code&gt;&lt;span class="n"&gt;Text&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;'Hello'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nl"&gt;style:&lt;/span&gt; &lt;span class="n"&gt;TextStyle&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nl"&gt;fontSize:&lt;/span&gt; &lt;span class="mi"&gt;18&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nl"&gt;color:&lt;/span&gt; &lt;span class="n"&gt;Colors&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;black&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Do this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight dart"&gt;&lt;code&gt;&lt;span class="n"&gt;Text&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;'Hello'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nl"&gt;style:&lt;/span&gt; &lt;span class="n"&gt;Theme&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;of&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;context&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;textTheme&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;bodyLarge&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Make sure it’s defined in your &lt;code&gt;ThemeData&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight dart"&gt;&lt;code&gt;&lt;span class="nl"&gt;textTheme:&lt;/span&gt; &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="n"&gt;TextTheme&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
  &lt;span class="nl"&gt;bodyLarge:&lt;/span&gt; &lt;span class="n"&gt;TextStyle&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nl"&gt;fontSize:&lt;/span&gt; &lt;span class="mf"&gt;18.0&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;
  
  
  5. &lt;code&gt;RenderFlex Overflow&lt;/code&gt; on Smaller Devices
&lt;/h2&gt;

&lt;h3&gt;
  
  
  What Happened
&lt;/h3&gt;

&lt;p&gt;My layout looked fine on my emulator but broke on smaller phones.&lt;/p&gt;

&lt;h3&gt;
  
  
  Root Cause
&lt;/h3&gt;

&lt;p&gt;Hardcoded height or padding values caused overflow.&lt;/p&gt;

&lt;h3&gt;
  
  
  Solution
&lt;/h3&gt;

&lt;p&gt;Use flexible layouts:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight dart"&gt;&lt;code&gt;&lt;span class="n"&gt;Expanded&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
  &lt;span class="nl"&gt;child:&lt;/span&gt; &lt;span class="n"&gt;ListView&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="nl"&gt;children:&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;Or wrap with &lt;code&gt;SingleChildScrollView&lt;/code&gt; if needed:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight dart"&gt;&lt;code&gt;&lt;span class="n"&gt;SingleChildScrollView&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
  &lt;span class="nl"&gt;child:&lt;/span&gt; &lt;span class="n"&gt;Padding&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="nl"&gt;padding:&lt;/span&gt; &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="n"&gt;EdgeInsets&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;all&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;16&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
    &lt;span class="nl"&gt;child:&lt;/span&gt; &lt;span class="n"&gt;Column&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
      &lt;span class="nl"&gt;children:&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;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Test with different device sizes using Flutter DevTools or:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;flutter run &lt;span class="nt"&gt;--device-id&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






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

&lt;p&gt;Every bug is a lesson. These bugs taught me to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Use the latest stable package versions&lt;/li&gt;
&lt;li&gt;Stick to theme-aware styling&lt;/li&gt;
&lt;li&gt;Trust Flutter’s layout system&lt;/li&gt;
&lt;li&gt;Keep my cache and dependencies clean&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you've hit similar issues or have your own war stories, drop them in the comments! Let’s debug together!&lt;/p&gt;

</description>
      <category>flutter</category>
      <category>debugging</category>
      <category>mobile</category>
      <category>productivity</category>
    </item>
  </channel>
</rss>
