Skip to content

Conversation

@roancagu-gsd
Copy link

Description

This React and FastAPI-based demo showcases how to build an immersive, enterprise-grade "AI Wealth Advisor" using the Gemini Live API. It demonstrates a "Thick Server" architecture designed for secure, stateful financial applications where the agent orchestrates tools, data, and UI elements from a secure backend.

Key Features:

Server-Centric Architecture: Unlike client-side demos, this uses a secure backend (FastAPI + Google ADK) to manage state, ensuring business logic and prompts remain protected.

Multimodal Interaction: The assistant streams synchronized events to the client, allowing it to "Speak" naturally while simultaneously rich visual components (Charts, Alerts, Tables) in the React UI.

RAG Integration: The agent can securely "browse" and research a library of financial PDF documents (via Vertex AI Search) to provide grounded investment answers.

Native Audio: Leverages Gemini's native audio capabilities for low-latency (<500ms), expressive voice interactions suitable for real-time conversation.

Session Persistence: User profiles and conversation history are persisted in Firestore, allowing the agent to maintain context across different sessions.

Thank you for opening a Pull Request!
Before submitting your PR, there are a few things you can do to make sure it goes smoothly:

  • Follow the CONTRIBUTING Guide.
  • Ensure the tests and linter pass (Run nox -s format from the repository root to format).
  • You are listed as the author in your notebook or README file.
  • Your account is listed in CODEOWNERS for the file(s).

@roancagu-gsd roancagu-gsd requested a review from a team as a code owner December 12, 2025 20:56
Comment on lines 18 to 19
1. Fork the repository on GitLab.
Clone your fork locally: `git clone [email protected]:google-cloud-ce/communities/genai-fsa/northam/expert_requests/ai-wealth-advisor.git`
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should this be saying the current repository instead?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I will remove the file to avoid confusion with the main one

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants