<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/why-i-built-search-not-a-chatbot-yi9ek9qu8" -->

---
title: Why I built search, not a chatbot | daily.dev
description: The author explains why they chose to build a deterministic keyword search feature instead of a generative chatbot for ArchPatterns, a rule-based architecture...
canonical: https://daily.dev/posts/why-i-built-search-not-a-chatbot-yi9ek9qu8
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Why I built search, not a chatbot | daily.dev
og:description: The author explains why they chose to build a deterministic keyword search feature instead of a generative chatbot for ArchPatterns, a rule-based architecture...
og:url: https://daily.dev/posts/why-i-built-search-not-a-chatbot-yi9ek9qu8
og:image: https://api.daily.dev/og/posts/Yi9ek9Qu8.png
og:image:alt: Why I built search, not a chatbot
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Why I built search, not a chatbot

**[Medium](https://daily.dev/sources/medium_js)** · 4 min read · 0 upvotes · 0 comments

## Summary

The author explains why they chose to build a deterministic keyword search feature instead of a generative chatbot for ArchPatterns, a rule-based architecture pattern selector. The core argument is that a chatbot's non-determinism and potential for hallucination would undermine the tool's fundamental promise of reproducible, traceable recommendations. Instead, they built 'Ask the library' — plain-language search that ranks existing entries without any language model in the answer path. The tool also exposes a Model Context Protocol server so AI assistants can query it externally, keeping generation clearly on the user's side. The author acknowledges the trade-off: slightly less clever ranking in exchange for a guarantee that nothing is ever invented.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://medium.com/@waqaskhan.archpatterns/why-i-built-search-not-a-chatbot-030463f6e71b>

## Questions this post answers

### Why would a tool avoid adding a generative AI chatbot and use keyword search instead?

Because a chatbot's non-deterministic, generative output can contradict a tool's core promise of reproducible, traceable answers. A rule-based reference tool that always gives the same output for the same input loses that guarantee if it starts generating text, since a language model can confidently state a pattern exists when it does not or misattribute its source.

_Developers weighing AI features against reliability guarantees can find grounded takes like this on daily.dev._

### What is Model Context Protocol used for in a deterministic tool like an architecture pattern selector?

It lets an external AI assistant query the tool's structured data directly and receive deterministic, source-attributed entries back, rather than the tool hosting its own chatbot. The tool supplies verified facts while the user's own assistant handles the conversational generation, keeping the two responsibilities separate and clearly labeled.

_Anyone deciding how to expose data to AI assistants without sacrificing accuracy can track approaches like this on daily.dev._

## Similar posts on daily.dev

- [The Architecture Behind Web Search in AI Chatbots](https://daily.dev/posts/the-architecture-behind-web-search-in-ai-chatbots-ifpndszpr) · Towards Data Science · 1 upvotes · 0 comments
- [The architecture behind an AI tutor, four months in](https://daily.dev/posts/the-architecture-behind-an-ai-tutor-four-months-in-uqjo9alxn) · Medium · 4 upvotes · 0 comments
- [How to Choose the Right AI Chatbot Architecture for Your Business](https://daily.dev/posts/how-to-choose-the-right-ai-chatbot-architecture-for-your-business-qexjvecha) · Netguru · 0 upvotes · 0 comments
- [4 engineering patterns behind the strongest AI Agents Challenge submissions](https://daily.dev/posts/4-engineering-patterns-behind-the-strongest-ai-agents-challenge-submissions-v5ze5ppnk) · Google Developers · 0 upvotes · 0 comments
- [I ditched Google Search for AI for a week, and ChatGPT wasn't even close to the winner](https://daily.dev/posts/i-ditched-google-search-for-ai-for-a-week-and-chatgpt-wasn-t-even-close-to-the-winner-ydlnyp1pp) · XDA Developers · 0 upvotes · 0 comments

---

Tags: [#architecture](https://daily.dev/tags/architecture), [#genai](https://daily.dev/tags/genai), [#mcp](https://daily.dev/tags/mcp)

[View this post on daily.dev](https://daily.dev/posts/why-i-built-search-not-a-chatbot-yi9ek9qu8)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Why I built search, not a chatbot","url":"https://daily.dev/posts/why-i-built-search-not-a-chatbot-yi9ek9qu8","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/why-i-built-search-not-a-chatbot-yi9ek9qu8"},"datePublished":"2026-07-28T07:33:47.422Z","dateModified":"2026-09-13T19:17:00.833Z","description":"The author explains why they chose to build a deterministic keyword search feature instead of a generative chatbot for ArchPatterns, a rule-based architecture...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/d6ab0a9a223ee01bc82d647f54feb2d2?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/d6ab0a9a223ee01bc82d647f54feb2d2?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Medium","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Medium","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/medium","url":"https://daily.dev/sources/medium_js"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/why-i-built-search-not-a-chatbot-yi9ek9qu8","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"architecture,genai,mcp","timeRequired":"PT4M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Medium","item":"https://daily.dev/sources/medium_js"},{"@type":"ListItem","position":3,"name":"Why I built search, not a chatbot"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/why-i-built-search-not-a-chatbot-yi9ek9qu8#faq","mainEntity":[{"@type":"Question","name":"Why would a tool avoid adding a generative AI chatbot and use keyword search instead?","acceptedAnswer":{"@type":"Answer","text":"Because a chatbot's non-deterministic, generative output can contradict a tool's core promise of reproducible, traceable answers. A rule-based reference tool that always gives the same output for the same input loses that guarantee if it starts generating text, since a language model can confidently state a pattern exists when it does not or misattribute its source. Developers weighing AI features against reliability guarantees can find grounded takes like this on daily.dev."}},{"@type":"Question","name":"What is Model Context Protocol used for in a deterministic tool like an architecture pattern selector?","acceptedAnswer":{"@type":"Answer","text":"It lets an external AI assistant query the tool's structured data directly and receive deterministic, source-attributed entries back, rather than the tool hosting its own chatbot. The tool supplies verified facts while the user's own assistant handles the conversational generation, keeping the two responsibilities separate and clearly labeled. Anyone deciding how to expose data to AI assistants without sacrificing accuracy can track approaches like this on daily.dev."}}]}
```

