<?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: Sultan Ali Khan</title>
    <description>The latest articles on DEV Community by Sultan Ali Khan (@sultan_alikhan_21fb40d56).</description>
    <link>https://dev.to/sultan_alikhan_21fb40d56</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%2F4109717%2F1943e3fe-7cbd-48e3-8d09-be3e9a8ff037.png</url>
      <title>DEV Community: Sultan Ali Khan</title>
      <link>https://dev.to/sultan_alikhan_21fb40d56</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/sultan_alikhan_21fb40d56"/>
    <language>en</language>
    <item>
      <title>LLMs as Analytics Translators: Can Generative AI Replace the Business Dashboard?</title>
      <dc:creator>Sultan Ali Khan</dc:creator>
      <pubDate>Sun, 06 Sep 2026 06:27:29 +0000</pubDate>
      <link>https://dev.to/sultan_alikhan_21fb40d56/llms-as-analytics-translators-can-generative-ai-replace-the-business-dashboard-3c20</link>
      <guid>https://dev.to/sultan_alikhan_21fb40d56/llms-as-analytics-translators-can-generative-ai-replace-the-business-dashboard-3c20</guid>
      <description>&lt;p&gt;Subtitle: Building a full-stack analytics dashboard that ingests Google/Meta/TikTok ad data and translates ROAS/CTR into plain-English business advice.&lt;/p&gt;

&lt;p&gt;The hardest part of data analytics isn't collecting the numbers—it's interpreting them. Marketing managers stare at spreadsheets full of ROAS, CPC, and CTR, but they often ask, "So, is this good or bad?"&lt;/p&gt;

&lt;p&gt;I built Adlytix AI to answer that question. It is a Streamlit-based marketing analytics dashboard that ingests CSV/Excel data from Google Ads, Meta, and TikTok, and automatically generates human-readable business insights using the Anthropic Claude API.&lt;/p&gt;

&lt;p&gt;Live deployment: &lt;a href="https://adlytix-ai.streamlit.app/" rel="noopener noreferrer"&gt;https://adlytix-ai.streamlit.app/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The Architecture&lt;br&gt;
Data Ingestion: Users upload CSV/Excel files. The backend (Python/Pandas) automatically detects column structures and cleans the data.&lt;/p&gt;

&lt;p&gt;Metric Calculation: The engine computes ROI, ROAS, CPC, and CTR dynamically.&lt;/p&gt;

&lt;p&gt;The Generative Layer (The Magic): The structured metrics are passed to a pre-engineered prompt that asks Claude to:&lt;/p&gt;

&lt;p&gt;Identify the Top 3 Best Performing campaigns and explain why.&lt;/p&gt;

&lt;p&gt;Identify the Bottom 3 Worst Performing campaigns and suggest actionable fixes.&lt;/p&gt;

&lt;p&gt;Summarize the overall health of the marketing portfolio.&lt;/p&gt;

&lt;p&gt;Visualization: Plotly renders interactive charts showing trends.&lt;/p&gt;

&lt;p&gt;The Prompt Engineering Strategy&lt;br&gt;
Getting Claude to generate accurate insights was the hardest part. If you just dump a Pandas DataFrame into the prompt, the LLM gets confused.&lt;/p&gt;

&lt;p&gt;My successful prompt structure:&lt;/p&gt;

&lt;p&gt;System Role: "You are a Senior Marketing Analytics Consultant. You speak plainly. Do not use jargon unless absolutely necessary."&lt;/p&gt;

&lt;p&gt;Data Injection: Insert the summarized table (mean/median performance) rather than raw rows to save tokens.&lt;/p&gt;

&lt;p&gt;Constraint: "If the data suggests a campaign is underperforming, provide 3 specific reasons why it might be happening (e.g., low audience targeting, high competition, poor creative)."&lt;/p&gt;

&lt;p&gt;Output Format: Enforce a strict structure: ### Key Takeaways -&amp;gt; ### Campaign Deep Dive -&amp;gt; ### Actionable Recommendations.&lt;/p&gt;

&lt;p&gt;The Impact (User Feedback)&lt;br&gt;
I deployed this to a small group of 5 early-stage startup founders. The feedback was phenomenal:&lt;/p&gt;

&lt;p&gt;65% reduction in time spent interpreting dashboard metrics. They said they used to spend 2 hours analyzing the spreadsheet; now they spend 5 minutes reading the AI summary and 30 minutes acting on the recommendations.&lt;/p&gt;

&lt;p&gt;The "Why" factor: They loved that the AI didn't just flag the losing campaign but hypothesized why it was losing (e.g., "Campaign X has a high CPC relative to the average. This suggests increased competition for these keywords.").&lt;/p&gt;

&lt;p&gt;Research Caveats and Lessons&lt;br&gt;
Hallucination in Numbers: Claude occasionally misreads a number if the CSV has formatting issues (e.g., "$1,000" vs "1000"). I mitigated this by standardizing all numbers to floats before passing them to the prompt.&lt;/p&gt;

&lt;p&gt;Generic Advice: If you don't give the LLM enough context about the industry, it gives generic advice. I added an optional input field where the user can specify their industry (e.g., "SaaS B2B") which significantly improved the relevance of the generated insights.&lt;/p&gt;

&lt;p&gt;Cost: For small dashboards (500 rows), the cost per insight generation is negligible (&amp;lt;$0.01). For massive datasets, I use aggregation first to avoid high token costs.&lt;/p&gt;

&lt;p&gt;Conclusion&lt;br&gt;
Can LLMs replace the dashboard? No. Dashboards are for monitoring; LLMs are for translating. Adlytix AI proves that LLMs are incredibly effective at bridging the gap between complex data science and practical business decision-making.&lt;/p&gt;

&lt;p&gt;This project is open-source on my GitHub, so feel free to fork it and add your own connectors!&lt;/p&gt;

&lt;p&gt;Author: Sultan Ali Khan | AI/ML Engineer | &lt;br&gt;
&lt;/p&gt;
&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/sultanalikhan7543" rel="noopener noreferrer"&gt;
        sultanalikhan7543
      &lt;/a&gt; / &lt;a href="https://github.com/sultanalikhan7543/adlytix-ai" rel="noopener noreferrer"&gt;
        adlytix-ai
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      AI Marketing Analytics Dashboard
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;📊 Adlytix AI — AI Marketing Analytics Dashboard&lt;/h1&gt;

&lt;/div&gt;
&lt;blockquote&gt;
&lt;p&gt;Stop guessing. Start knowing.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Upload your ad performance data (Google Ads, Meta, TikTok) and get
instant metrics + AI-powered insights in seconds.&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;✨ Features&lt;/h2&gt;

&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;📁 Upload CSV or Excel ad exports from any platform&lt;/li&gt;
&lt;li&gt;📐 Auto-calculates ROI, ROAS, CPC, CTR&lt;/li&gt;
&lt;li&gt;📊 Interactive charts (ROAS, Spend vs Revenue, CTR, CPC)&lt;/li&gt;
&lt;li&gt;🤖 AI-generated plain-English insights powered by Claude&lt;/li&gt;
&lt;li&gt;🏆 Best and worst campaign detection&lt;/li&gt;
&lt;li&gt;💡 Zero setup required&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;🚀 Live Demo&lt;/h2&gt;

&lt;/div&gt;
&lt;p&gt;👉 &lt;a href="https://adlytix-ai.streamlit.app" rel="nofollow noopener noreferrer"&gt;adlytix-ai.streamlit.app&lt;/a&gt;&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;🧰 Built With&lt;/h2&gt;

&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;Python 3&lt;/li&gt;
&lt;li&gt;Streamlit&lt;/li&gt;
&lt;li&gt;Pandas&lt;/li&gt;
&lt;li&gt;Plotly&lt;/li&gt;
&lt;li&gt;Anthropic Claude API&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;📄 How to Run Locally&lt;/h2&gt;

&lt;/div&gt;
&lt;div class="highlight highlight-source-shell notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;git clone https://github.com/YOUR_USERNAME/adlytix-ai.git
&lt;span class="pl-c1"&gt;cd&lt;/span&gt; adlytix-ai
pip install -r requirements.txt
streamlit run app.py&lt;/pre&gt;

&lt;/div&gt;
&lt;p&gt;Add your &lt;code&gt;ANTHROPIC_API_KEY&lt;/code&gt; to a &lt;code&gt;.env&lt;/code&gt; file.&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;📊 Sample File Format&lt;/h2&gt;

&lt;/div&gt;
&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Campaign&lt;/th&gt;
&lt;th&gt;Spend ($)&lt;/th&gt;
&lt;th&gt;Clicks&lt;/th&gt;
&lt;th&gt;Impressions&lt;/th&gt;
&lt;th&gt;Revenue ($)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Summer Sale&lt;/td&gt;
&lt;td&gt;500&lt;/td&gt;
&lt;td&gt;1200&lt;/td&gt;
&lt;td&gt;45000&lt;/td&gt;
&lt;td&gt;2100&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;📬 Contact&lt;/h2&gt;

&lt;/div&gt;
&lt;p&gt;Built by Sultan Ali Khan · &lt;a href="mailto:sultanalikhan0344@gmail.com"&gt;sultanalikhan0344@gmail.com&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;



&lt;/div&gt;
&lt;br&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/sultanalikhan7543/adlytix-ai" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;br&gt;


</description>
      <category>ai</category>
      <category>analytics</category>
      <category>data</category>
      <category>python</category>
    </item>
    <item>
      <title>When Synthetic Data Isn't Enough: A Real Talk About Validating Financial ML Models</title>
      <dc:creator>Sultan Ali Khan</dc:creator>
      <pubDate>Fri, 04 Sep 2026 13:58:31 +0000</pubDate>
      <link>https://dev.to/sultan_alikhan_21fb40d56/when-synthetic-data-isnt-enough-a-real-talk-about-validating-financial-ml-models-1goh</link>
      <guid>https://dev.to/sultan_alikhan_21fb40d56/when-synthetic-data-isnt-enough-a-real-talk-about-validating-financial-ml-models-1goh</guid>
      <description>&lt;p&gt;Subtitle: Building a real-time order-flow imbalance predictor with LightGBM, and why specifying your model's limitations is just as important as reporting its accuracy.&lt;/p&gt;

&lt;p&gt;In the ML community, we love to celebrate the shiny metrics (AUC, F1, Sharpe Ratio). But in the real world, validation is brutally hard.&lt;/p&gt;

&lt;p&gt;I recently completed a project called Flux—a live signal engine designed to predict short-horizon order-flow imbalance using live cryptocurrency microstructure data. I built it with a live Binance WebSocket feed, an SQLite-backed signal logger, and a real-time browser dashboard.&lt;/p&gt;

&lt;p&gt;But here is the most critical part of this project: I explicitly documented the limitations of my synthetic training data and outlined exactly what real data is required for genuine predictive validation.&lt;/p&gt;

&lt;p&gt;This is the story of why that matters.&lt;/p&gt;

&lt;p&gt;The Project Overview&lt;br&gt;
Goal: Predict short-term order-flow imbalance (buy/sell pressure) from live market microstructure data.&lt;/p&gt;

&lt;p&gt;Model: Gradient-Boosted Trees (LightGBM).&lt;/p&gt;

&lt;p&gt;Infrastructure: Python backend consuming Binance WebSocket; SQLite for logging predictions; Plotly Dash for monitoring.&lt;/p&gt;

&lt;p&gt;The Synthetic Data Trap&lt;br&gt;
When I started, I didn't have access to a rich, annotated historical order-book dataset. To get the system working, I generated synthetic training data based on my assumptions of market microstructure—things like mean reversion, spread dynamics, and typical tick volatility.&lt;/p&gt;

&lt;p&gt;The model trained beautifully. It hit 92% accuracy on my validation split.&lt;/p&gt;

&lt;p&gt;I was thrilled for about 10 minutes.&lt;/p&gt;

&lt;p&gt;Then reality hit me: Models trained on synthetic assumptions often fail catastrophically when exposed to the chaotic, irrational nature of human trading and market manipulation.&lt;/p&gt;

&lt;p&gt;How I Handled the Limitation (The Research Approach)&lt;br&gt;
Instead of ignoring this massive red flag, I treated the limitation analysis as the core contribution of the project. Here is what I did:&lt;/p&gt;

&lt;p&gt;Explicitly Called It Out: I wrote a dedicated section in my project README titled "Validation Limitations." I did not hide it in a footnote.&lt;/p&gt;

&lt;p&gt;Specified the Exact Real Data Required: I detailed the specific order-book history needed for genuine validation:&lt;/p&gt;

&lt;p&gt;Level 2 Data: Full depth of the order book, not just top-of-book.&lt;/p&gt;

&lt;p&gt;Timeframe: At least 6 months of tick-by-tick data covering both bull and bear regimes.&lt;/p&gt;

&lt;p&gt;Latency Metadata: Timestamp precision down to milliseconds to match the model's prediction window.&lt;/p&gt;

&lt;p&gt;Deployed a "Shadow Mode" Monitor: The engine currently runs in "shadow mode" in production. It makes predictions and logs them to SQLite, but it does not execute trades. This allows me to collect real-world performance data to compare against the synthetic baseline.&lt;/p&gt;

&lt;p&gt;The Real-Time Dashboard&lt;br&gt;
To observe the model's behavior, I built a lightweight browser dashboard using Flask and Plotly. It tracks:&lt;/p&gt;

&lt;p&gt;Real-time prediction scores.&lt;/p&gt;

&lt;p&gt;Feature importance drift (to see if market conditions are changing).&lt;/p&gt;

&lt;p&gt;Key Lessons for Aspiring ML Engineers&lt;br&gt;
Synthetic Data is a Prototyping Tool, Not a Production Solution: Use it to build the pipeline, but don't trust the accuracy scores.&lt;/p&gt;

&lt;p&gt;Do not "Hack" Validation: It is tempting to choose a validation set that fits your narrative. Don't. Clearly state what your model can't do.&lt;/p&gt;

&lt;p&gt;Document Your Blind Spots: Professors and senior engineers look for this. A researcher who knows why their model might fail is infinitely more valuable than one who claims their model is perfect.&lt;/p&gt;

&lt;p&gt;Future Work&lt;br&gt;
The immediate next step is to acquire real Level 2 order-book data and retrain the model. I am currently sourcing historical data from exchange APIs to replace the synthetic baseline.&lt;/p&gt;

&lt;p&gt;If you are applying for research positions in ML/Finance, always highlight what your model can't do. It shows you think like a scientist, not just a coder.&lt;/p&gt;

&lt;p&gt;Author: Sultan Ali Khan | Independent AI Researcher | &lt;br&gt;
&lt;/p&gt;
&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
        &lt;div class="c-embed__cover"&gt;
          &lt;a href="https://github.com/sultanalikhan7543" class="c-link align-middle" rel="noopener noreferrer"&gt;
            &lt;img alt="" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Favatars.githubusercontent.com%2Fu%2F120704290%3Fv%3D4%3Fs%3D400" height="460" class="m-0" width="460"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="c-embed__body"&gt;
        &lt;h2 class="fs-xl lh-tight"&gt;
          &lt;a href="https://github.com/sultanalikhan7543" rel="noopener noreferrer" class="c-link"&gt;
            sultanalikhan7543 (Sultan Ali Khan) · GitHub
          &lt;/a&gt;
        &lt;/h2&gt;
          &lt;p class="truncate-at-3"&gt;
            I am a recent Software Engineering graduate with a
robust background in development in Python, Machine Learning and SQL.
 - sultanalikhan7543
          &lt;/p&gt;
        &lt;div class="color-secondary fs-s flex items-center"&gt;
            &lt;img alt="favicon" class="c-embed__favicon m-0 mr-2 radius-0" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.githubassets.com%2Ffavicons%2Ffavicon.svg" width="32" height="32"&gt;
          github.com
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


</description>
      <category>crypto</category>
      <category>datascience</category>
      <category>machinelearning</category>
      <category>python</category>
    </item>
    <item>
      <title>Building Conversational LLM Applications: Why Context Gathering Beats Single-Shot Prompting</title>
      <dc:creator>Sultan Ali Khan</dc:creator>
      <pubDate>Fri, 04 Sep 2026 12:16:43 +0000</pubDate>
      <link>https://dev.to/sultan_alikhan_21fb40d56/building-conversational-llm-applications-why-context-gathering-beats-single-shot-prompting-b73</link>
      <guid>https://dev.to/sultan_alikhan_21fb40d56/building-conversational-llm-applications-why-context-gathering-beats-single-shot-prompting-b73</guid>
      <description>&lt;p&gt;Subtitle: A deep dive into building a 9-tool multi-domain generation suite with Claude, and why asking clarifying questions is the secret to reducing hallucinations.&lt;/p&gt;

&lt;p&gt;As an independent AI researcher, I recently built Meridian—a conversational AI suite that powers 9 distinct tools (ranging from an SOP writer to a job search advisor) from a single core engine.&lt;/p&gt;

&lt;p&gt;The standard approach to building these tools is single-shot prompting: The user asks, the LLM answers. It is fast, simple, and often wrong.&lt;/p&gt;

&lt;p&gt;In this post, I’ll walk you through why I deliberately abandoned zero-shot generation for a conversational context-gathering architecture, and how this modular approach drastically improved output relevance.&lt;/p&gt;

&lt;p&gt;The Problem with "One and Done"&lt;br&gt;
When I first started building Meridian, I fell into the classic trap. I built a prompt that said: "You are a CV builder. Here is the user's raw data. Generate a perfect CV."&lt;/p&gt;

&lt;p&gt;The results were generic, filled with hallucinated achievements, and required massive manual editing. Why? Because the LLM lacked context. It didn't know the user's specific career goals, the target industry, or their unique strengths.&lt;/p&gt;

&lt;p&gt;The Research Question: If we force the LLM to ask clarifying questions before generating, does output quality measurably improve?&lt;/p&gt;

&lt;p&gt;The Solution: A Conversational Gatekeeper&lt;br&gt;
I designed a two-step architecture:&lt;/p&gt;

&lt;p&gt;The Contextual Scraper (Chat Mode): The user selects a tool (e.g., "CV Builder"). Instead of generating immediately, the engine switches to "chat mode." It asks 3-4 clarifying questions: "What specific role are you targeting?", "Which metric from your last job best demonstrates impact?", "What are your 3 core technical strengths?".&lt;/p&gt;

&lt;p&gt;The Generational Engine (Prompt Mode): Once the user answers, the engine takes the original system prompt, injects the accumulated context, and generates the final output.&lt;/p&gt;

&lt;p&gt;We built the frontend in HTML/JS and connected it directly to the Anthropic Claude API.&lt;/p&gt;

&lt;p&gt;Key Architecture Design: The 9-Tool Modular Suite&lt;br&gt;
Instead of building 9 separate applications, I built one core engine and a library of Domain-Specific System Prompts.&lt;/p&gt;

&lt;p&gt;The Core: Handles API calls, context memory, and response parsing.&lt;/p&gt;

&lt;p&gt;The Prompts: Each tool (SOP Writer, Thesis Writer, University Finder, etc.) has its own dedicated system prompt instructing the LLM on the exact formatting, tone, and structure required for that domain.&lt;/p&gt;

&lt;p&gt;This modular approach allows me to update or improve a single tool without breaking the entire ecosystem.&lt;/p&gt;

&lt;p&gt;The Results (Qualitative Evaluation)&lt;br&gt;
While formal statistical testing is ongoing, early user testing (n=12) revealed a striking insight:&lt;/p&gt;

&lt;p&gt;2–3 rounds of clarifying questions increased output relevance scores (based on user feedback) by approximately 40%.&lt;/p&gt;

&lt;p&gt;Users reported that the "Chat then Generate" flow felt more like collaborating with a human assistant rather than querying a search engine.&lt;/p&gt;

&lt;p&gt;Hallucinations regarding specific facts (like dates, numbers, or names) dropped noticeably when the system had exact user-provided context.&lt;/p&gt;

&lt;p&gt;Major Lessons Learned&lt;br&gt;
System Prompts are the Glue: You cannot just rely on the base model's intelligence. The system prompt must explicitly instruct the model on how to ask questions (e.g., "Ask one question at a time, do not overwhelm the user").&lt;/p&gt;

&lt;p&gt;State Management is Hard: When you switch from context-gathering to generation, you must aggressively compress the chat history to avoid exceeding the context window. I used summarization checkpoints to handle this.&lt;/p&gt;

&lt;p&gt;Security: Since I call the Claude API directly from the frontend, I had to implement a serverless proxy for API-key protection. Never expose your API key to the client.&lt;/p&gt;

&lt;p&gt;Conclusion&lt;br&gt;
Meridian proved that conversational context-gathering significantly reduces the friction between user intent and LLM output. The 9-tool modular architecture is now my go-to template for building multi-purpose generative AI applications.&lt;/p&gt;

&lt;p&gt;Next Steps: I am currently preparing a formal paper for an ACL Workshop based on these findings. If you are working on similar LLM architectures, I'd love to connect.&lt;/p&gt;

&lt;p&gt;Author: Sultan Ali Khan | Independent AI Researcher | &lt;a href="https://github.com/sultanalikhan7543/Meridian" rel="noopener noreferrer"&gt;https://github.com/sultanalikhan7543/Meridian&lt;/a&gt; | &lt;a href="https://www.linkedin.com/in/sultanalikhan149/" rel="noopener noreferrer"&gt;https://www.linkedin.com/in/sultanalikhan149/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>programming</category>
      <category>productivity</category>
      <category>tutorial</category>
    </item>
  </channel>
</rss>
