Case study

Best-AI.org – RAG search and governed agents for an AI tool platform

AI tool discovery platform with 70,000+ monthly users, 3,900+ human-reviewed tools in 17 categories and three companion mobile apps.

Role
Co-Founder & CTO
Period
– Present
Stack
Next.js · TypeScript · Python · Firebase / Firestore · Google Cloud
Link
best-ai.org ↗ (opens in a new tab)
Best-AI.org homepage with the AI searchBest-AI.org homepage with the AI search

My role

Co-Founder & CTO since June 2025. I led architecture and engineering; my co-founder led the business side. Co-built end to end.

  1. General questions about AI.
  2. Targeted tool search with follow-up questions about each tool.
  3. Requirement analysis that derives a workflow with step-by-step guidance and a matching AI tool per step.

Architecture

Best-AI.org architectureUsers reach the Next.js web app (TypeScript) and the mobile app for iOS and Android (Capacitor). Search layers A, B and C – general questions about AI, tool search with follow-up questions, and requirement analysis that derives a workflow with a tool per step – use Firestore vector search with OpenAI embeddings and the tool catalog in Firestore, then LLM APIs. On the admin side, OpenClaw and Hermes agents work through internal MCP servers on platform administration: publishing news and blog posts, reviewing and curating tools, and the CRM for sign-ups and tool submissions; platform administration also uses the LLM APIs, for blog content and CRM email content. A governance band bounds the agents: hierarchical rule files, from instruction files in the agent root to a rule-file hierarchy in Google Drive, and dedicated Google service accounts and Git access with scoped permissions. Platform: Next.js, Python, Firebase / Firestore, Google Cloud.Platform: Next.js · Python · Firebase / Firestore · Google CloudSearch layersRetrievalAdmin sideGovernanceUsersNext.js web app(TypeScript)Mobile appiOS & Android (Capacitor)A General questionsabout AIB Tool search withfollow-up questionsC Requirement analysis→ workflow, tool per stepFirestore vector searchOpenAI embeddingsTool catalogin FirestoreLLM APIsOpenClaw andHermes agentsInternalMCP serversPlatform administrationPublish news and blog postsReview and curate toolsCRM: sign-ups, tool submissionsHierarchical rule filesInstruction files in the agent root→ rule-file hierarchy in Google DriveScoped accessDedicated Google service accountsand Git access with scoped permissionsBest-AI.org architectureUsers reach the Next.js web app (TypeScript) and the mobile app for iOS and Android (Capacitor). Search layers A, B and C – general questions about AI, tool search with follow-up questions, and requirement analysis that derives a workflow with a tool per step – use Firestore vector search with OpenAI embeddings and the tool catalog in Firestore, then LLM APIs. On the admin side, OpenClaw and Hermes agents work through internal MCP servers on platform administration: publishing news and blog posts, reviewing and curating tools, and the CRM for sign-ups and tool submissions; platform administration also uses the LLM APIs, for blog content and CRM email content. A governance band bounds the agents: hierarchical rule files, from instruction files in the agent root to a rule-file hierarchy in Google Drive, and dedicated Google service accounts and Git access with scoped permissions. Platform: Next.js, Python, Firebase / Firestore, Google Cloud.Platform:Next.js · PythonFirebase / Firestore · Google CloudSearch layersRetrievalAdmin sideGovernance of agents and MCPUsersNext.js web app(TypeScript)Mobile appiOS & Android(Capacitor)A General questionsabout AIB Tool search withfollow-up questionsC Requirement analysis→ workflow, tool per stepFirestore vector searchOpenAI embeddingsTool catalogin FirestoreLLM APIsOpenClaw andHermes agentsInternalMCP serversPlatform administrationPublish news and blog postsReview and curate toolsCRM: sign-ups, tool submissionsHierarchical rule filesInstruction files in the agent root→ rule-file hierarchy in Google DriveScoped accessDedicated Google service accountsand Git access with scoped permissions

Decisions and trade-offs

Vector search inside Firestore

Chosen because the platform runs on Firebase; one data store for catalog and embeddings. (Earlier RAG demos used Qdrant.)

Tools, not access

Every agent capability is a defined MCP tool; a new capability is a deliberate decision, not a side effect.

Least privilege

Agents act through service accounts that hold only the rights their tools need.

Rules in files, not in prompts

Rule files people can read and change give agents context and boundaries.

Humans stay in the loop for the catalog

Every listed tool is human-reviewed.

Quality

Retrieval and answer quality are evaluated against test sets and improved iteratively.

How it is built

Developed AI-assisted, today mostly with Claude Code. Content and CRM pipelines run on the OpenAI, Gemini and Perplexity APIs.

Walk-through

The code is private. I’m happy to walk through the architecture in a call.