Interview Kickstart · Applied Agentic AI for SWEs · Capstone

Finnie

AI Finance Education
Assistant

A conversational multi-agent system with hybrid orchestration — routes every query to two or more specialized agents, then synthesizes a single coherent answer.

LangGraph LangChain RAG Pydantic yfinance Alpha Vantage Streamlit Hugging Face Spaces
Product

Three Tabs, Six Agents

💬 Chat

Conversational interface with memory across turns. Always routes to ≥ 2 agents. Agent badges show exactly which specialists answered.

📊 Portfolio

Paste holdings in any format. LLM parses it, fetches live prices, scores diversification, shows sector breakdown with charts.

📈 Market

Real-time quote for any company — ticker or name. 52-week range gauge, 30-day price history chart, AI narrative analysis.

Six Specialized Agents

QA Financial knowledge RAG
Portfolio Live analysis + scoring
Market Real-time data + 52w/P/E
Goal Savings plan math
News Headlines + sentiment
Tax Capital gains, IRA, 401k
Architecture

System Design

👤 User

Browser — Hugging Face Spaces

Streamlit Web App

Chat tab · Portfolio tab · Market tab

chat_invoke() — Hybrid Router

19 keyword patterns → Smart Fan-Out (parallel ≥ 2 agents)  ·  context-dependent keywords → ReAct (sequential)

↙ fan-out↘ sequential

Smart Fan-Out Graph

Param Extractor → Smart Fan-Out Node → Tools (parallel) → Synth

ReAct Graph

Param Extractor → Agent Node ⟷ Tool Node · MemorySaver per session

QA

RAG

Portfolio

yfinance

Market

Alpha Vantage

Goal

Math

News

RSS feeds

Tax

Rules

Claude (Anthropic)

LLM · structured output · tool routing

Vector Store

RAG knowledge base

Market APIs

yfinance · Alpha Vantage

Workflow

Two LangGraph Paths · Hybrid Routing

SMART FAN-OUT · DEFAULT PATH START Param Extractor goal · savings · risk · portfolio · age Smart Fan-Out Node LLM selects ≥ 2 tools via 9 routing rules ── parallel execution ── Tool A e.g. analyze_portfolio Tool B e.g. plan_financial_goal Tool C e.g. get_tax_education Synth Node LLM merges all results → one answer END REACT SEQUENTIAL · CONTEXT PATH P/E · rate hike · dividend · 52-week · drops · allocation · compare START Param Extractor goal · savings · risk · portfolio · age Agent Node Claude LLM · bound tools · must call ≥ 2 Tool Node executes chosen agent · result feeds back END final answer no tool call tool call result → loop
chat_invoke() routes via 19 keyword patterns · both graphs share MemorySaver state · portfolio · age across turns
Live Demo

Demo Flow

1

ChatGeneral Q&AQA + Goal
"What is compound interest?" — RAG + educational context

2

ChatRetirement goal — aggressive riskGoal + Tax
"I'm 50, have $600K, want $3M in 20 years — am I on track?"

3

ChatPortfolio + market scenarioPortfolio + Market
"AAPL:100, NVDA:50, MSFT:200 — if Nvidia drops 15%, how am I affected?"

4

PortfolioLive diversification analysis
Paste any format — sector charts, diversification score, live prices

5

Chat401k projection modeGoal + Tax
"I'm 25, $7K/yr 401k + $11K employer match. How much by 2050?"

💚

Thank You

Built end-to-end for the Applied Agentic AI for SWEs capstone at Interview Kickstart

Questions?

LangGraph Claude RAG Streamlit
1 / 5