Back to Projects
InternalInternal — Enterprise

AI Search Platform

Multi-Source Agentic Research Engine

Enterprised Perplexica (open-source AI search) for internal use by adding agentic query classification, multi-source routing, streaming cited answers with contextual widgets, and an MCP server for direct AI assistant integration. Deployed across 3 AWS accounts with hub-and-spoke Terraform.

Internal teams needed a unified search tool that could surface information from multiple source types with rich context, not just keyword matching. No existing solution combined query classification, multi-source routing, and contextual widgets.

Next.jsPostgreSQLDrizzleSearxngTypeScriptMCP

Lead engineer. Full-stack app, agentic search pipeline, model provider abstraction, MCP server, and hub-and-spoke Terraform across 3 AWS accounts.

3
AWS Accounts
3
Search Sources
3+
LLM Providers

Highlights

01

Agentic query classification

LLM classifies each query to determine the best search sources (web, academic, discussions) and which contextual widgets to display. Generates standalone reformulations for better retrieval quality

02

Real-time streaming with citations

Responses stream in chunks with source attribution and provenance tracking. Intermediate reasoning blocks show the agent's search process transparently

03

Contextual widget system

Weather, interactive stock charts, calculations, and curated news inject automatically based on query classification, driven by classification rather than keyword matching

04

Dual API exposure

REST endpoints for the web interface plus an MCP server for direct AI assistant integration. API key management with usage analytics and daily stats

05

Reusable SSO Terraform module

Built a 13-task Entra ID Terraform module from scratch: app registration, Graph API permissions, RBAC groups, Secrets Manager integration, feature-flagged across DEV/STG/PRD. Hub-and-spoke CI/CD account assumes deployment roles into target accounts

06

Tech Stack

Frontend:Next.jsReact 19TypeScriptTailwind CSSRecharts
Backend:Next.js API RoutesDrizzle ORMPostgreSQLZod
Search & AI:SearXNGAWS BedrockAnthropicMCP Protocol
Infrastructure:Auth.js v5ECS FargateTerraformCloudFront