A conversational agentic platform designed to make financial literacy accessible, actionable, and engaging for youngstars. It explains complex financial concepts in clear, jargon-free language, provides real-life examples with an investment context, and delivers answers in structured formats.
Active Features
- Streaming Responses(SSE): Engage in conversations with LLMs with Chat renders token-by-token from /chat-stream for an interactive user experience.
- Agent Tool Telemetry: Inline stages show what the agent is doing—searching → reading → writing—with tool outputs surfaced where helpful.
- Generative UI-First Rendering: Renders JSON UI specs (charts, tables, KPIs) generated by the agent via C1 UI generation—powered in the app by
@thesysai/genui-sdk.
- Web Search Integration: The Agent can perform web searches (web crawl-based) on demand to provide up-to-date and relevant information, displaying concurrent results to the user.
See the presentation and demo on YouTube: Click here
System Architecture
The server's workflow is orchestrated by a LangGraph state machine:
- Request Handling: A user query is sent to the
/api/v2/chat-stream
endpoint. - Graph Initialization: A new / existing conversational graph is configured. A system prompt (
CUSTOM_SYSTEM_PROMPT
) is injected, instructing the agent to act based on it. - Model Invocation: The agent's core LLM make decision the next step: respond directly or use a tool.
- Tool Routing: If a tool is chosen, the graph routes the state to the
tool_node
. - Tool Execution: The selection tool (
Tavily
, YahooFinanceNews
, or c1_ui_generate
) is executed. - Response Generation: The output from the tool is passed back to the model, which decides whether it is the final response.
- Streaming: Throughout this process, events (
content
, tool_starts
, tool_outputs
, end
) are streamed back to the client as SSE.
[@portabletext/react] Unknown block type "image", specify a component for it in the `components.types` prop
PS: This project originally was a part of a hackathon and is still in its early stage; Star the project on GitHub to follow/contribute alongside ✌️