<?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: Don MacKinnon</title>
    <description>The latest articles on DEV Community by Don MacKinnon (@dmackinn).</description>
    <link>https://dev.to/dmackinn</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%2F3220181%2F7ceae864-8488-4130-bf1d-94f20203c4e0.png</url>
      <title>DEV Community: Don MacKinnon</title>
      <link>https://dev.to/dmackinn</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/dmackinn"/>
    <language>en</language>
    <item>
      <title>Improving Trust in AI Systems</title>
      <dc:creator>Don MacKinnon</dc:creator>
      <pubDate>Mon, 07 Jul 2025 21:06:32 +0000</pubDate>
      <link>https://dev.to/dmackinn/improving-trust-in-ai-systems-54i4</link>
      <guid>https://dev.to/dmackinn/improving-trust-in-ai-systems-54i4</guid>
      <description>&lt;h2&gt;
  
  
  Bridging the Gap: How High-Precision Search Engines Can Make AI Smarter and More Trustworthy
&lt;/h2&gt;

&lt;p&gt;Companies are racing to adapt to rapid changes in the market, and many are betting on AI to modernize their platforms and improve user experience. While AI is great at translating natural language, intent, and transforming human queries to machine-readable formats, it struggles with discerning information accuracy. This inevitably leads to false or misleading information being presented back to users.&lt;/p&gt;

&lt;p&gt;As AI output becomes more central to how users interact with products, product teams risk eroding user trust if that output is inaccurate, outdated, or opaque in its sourcing. Product owners can risk losing legitimacy if these systems are not improved as users will look elsewhere for a more trusted source. There is growing concern from consumers about the inaccuracies inherent in these first generation AI approaches.&lt;/p&gt;

&lt;p&gt;Teams must innovate swiftly, but not at the expense of damaging their reputation.&lt;/p&gt;

&lt;p&gt;The problem lies in the foundations of the information discovery systems utilized by these AI solutions.  It's a problem that must be addressed on multiple levels. First, translating the user request and intent into the most efficient and correct API requests. Once the API requests are properly formed via prompt massaging, MCP tools, memory, and contextual awareness its then ready to perform the task of retrieving the information. While much focus is placed on improving prompts, tuning LLMs, or adding memory/context features, the retrieval step is often overlooked and this is where things frequently fall apart.&lt;/p&gt;

&lt;p&gt;Retrieving the correct content is key, if all the other steps are solid the process will fall apart if the desired information is not surfaced to the AI. Accurate information discovery comes down to relevancy. Unfortunately, general purpose databases are poorly suited for relevant information discovery. General purpose datastores have a different set of concerns that they solve for and are not designed for speedy or fuzzy matching queries over large amounts of data from multiple sources. Additionally they lack the mechanisms for relevancy tuning via custom ranking strategies such as multi-field weighting, recency, popularity, etc. Also missing is the domain specific knowledge via stemming, synonyms, and faceting. This can lead to both inaccurate information being surfaced as well as poor performance metrics during this middle layer step. Integrating a precision search layer means your AI won’t just sound smart, it will be smart, grounded in verifiable information.&lt;/p&gt;

&lt;p&gt;Finally, the retrieved information must then be reformatted in a way that product teams and end users are expecting that is easily consumable and transparent with its sourcing. Depending on the intention of the originating query, multiple sources may need to be summarized and combined to provide the desired outcome.&lt;/p&gt;

&lt;p&gt;Once the architecture has been proven it must then be refactored to improve performance and lower cost. Slow components within any portion of the chain will lead to a poor user experience; each step in the process adds to how long the end-to-end request processing takes to complete. This means optimizing your language processing models for the type of content and requests you are accepting.  The information storage and retrieval system must be exceptionally fast without sacrificing on relevancy. The results UI should feel native to your platform with the same visual consistency as the rest of the product. It should never feel bolted on as an after-thought.&lt;/p&gt;

&lt;p&gt;Ultimately, AI-driven information discovery is an extension of your brand. A well-integrated experience that consistently delivers accurate, transparent, and fast information can become a competitive advantage.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>programming</category>
    </item>
    <item>
      <title>Make the Developer Experience Good</title>
      <dc:creator>Don MacKinnon</dc:creator>
      <pubDate>Mon, 02 Jun 2025 18:20:05 +0000</pubDate>
      <link>https://dev.to/dmackinn/make-the-developer-experience-good-5a3b</link>
      <guid>https://dev.to/dmackinn/make-the-developer-experience-good-5a3b</guid>
      <description>&lt;p&gt;I sat down with Justin from the Strictly from Nowhere podcast the importance the developer experience when building tools.&lt;br&gt;
  &lt;iframe src="https://www.youtube.com/embed/G1kVfcFHGe8"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;Full episode is available on YouTube, Spotify, Apple Podcasts&lt;br&gt;
&lt;a href="https://www.causeofakind.com/strictly-from-nowhere/don-mackinnon-co-founder-and-cto-searchcraft" rel="noopener noreferrer"&gt;https://www.causeofakind.com/strictly-from-nowhere/don-mackinnon-co-founder-and-cto-searchcraft&lt;/a&gt;&lt;/p&gt;

</description>
      <category>productivity</category>
      <category>programming</category>
      <category>frontend</category>
      <category>startup</category>
    </item>
    <item>
      <title>[Boost]</title>
      <dc:creator>Don MacKinnon</dc:creator>
      <pubDate>Fri, 30 May 2025 19:23:22 +0000</pubDate>
      <link>https://dev.to/dmackinn/-3ejg</link>
      <guid>https://dev.to/dmackinn/-3ejg</guid>
      <description>&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/charpie_searchcraft/plug-and-play-search-with-react-vite-3m2h" class="crayons-story__hidden-navigation-link"&gt;Plug-and-Play Search with React + Vite&lt;/a&gt;


  &lt;div class="crayons-story__body crayons-story__body-full_post"&gt;
    &lt;div class="crayons-story__top"&gt;
      &lt;div class="crayons-story__meta"&gt;
        &lt;div class="crayons-story__author-pic"&gt;

          &lt;a href="/charpie_searchcraft" class="crayons-avatar  crayons-avatar--l  "&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%2Fuser%2Fprofile_image%2F3197530%2F3021a09f-157f-4700-8211-babb735c6e9d.png" alt="charpie_searchcraft profile" class="crayons-avatar__image"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/charpie_searchcraft" class="crayons-story__secondary fw-medium m:hidden"&gt;
              Charpie
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                Charpie
                
              
              &lt;div id="story-author-preview-content-2546110" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0"&gt;
                &lt;div class="gap-4 grid"&gt;
                  &lt;div class="-mt-4"&gt;
                    &lt;a href="/charpie_searchcraft" class="flex"&gt;
                      &lt;span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"&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%2Fuser%2Fprofile_image%2F3197530%2F3021a09f-157f-4700-8211-babb735c6e9d.png" class="crayons-avatar__image" alt=""&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;Charpie&lt;/span&gt;
                    &lt;/a&gt;
                  &lt;/div&gt;
                  &lt;div class="print-hidden"&gt;
                    
                      Follow
                    
                  &lt;/div&gt;
                  &lt;div class="author-preview-metadata-container"&gt;&lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;

          &lt;/div&gt;
          &lt;a href="https://dev.to/charpie_searchcraft/plug-and-play-search-with-react-vite-3m2h" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;May 30 '25&lt;/time&gt;&lt;span class="time-ago-indicator-initial-placeholder"&gt;&lt;/span&gt;&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/div&gt;

    &lt;div class="crayons-story__indention"&gt;
      &lt;h2 class="crayons-story__title crayons-story__title-full_post"&gt;
        &lt;a href="https://dev.to/charpie_searchcraft/plug-and-play-search-with-react-vite-3m2h" id="article-link-2546110"&gt;
          Plug-and-Play Search with React + Vite
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/javascript"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;javascript&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/react"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;react&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/vite"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;vite&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/tooling"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;tooling&lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="crayons-story__bottom"&gt;
        &lt;div class="crayons-story__details"&gt;
          &lt;a href="https://dev.to/charpie_searchcraft/plug-and-play-search-with-react-vite-3m2h" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left"&gt;
            &lt;div class="multiple_reactions_aggregate"&gt;
              &lt;span class="multiple_reactions_icons_container"&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/exploding-head-daceb38d627e6ae9b730f36a1e390fca556a4289d5a41abb2c35068ad3e2c4b5.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
              &lt;/span&gt;
              &lt;span class="aggregate_reactions_counter"&gt;13&lt;span class="hidden s:inline"&gt; reactions&lt;/span&gt;&lt;/span&gt;
            &lt;/div&gt;
          &lt;/a&gt;
            &lt;a href="https://dev.to/charpie_searchcraft/plug-and-play-search-with-react-vite-3m2h#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center"&gt;
              Comments


              9&lt;span class="hidden s:inline"&gt; comments&lt;/span&gt;
            &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class="crayons-story__save"&gt;
          &lt;small class="crayons-story__tertiary fs-xs mr-2"&gt;
            1 min read
          &lt;/small&gt;
            
              &lt;span class="bm-initial"&gt;
                

              &lt;/span&gt;
              &lt;span class="bm-success"&gt;
                

              &lt;/span&gt;
            
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;


</description>
      <category>javascript</category>
      <category>react</category>
      <category>vite</category>
      <category>tooling</category>
    </item>
  </channel>
</rss>
