AI Assistant

Skyler Assistant

Public portfolio assistant with lightweight orchestration, manual RAG, and provider fallback.

Project Read More

Skyler Assistant

Runtime RAG UI Fallback

Skyler assistant icon

Skyler is the public portfolio assistant for Patrick Araujo, focused on project context, technical stack, professional experience, and contact guidance.

The assistant is designed for predictable orchestration: simple greeting local reply, manual RAG usage, and LLM calls only when needed.

Primary RuntimeCloudflare Worker (TypeScript)
Data LayerD1 + KV (`DB`, `CACHE`, `SESSIONS`)
RAG Sources`manual-rag.ts` + cached pklavc.com pages
FrontendGlobal floating widget + project demo page
VoiceWeb Speech API with female voice preference
ReliabilityProvider fallback and response caching

System Architecture

Skyler separates responsibilities clearly. The frontend handles interaction and voice. The Worker orchestrates memory, intent-aware RAG, and provider calls. The model handles direct answers for off-topic prompts and portfolio-guided answers when portfolio intent is detected.

User (Web UI) -> /chat API -> Worker Orchestrator
Greeting Check -> Portfolio Intent + RAG Gate -> Prompt Builder
Groq Provider or OpenRouter Fallback -> Response + Storage

Runtime Decision Flow

Input arrives -> Simple greeting? yes Fast local greeting reply
If not greeting -> Portfolio question? yes Merge manual RAG + cached site context
If not a portfolio request -> Call LLM directly fail? Use provider fallback

Frontend Experience

  • Floating icon launcher on site pages using /images/icon_skyler.webp
  • Dedicated interactive demo at /projects/skyler-assistant/demo/
  • Enter sends message, Shift+Enter adds line break
  • Optional streaming output and voice output toggle
  • Guest/public usage without mandatory login

Worker and Data Details

  • Entry: src/chatbot/worker/src/index.ts
  • Manual RAG: src/chatbot/worker/src/manual-rag.ts
  • KV cache: response cache, embedding cache, site context cache
  • D1: users, conversations, messages, analytics events, prompt versions
  • Bindings: DB, CACHE, SESSIONS

RAG Coverage

Manual RAG includes identity, role focus, stack, links, companies, impact metrics, and current credential context. It is merged with cached public site pages only when the user is asking about portfolio topics, which keeps off-topic answers direct and reduces unwanted grounding.

  • Identity and positioning (backend, integrations, architecture)
  • Project and blog discoverability guidance
  • Contact and profile references (GitHub, LinkedIn, email)
  • Known credentials, companies, and projects from internal context plus public pages
  • Plain-text response rules for course, company, and project answers

Reliability and Fallback Strategy

  • Primary provider execution path with retry attempts
  • Automatic fallback provider when primary fails
  • Local greeting path plus intent-aware RAG to reduce unnecessary model calls
  • Response caching to minimize repeated token spend

Main Paths

Open Skyler Assistant Demo