<?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: Zach Massey</title>
    <description>The latest articles on DEV Community by Zach Massey (@echtoplasm).</description>
    <link>https://dev.to/echtoplasm</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%2F3482394%2F7d4a4289-c10d-4cc4-84c7-75336421dfe0.jpeg</url>
      <title>DEV Community: Zach Massey</title>
      <link>https://dev.to/echtoplasm</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/echtoplasm"/>
    <language>en</language>
    <item>
      <title>Why I Built a C++ Linux System Monitor (And Why You Should Too)</title>
      <dc:creator>Zach Massey</dc:creator>
      <pubDate>Fri, 17 Oct 2025 20:23:11 +0000</pubDate>
      <link>https://dev.to/echtoplasm/why-i-built-a-c-linux-system-monitor-and-why-you-should-too-kjb</link>
      <guid>https://dev.to/echtoplasm/why-i-built-a-c-linux-system-monitor-and-why-you-should-too-kjb</guid>
      <description>&lt;p&gt;I've spent the last week and a half building a system monitor tool in C++ for Linux called &lt;strong&gt;gshell&lt;/strong&gt;, and it's been an incredible journey into real systems programming. its also a pretty cool-looking ricing system monitor.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://imgur.com/gallery/gshell-demo-4eWggvM" rel="noopener noreferrer"&gt;Demo video&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The Problem
&lt;/h2&gt;

&lt;p&gt;The Arch Linux community has a wasteland of broken Python tools. When dependencies update, these tools break. Here's my hot take: &lt;strong&gt;Python and JS have their use cases, but systems programming isn't one of them.&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;Both languages offload heavy lifting to C/C++ libraries, creating fragile dependency chains. One &lt;code&gt;pip update&lt;/code&gt; later and your monitoring tool is toast.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Solution
&lt;/h2&gt;

&lt;p&gt;Cut through the noise and the "C/C++ is too hard, just use Python" misconception. &lt;strong&gt;Build it in the right language for the job.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Software development means I'm not a "JavaScript developer" or a "Python developer" — I'm a &lt;strong&gt;developer&lt;/strong&gt;. Identifying myself by the tool I use is like a carpenter saying they're a "hammer aficionado."&lt;/p&gt;

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

&lt;p&gt;This project taught me about &lt;strong&gt;true concurrency&lt;/strong&gt; — not high-level abstractions, but manually managing threads that probe the &lt;code&gt;/proc&lt;/code&gt; filesystem. &lt;/p&gt;

&lt;p&gt;I gained hands-on experience with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Concurrent file system access and rendering&lt;/strong&gt; - Multiple threads reading &lt;code&gt;/proc&lt;/code&gt; simultaneously&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Thread synchronization and resource management&lt;/strong&gt; - Mutexes, atomic operations, the works&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The reality of systems-level programming&lt;/strong&gt; - No garbage collector to save you&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Where This Is Taking Me
&lt;/h2&gt;

&lt;p&gt;Building gshell has sparked a deeper interest in systems programming. I've picked up K&amp;amp;R's &lt;em&gt;"The C Programming Language"&lt;/em&gt; and am working toward understanding how C runs the Linux kernel. &lt;/p&gt;

&lt;p&gt;One day, I'd like to write Linux drivers—that goal is far off, but this project is the first step.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Makes gshell Different
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Animated GIFs in the terminal&lt;/strong&gt; while performing concurrent system monitoring (had to throw a Cowboy Bebop gif in because I'm using Arch, after all)&lt;/li&gt;
&lt;li&gt;Built with &lt;a href="https://github.com/ArthurSonzogni/FTXUI" rel="noopener noreferrer"&gt;FTXUI&lt;/a&gt; for the terminal interface&lt;/li&gt;
&lt;li&gt;Leverages Kitty Terminal's image protocol&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Fully customizable via .conf file&lt;/strong&gt; - colors, custom GIFs, layout&lt;/li&gt;
&lt;li&gt;Configuration elements stored in hashmaps for &lt;strong&gt;O(1) lookup&lt;/strong&gt; and seamless runtime performance&lt;/li&gt;
&lt;li&gt;Written in C++ for performance and reliability&lt;/li&gt;
&lt;li&gt;No Python dependency hell&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Technical Highlights
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight cpp"&gt;&lt;code&gt;&lt;span class="c1"&gt;// Example: Concurrent /proc reading&lt;/span&gt;
&lt;span class="n"&gt;std&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="n"&gt;atomic&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="kt"&gt;bool&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;running&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nb"&gt;true&lt;/span&gt;&lt;span class="p"&gt;};&lt;/span&gt;
&lt;span class="n"&gt;std&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="kr"&gt;thread&lt;/span&gt; &lt;span class="nf"&gt;memoryThread&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;&lt;span class="o"&gt;&amp;amp;&lt;/span&gt;&lt;span class="p"&gt;]()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;while&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;running&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="k"&gt;auto&lt;/span&gt; &lt;span class="n"&gt;memInfo&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;readProcMeminfo&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
        &lt;span class="n"&gt;updateDisplay&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;memInfo&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
        &lt;span class="n"&gt;std&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="n"&gt;this_thread&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="n"&gt;sleep_for&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;std&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="n"&gt;chrono&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="n"&gt;seconds&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&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;The entire config system uses hashmaps for efficient lookups - no iterating through arrays at runtime. This was a deliberate choice to understand time complexity tradeoffs in real applications.&lt;/p&gt;

&lt;h2&gt;
  
  
  Coming Soon
&lt;/h2&gt;

&lt;p&gt;I'll be releasing gshell as open source via the &lt;strong&gt;Arch User Repository&lt;/strong&gt; soon. Follow-up post coming when it's live.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Challenge
&lt;/h2&gt;

&lt;p&gt;If you're comfortable in high-level languages, &lt;strong&gt;challenge yourself with a systems project&lt;/strong&gt;. The learning curve is steep, but the understanding you gain is irreplaceable.&lt;/p&gt;

&lt;p&gt;You'll learn:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;How your operating system actually works&lt;/li&gt;
&lt;li&gt;What "performance" really means&lt;/li&gt;
&lt;li&gt;Why certain design decisions matter&lt;/li&gt;
&lt;li&gt;Memory management beyond garbage collection&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;Building tools in the language they deserve to be built in matters. Not every problem needs a systems language, but when you're building system utilities, nothing beats C/C++.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;What systems-level projects have you built? Drop them in the comments - I'd love to check them out!&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Follow me for more posts on:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Systems programming in C/C++&lt;/li&gt;
&lt;li&gt;Linux kernel development journey&lt;/li&gt;
&lt;li&gt;Building tools the hard way&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;GitHub:&lt;/strong&gt; &lt;a href="https://github.com/echtoplasm" rel="noopener noreferrer"&gt;https://github.com/echtoplasm&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;LinkedIn:&lt;/strong&gt; &lt;a href="https://www.linkedin.com/in/zachary-massey-5b8715259/" rel="noopener noreferrer"&gt;https://www.linkedin.com/in/zachary-massey-5b8715259/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>cpp</category>
      <category>archlinux</category>
      <category>opensource</category>
      <category>linux</category>
    </item>
    <item>
      <title>Blazer AI: Intelligent Student Handbook and Website Assistant</title>
      <dc:creator>Zach Massey</dc:creator>
      <pubDate>Sat, 27 Sep 2025 15:32:40 +0000</pubDate>
      <link>https://dev.to/echtoplasm/blazer-ai-intelligent-student-handbook-and-website-assistant-2ldi</link>
      <guid>https://dev.to/echtoplasm/blazer-ai-intelligent-student-handbook-and-website-assistant-2ldi</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/heroku-2025-08-27"&gt;Heroku "Back to School" AI Challenge&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Blazer AI: Intelligent Student Handbook Assistant
&lt;/h1&gt;

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

&lt;p&gt;Blazer AI is an AI-powered chatbot designed specifically for AB Tech students and faculty to quickly find information buried within the school's extensive website and student handbook. The application solves the common problem of students and faculty struggling to navigate institutional resources and find answers to academic questions.&lt;/p&gt;

&lt;p&gt;Built in just 2 weeks while managing 5 classes, Blazer AI combines vector similarity search with intelligent query routing to provide contextually relevant answers. The system can handle both specific course inquiries (like "Tell me about CSC-151") and general questions (like "What are the graduation requirements?") by automatically detecting query types and routing them through appropriate search mechanisms.&lt;/p&gt;

&lt;p&gt;The application transforms traditionally static institutional knowledge into an interactive, conversational experience that's available 24/7 for student and faculty support.&lt;/p&gt;

&lt;h2&gt;
  
  
  Category
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Student Success&lt;/strong&gt; - Blazer AI directly addresses student success by making institutional knowledge more accessible, reducing time spent searching for academic information, and providing instant answers to common student questions about courses, policies, and campus resources.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Educator Empowerment&lt;/strong&gt; - The same that can be said about the student success category towards Blazer AI can be said about the educator empowerment potential. All of my instructors have a really hard time referring to specific sections in the handbook for policies, as well as referring to specific webpages to answer questions, due to our school website being over 3000 pages. Educator empowerment may be more applicable, as the typical student may ask questions related only to their program of study or particular classes. In contrast, now educators and faculty have instant contextual access to all of the website and handbook data.&lt;/p&gt;

&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Live Application&lt;/strong&gt;: &lt;a href="https://blazer-ai-abt.com/" rel="noopener noreferrer"&gt;https://blazer-ai-abt.com/&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Live Application using heroku url&lt;/strong&gt;: &lt;a href="https://handbooky-frontend-575fce723934.herokuapp.com/" rel="noopener noreferrer"&gt;https://handbooky-frontend-575fce723934.herokuapp.com/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Source Code&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Frontend: &lt;a href="https://github.com/echtoplasm/handBooky-frontend" rel="noopener noreferrer"&gt;https://github.com/echtoplasm/handBooky-frontend&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Backend: &lt;a href="https://github.com/echtoplasm/handBooky-backend" rel="noopener noreferrer"&gt;https://github.com/echtoplasm/handBooky-backend&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Screenshots
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Homepage before chatting:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffda9wtn6wy5t2vc71d2s.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%2Ffda9wtn6wy5t2vc71d2s.png" alt="Home Page Before Chatting" width="800" height="774"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Normal questions being asked:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu6g41rts82y8ae9e7dzm.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%2Fu6g41rts82y8ae9e7dzm.png" alt="General Questions being asked" width="800" height="792"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Demo GIF:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;GIF showing the React state management and context being passed between two components to ask questions of the chatbot&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8p8hfsvlrf1vnoivq6kq.gif" 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%2F8p8hfsvlrf1vnoivq6kq.gif" alt="sample question state management" width="600" height="288"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Key Features Demonstrated
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Intelligent query routing between vector and non-vector search&lt;/li&gt;
&lt;li&gt;Real-time AI responses with source citations&lt;/li&gt;
&lt;li&gt;Mobile-responsive design optimized for student use&lt;/li&gt;
&lt;li&gt;Sample questions tailored to common student inquiries&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Technical Architecture
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Frontend&lt;/strong&gt;: React application deployed via Heroku Static Buildpack&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Backend&lt;/strong&gt;: Node.js/Express API with PostgreSQL vector database&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AI Integration&lt;/strong&gt;: Claude 3.5 Haiku via Heroku Managed Inference&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  How I Used Heroku AI
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Heroku Managed Inference&lt;/strong&gt;: Integrated Claude 3.5 Haiku for natural language processing and response generation. The AI agent is configured with a comprehensive system prompt that restricts responses to school-related topics and ensures citations are included.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Heroku Embedding Model API&lt;/strong&gt;: Used for generating vector embeddings from user queries, enabling semantic similarity search through the knowledge base.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;pgvector Integration&lt;/strong&gt;: Leveraged PostgreSQL with pgvector extension for storing and querying text embeddings, allowing the system to find contextually relevant information even when exact keyword matches aren't available.&lt;/p&gt;

&lt;h3&gt;
  
  
  Agent Coordination
&lt;/h3&gt;

&lt;p&gt;The system employs intelligent routing logic:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Course Code Detection&lt;/strong&gt;: Regex pattern matching identifies specific course queries (e.g., "CSC-151") and routes them to direct database lookups&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Vector Search&lt;/strong&gt;: General queries generate embeddings and perform similarity searches through the vector database
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Context Assembly&lt;/strong&gt;: Retrieved information is structured with source metadata and fed to the AI agent for natural language response generation&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Technical Implementation
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Multi-Agent Architecture
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Query Router&lt;/strong&gt;: Analyzes incoming messages to determine search strategy&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Vector Search Agent&lt;/strong&gt;: Handles semantic similarity searches using embeddings&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Course Lookup Agent&lt;/strong&gt;: Manages direct database queries for specific course codes&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Response Generator&lt;/strong&gt;: Claude 3.5 Haiku processes context and generates student-friendly responses&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Key Technologies
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;PERN Stack&lt;/strong&gt;: PostgreSQL, Express.js, React, Node.js&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Vector Database&lt;/strong&gt;: PostgreSQL with pgvector for similarity search&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AI Integration&lt;/strong&gt;: Heroku Managed Inference with Claude 3.5 Haiku&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Technical Challenges Solved
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Intelligent Query Routing&lt;/strong&gt;: Developed a hybrid approach that combines exact course code matching with semantic vector search, optimizing both accuracy and response time.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Data Processing Pipeline&lt;/strong&gt;: Built utilities to process PDF documents and website content into structured, searchable chunks with embeddings, handling inconsistent institutional data formats.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Context Optimization&lt;/strong&gt;: Implemented context assembly that includes source metadata, prerequisites, and corequisites to provide comprehensive responses while staying within token limits.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Responsive Design&lt;/strong&gt;: Created a mobile-first interface optimized for student use patterns, recognizing that most students access information via smartphones.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Development Timeline&lt;/strong&gt;: Solo-developed and completed in 2 weeks while maintaining a full course load, demonstrating efficient project management and focused technical implementation.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Data Sources&lt;/strong&gt;: Integrated AB Tech's student handbook (PDF) and website sitemap data, creating a comprehensive knowledge base covering academic policies, course information, and campus resources.&lt;/p&gt;

&lt;p&gt;The application successfully transforms static institutional documentation into an interactive, intelligent assistant that understands student intent and provides relevant, cited information in a conversational format.&lt;/p&gt;

&lt;h3&gt;
  
  
  Future Implementations
&lt;/h3&gt;

&lt;p&gt;The future implementation of this application would allow users to drag and drop their own sitemap data or handbook PDF data, and the app would parse and embed it for them. This would allow any institution to have an RAG agent implemented and ready to answer any of their questions related to their institution's resources. This was the original vision for this application, but due to time constraints and being a solo developer, I had to scale back the ambition a bit. &lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>herokuchallenge</category>
      <category>webdev</category>
      <category>ai</category>
    </item>
  </channel>
</rss>
