NoirVest is an intelligent investment platform that leverages AI to simplify and enhance your investment journey. Whether you're a seasoned investor or just getting started, NoirVest provides personalized investment recommendations, market analysis, and portfolio management tools powered by advanced AI agents.
I had the idea to build this because I recently earned some money and was like "I should invest this money", but I am lazy and didn't want to do research so I build this app instead.
- Personalized Portfolio Recommendations: Receive tailored investment suggestions based on your risk profile and financial goals
- Multi-Agent System: Utilizes specialized AI agents for different aspects of investment management
- Interactive Dashboards: Visualize your portfolio performance and market trends with beautiful, interactive charts
- Real-time Market Data: Stay updated with the latest market information and price movements
- Next.js 13+ - React framework for building the user interface
- TypeScript - Type-safe JavaScript for better developer experience
- Radix UI - Accessible, unstyled UI components
- Tailwind CSS - Utility-first CSS framework for styling
- Chart.js - Interactive data visualization
- Next Themes - For dark/light mode support
- Python 3.9+ - Core programming language
- FastAPI - Modern, fast web framework for building APIs
- Google Cloud AI - For advanced AI/ML capabilities
- Google Gemini - AI models for natural language understanding and generation
- Google Cloud Services - For storage, logging, and deployment
- Uvicorn - ASGI server for running FastAPI applications
- Docker - Containerization for consistent development and deployment
- Google Cloud Platform - Hosting and cloud services
- Firebase - Authentication and real-time database (if applicable)
NoirVest/
├── backend/ # Backend services
│ ├── investment_agent/ # AI investment agent implementation
│ │ ├── agent.py # Main agent definitions
│ │ ├── helper_tool.py # Helper functions and tools
│ │ └── instructions/ # Agent instructions and prompts
│ ├── main.py # FastAPI application entry point
│ ├── requirements.txt # Python dependencies
│ └── Dockerfile # Container configuration
│
├── frontend/ # Frontend application
│ ├── components/ # Reusable UI components
│ ├── pages/ # Next.js pages
│ ├── public/ # Static assets
│ ├── styles/ # Global styles
│ ├── package.json # Frontend dependencies
│ └── next.config.js # Next.js configuration
│
└── README.md # Project documentation (you are here)
- Python 3.9 or higher
- Node.js 18+ and npm/yarn
- Google Cloud SDK (for deployment)
- Docker (optional, for containerized development)
-
Clone the repository
git clone https://github.com/yourusername/NoirVest.git cd NoirVest
-
Set up the backend
cd backend python -m venv venv source venv/bin/activate # On Windows: .\venv\Scripts\activate pip install -r requirements.txt
-
Set up the frontend
cd ../frontend npm install
-
Configure environment variables
Create
.env
files in both the backend and frontend directories with the required environment variables.Frontend (
.env.local
):# Firebase Configuration NEXT_PUBLIC_FIREBASE_APP_ID=your_firebase_app_id NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=your_messaging_sender_id NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET=your_storage_bucket NEXT_PUBLIC_FIREBASE_PROJECT_ID=your_project_id NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=your_auth_domain NEXT_PUBLIC_FIREBASE_API_KEY=your_firebase_api_key # API Configuration NEXT_PUBLIC_AGENT_API_URL=your_backend_api_url
Backend (
.env
in the backend directory):# Google Cloud & AI Configuration GOOGLE_GENAI_USE_VERTEXAI=false GOOGLE_API_KEY=your_google_api_key # Financial Data API FINANCIAL_PREP_API_KEY=your_financial_prep_api_key # Server Configuration PORT=8000 DEBUG=true
Note: Replace all placeholder values with your actual configuration. Never commit the actual
.env
files to version control. -
Run the development servers
- Backend:
cd backend uvicorn main:app --reload
- Frontend:
cd frontend npm run dev
- Backend:
-
Access the application
- Frontend: http://localhost:3000
- API Docs: http://localhost:8000/docs
NoirVest utilizes a multi-agent system where each agent specializes in a specific aspect of investment management:
- Planner Agent: Develops the overall investment strategy
- Asset Selector: Identifies promising investment opportunities
- Market Analyzer: Analyzes market conditions and trends
- Portfolio Recommender: Suggests optimal portfolio allocations
- Explainer Agent: Provides clear explanations of investment concepts
- Graph Generator: Creates visual representations of data and trends
- Democratizing Investment: Makes sophisticated investment strategies accessible to everyone
- Data-Driven Decisions: Leverages real-time market data and AI analysis
- Transparent: Clear explanations for all recommendations
- Customizable: Adapts to your unique financial situation and goals
- Secure: Built with security best practices in mind
This project is licensed under the MIT License - see the LICENSE file for details.
- Built with ❤️ using cutting-edge AI and web technologies
- Special thanks to the open-source community for their invaluable contributions
Contributions are welcome! Please read our contributing guidelines to get started.
For any inquiries or support, please contact [email protected].