# AI Tools - darinbuilds.com

> Four AI tools - confidence-based expert routing, identity persona engine, autonomous QA testing, and automated UX analysis. Two MCP servers and two agents.

## Overview

Every question gets the right expert. Or an honest "I don't know." These four tools externalize different parts of the developer's brain.

## Expert Council (MCP Server)

Technical decisions, grounded in ingested sources.

Every team has that one person who just knows how things work. "Use Zustand here, not Context." "Server component for that page." Nobody wrote it down - it lives in Slack threads and the heads of senior engineers. I wanted a shared mental model I could actually query.

So I built six domain knowledge bases - React architecture, AI/LLM patterns, backend infrastructure, Vercel, frontend performance, and marketing strategy. Each one has its own ingested corpus of docs, architecture decisions, and real project notes. When a question comes in, it scores every relevant match and routes through a confidence gate that determines how much the system actually knows.

That confidence gate changes everything. Most AI tools answer whether or not they have anything useful to say. This one is honest about what it knows - full expert response when confident, answer with caveats when partial, raw search results when uncertain. Sounds obvious. Nobody does it though.

### Expert Domains

- **React Designer** (react) - Component architecture, server vs. client components, hooks patterns, and accessibility standards
- **AI Architect** (ai) - Knowledge system design, tool orchestration, token cost optimization, and reliability patterns
- **Backend Infrastructure** (backend) - Database design, API architecture, deployment pipelines, and production observability
- **Vercel Expert** (vercel) - Platform optimization, Core Web Vitals, edge functions, and incremental static regeneration
- **Frontend Performance** (frontend) - Rendering performance, animation compositing, GPU layer management, and paint optimization
- **Marketing Strategist** (marketing) - Product positioning, growth strategy, jobs-to-be-done analysis, and category design

### Confidence Routing

The system scores its own confidence and changes behavior at each level:
- **High** - Full expert response
- **Medium** - Response with caveats
- **Low** - Raw search results + ingestion suggestion

### scoreConfidence() - score the evidence before you answer

An expert that answers every question with total confidence is exactly the one you can't trust. So before it generates anything, it scores the evidence it actually found - an existing decision, a few strong matches, or nothing solid. It gets to admit when it doesn't know, and that's the whole point.

### consult_experts - the evidence picks the mode, not you

You never pick the mode here, the evidence does. Strong evidence gets you the full answer, a partial match gets it with the caveats attached, and weak evidence skips generating anything at all - you get the raw search results and a nudge to feed it more source material. Better to hand you the receipts than a guess dressed up as an answer.

## Persona Engine (MCP Server)

Persistent identity and memory across every session.

Claude is stateless by default. Every session starts fresh - no memory of the decision you made last week, no idea how you prefer to work, no accumulated context from the last 40 conversations. That drove me crazy enough to build a fix.

The Persona Engine has two layers. The identity layer analyzes your conversation history and distills a stable profile across seven dimensions - tech preferences, architecture opinions, communication style, decision patterns. It loads as a system prompt at zero extra cost per query. The memory layer handles the dynamic stuff: when something needs past context, hybrid search with temporal decay pulls it in, weighting recent decisions higher than old ones.

Now I have Claude across multiple terminals that all share the same context through PostgreSQL. What I decided in one session is available in the next. It's the difference between working with a collaborator who's been here from the start and a contractor who just walked in.

### Identity Dimensions

1. **Communication Style** - How direct, casual, or technical you prefer AI responses to be
2. **Questioning Technique** - Whether you guide through Socratic questions or direct requests
3. **Tech Preferences** - Your default stack choices - languages, frameworks, and tools you reach for
4. **Decision Patterns** - How you weigh tradeoffs and choose between valid approaches
5. **Architecture Opinions** - Your philosophy on system boundaries, data flow, and coupling
6. **Workflow Style** - How you use AI tooling - parallel terminals, focused sessions, delegation style
7. **Core Beliefs** - What you believe about shipping, quality, testing, and technical debt

### Features

- Stable identity profile baked into every session - no retrieval cost, no added latency per query
- Conversation memory via search finds relevant past decisions on demand
- Recent conversations rank higher through 180-day temporal decay - last week matters more than last year
- Claude instances in different terminals share context through PostgreSQL - knowledge transfers between sessions
- Indexes 1GB+ of Claude Code configurations from GitHub repos for pattern matching across projects
- Incremental ingestion tracks file modification times so unchanged conversations are never re-processed

### retrieveMemory() - memory with receipts

AI memory that just tells you "you prefer X" is impossible to check - you have to take its word for it. So every result comes back quoting the actual conversation, with the project name and the date attached. Recent stuff ranks higher too, because what you decided last week matters more than what you decided last year.

## QA Agent

The bugs you miss because you already know the happy path.

Developers test their own code the way they wrote it. Same paths, same inputs, same muscle memory skipping past the rough edges. You already know where the happy path lives - so you never actually find out what breaks outside it.

This agent comes in with zero context. No codebase knowledge, no assumption about how navigation is supposed to work. It uses MCP browser tools to click around the live app - real DOM interactions, real form submissions, real page navigations. It tries the things you'd never think to try because you already know they're "wrong." That's exactly why it finds bugs you missed.

### Features

- Approaches every application like a first-time user with no knowledge of intended workflows or architecture
- Interacts through MCP browser tools - real DOM clicks, form inputs, and page navigations, not simulated events
- Uncovers edge-case bugs that developers skip because they already know which paths work
- Runs exploration autonomously - no test scripts to maintain, no manual QA sessions to schedule

## UX Analysis Agent

The usability debt you stopped noticing.

After months on the same product, you stop seeing the rough edges. The error message below the fold. The loading spinner with no progress indication. The search page with no empty state. They're not bugs, so nobody files a ticket. They just stay broken.

This agent navigates live sites through browser tools and evaluates what it finds against Jakob Nielsen's 10 usability heuristics - the actual principles that separate polished products from frustrating ones. It's checking the running app, not the source code or mockups. Findings come back prioritized by severity, and approved fixes get implemented automatically. No UX audit spreadsheet. No scheduled review. Just a list of what's actually broken and a fix ready to ship.

### Features

- Evaluates the rendered, running application through browser tools - not source code or design mockups
- Checks every interaction against all 10 of Nielsen's usability heuristics with specific violation evidence
- Prioritizes findings by severity so the most impactful usability issues get fixed first
- Implements approved fixes directly - from identifying the issue to shipping the code change

### Nielsen's 10 Heuristics

1. Visibility of system status
2. Match between system and real world
3. User control and freedom
4. Consistency and standards
5. Error prevention
6. Recognition rather than recall
7. Flexibility and efficiency of use
8. Aesthetic and minimalist design
9. Help users recognize and recover from errors
10. Help and documentation

## Stats

- **20+** MCP tools
- **6** knowledge domains
- **7** identity dimensions
- **10** heuristics checked

## Tech Stack

TypeScript, MCP SDK, Claude Agent SDK, PostgreSQL, Drizzle ORM, Local ML Processing, Semantic Search, Confidence Scoring, Inter-terminal Messaging, Nielsen's 10 Heuristics
