<?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: Carlos</title>
    <description>The latest articles on DEV Community by Carlos (@carlos_a95bdc044299a41ffa).</description>
    <link>https://dev.to/carlos_a95bdc044299a41ffa</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%2F2979395%2Fd73370ba-ce78-43d7-9b84-6ab31b0326bb.png</url>
      <title>DEV Community: Carlos</title>
      <link>https://dev.to/carlos_a95bdc044299a41ffa</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/carlos_a95bdc044299a41ffa"/>
    <language>en</language>
    <item>
      <title>Tired of Juggling AI Tabs? I Built AIHubMatrix, a Universal Interface for LLMs 🤖</title>
      <dc:creator>Carlos</dc:creator>
      <pubDate>Wed, 26 Mar 2025 20:05:45 +0000</pubDate>
      <link>https://dev.to/carlos_a95bdc044299a41ffa/tired-of-juggling-ai-tabs-i-built-aihubmatrix-a-universal-interface-for-llms-39f0</link>
      <guid>https://dev.to/carlos_a95bdc044299a41ffa/tired-of-juggling-ai-tabs-i-built-aihubmatrix-a-universal-interface-for-llms-39f0</guid>
      <description>&lt;p&gt;Hey dev community! 👋&lt;/p&gt;

&lt;p&gt;Like many of you, I've been diving deep into the world of Large Language Models (LLMs). It's an incredibly exciting space, but let's be honest – managing interactions across different platforms like ChatGPT, Claude.ai, Gemini, plus maybe some local models via Ollama, can get messy &lt;em&gt;fast&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;I found myself constantly switching tabs, copy-pasting prompts, losing conversation context, and wishing I had more control over how I interacted with these powerful tools. Comparing model outputs on the same prompt was a chore, and organizing my experiments felt chaotic.&lt;/p&gt;

&lt;p&gt;That frustration led me to build &lt;strong&gt;AIHubMatrix&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is AIHubMatrix?
&lt;/h2&gt;

&lt;p&gt;In simple terms, AIHubMatrix is a &lt;strong&gt;self-hostable web application&lt;/strong&gt; (with a live demo!) designed to be your single, unified interface for interacting with &lt;strong&gt;multiple AI models&lt;/strong&gt; from various providers (OpenAI, Anthropic, Google, DeepSeek, Grok, local models, and more).&lt;/p&gt;

&lt;p&gt;It renders AI responses beautifully using &lt;strong&gt;Markdown&lt;/strong&gt; and is built with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;Backend:&lt;/strong&gt; Node.js / Express&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Frontend:&lt;/strong&gt; React (served directly for simplicity)&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Database:&lt;/strong&gt; PostgreSQL&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Deployment:&lt;/strong&gt; Docker &amp;amp; Docker Compose&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Solving the Fragmentation Problem
&lt;/h2&gt;

&lt;p&gt;The core idea is to bring all your AI interactions under one roof, but I wanted to go beyond just being an aggregator. I focused on adding features I personally missed in other tools:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. 🔄 Dynamic, In-Conversation Model Switching
&lt;/h3&gt;

&lt;p&gt;This is the killer feature. Start a conversation with GPT-4o, get a response, and &lt;em&gt;then&lt;/em&gt; switch to Claude 3.7 Sonnet to refine it or get a different perspective, &lt;em&gt;all within the same chat history&lt;/em&gt;. Invaluable for comparing models or using the best tool for each step.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. 🔬 Fine-Grained Message Control
&lt;/h3&gt;

&lt;p&gt;Tired of deleting messages just to see how the AI responds without them? AIHubMatrix lets you &lt;strong&gt;exclude/include&lt;/strong&gt; individual messages from the AI's context &lt;em&gt;without&lt;/em&gt; permanently deleting them. Perfect for experimentation. You can also easily view messages as raw text or rendered Markdown, and copy as plain or rich text.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. 👁️ Universal Vision (Even for Text Models!)
&lt;/h3&gt;

&lt;p&gt;Models like GPT-4o or Claude 3 handle images natively. But for text-only models? AIHubMatrix integrates Google Vision API as a fallback. Upload an image, and the app automatically generates a description for the text model.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. 📁 Folder Organization
&lt;/h3&gt;

&lt;p&gt;Organize your chats into a familiar hierarchical folder structure using simple drag-and-drop. No more endless flat lists!&lt;/p&gt;

&lt;h3&gt;
  
  
  5. 🔌 Resilient Connections
&lt;/h3&gt;

&lt;p&gt;Dropped your connection mid-request? AIHubMatrix keeps processing in the background and updates you when you reconnect.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;  Wide file type support (PDF, DOCX, XLSX, code, images, ZIPs...) with in-chat previews.&lt;/li&gt;
&lt;li&gt;  Configurable PDF processing (Native, Text Extraction, Google Vision OCR).&lt;/li&gt;
&lt;li&gt;  Conversation Cache for pre-loading context/files.&lt;/li&gt;
&lt;li&gt;  Code syntax highlighting.&lt;/li&gt;
&lt;li&gt;  Streaming support.&lt;/li&gt;
&lt;li&gt;  Multi-user support &amp;amp; Admin panel.&lt;/li&gt;
&lt;li&gt;  Dark/Light mode.&lt;/li&gt;
&lt;li&gt;  Developer debug tools (JSON request preview).&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Current Status &amp;amp; What's Next
&lt;/h2&gt;

&lt;p&gt;AIHubMatrix is currently in a functional demo state. The core features are working. I'm planning to refine the UI, add more tests, and potentially integrate more AI providers based on feedback.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try it Out &amp;amp; Give Me Feedback! 🙏
&lt;/h2&gt;

&lt;p&gt;I'm excited to share this with the dev community and would love your feedback!&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;Live Demo:&lt;/strong&gt; &lt;a href="https://aihubmatrix.com/" rel="noopener noreferrer"&gt;&lt;strong&gt;https://aihubmatrix.com/&lt;/strong&gt;&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;GitHub Repository:&lt;/strong&gt; &lt;a href="https://github.com/cescanue/aihubmatrix" rel="noopener noreferrer"&gt;https://github.com/cescanue/aihubmatrix&lt;/a&gt; (Stars ⭐ are greatly appreciated!)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You can also run it locally using Docker (instructions in the README).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;I'm particularly interested in:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  How intuitive is the dynamic model switching?&lt;/li&gt;
&lt;li&gt;  Is the message exclusion feature useful?&lt;/li&gt;
&lt;li&gt;  What models/providers should be next?&lt;/li&gt;
&lt;li&gt;  Any bugs or UI quirks?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Feel free to open an issue on GitHub or drop a comment below. Thanks for reading!&lt;/p&gt;

</description>
      <category>ai</category>
      <category>llm</category>
      <category>webdev</category>
      <category>programming</category>
    </item>
  </channel>
</rss>
