Skip to content

N-Rocky/quickvest

Repository files navigation

QuickVest AI

An AI-powered investment account opening platform built with Next.js and Google Gemini AI.

Overview

QuickVest AI streamlines the investment account creation process using artificial intelligence to guide users through identity verification, document uploads, and personalized investment recommendations.

Features

  • 🤖 AI-Powered Chat Assistant - Real-time investment advice using Google Gemini AI
  • 🔐 Secure Authentication - User login and registration with session persistence
  • 📸 AI Identity Verification - Automated selfie and ID document verification using Gemini Vision
  • 📄 Document Management - Secure upload of investment-related documents
  • 🎯 Personalized Recommendations - AI-generated investment strategies based on user profile
  • 💾 Progress Persistence - Save and resume your application across sessions
  • 📱 Responsive Design - Works seamlessly on desktop and mobile devices

Tech Stack

  • Framework: Next.js 14 (React)
  • Language: TypeScript
  • Styling: Tailwind CSS
  • Animations: Framer Motion
  • AI Integration: Google Gemini API
    • gemini-2.5-flash for chat and recommendations
    • gemini-2.5-flash for image verification (identity & documents)

AI & API Attribution

This project utilizes the following AI services:

Google Gemini API

  • Provider: Google AI Studio
  • Models Used:
    • gemini-2.5-flash: Powers the AI chat assistant and generates personalized investment recommendations
    • gemini-2.5-flash (Vision): Analyzes selfies and ID documents for identity verification
  • Documentation: Gemini API Docs
  • Get API Key: Google AI Studio

AI Development Tools

  • AI Assistant Used: Claude (Anthropic) via Cursor IDE
  • Purpose: Code generation, debugging, and development assistance

Getting Started

Prerequisites

Installation

  1. Go to your terminal and clone the repository:
git clone https://github.com/N-Rocky/quickvest.git
cd quickvest
  1. Install dependencies:
npm install
  1. Create a .env.local file under the quickvest directory and copy and paste the following in:
NEXT_PUBLIC_GEMINI_API_KEY=your_gemini_api_key_here
GEMINI_API_KEY=your_gemini_api_key_here
  1. Run the development server in the terminal:
npm run dev
  1. Open http://localhost:3000 in your browser

Project Structure

quickvest/
├── app/                      # Next.js app directory
│   ├── api/                  # API routes
│   │   ├── chat/            # AI chat endpoint
│   │   ├── verify-selfie/   # Selfie verification endpoint
│   │   └── verify-id/       # ID verification endpoint
│   ├── page.tsx             # Main application page
│   └── layout.tsx           # Root layout
├── components/              # React components
│   ├── steps/              # Multi-step form components
│   ├── Header.tsx          # App header with logout
│   ├── PersistentChatbot.tsx  # AI chat assistant
│   └── AuthModal.tsx       # Login/register modal
├── hooks/                   # Custom React hooks
│   ├── useAuth.ts          # Authentication hook
│   └── useFormData.ts      # Form state management
├── utils/                   # Utility functions
│   └── geminiService.ts    # Gemini API service
└── public/                  # Static assets

Key Features Explained

AI Chat Assistant

  • Powered by Google Gemini's gemini-2.5-flash model
  • Provides real-time investment advice and answers questions
  • Context-aware responses based on user's profile
  • Persists chat history across sessions

Identity Verification

  • Selfie Verification: Uses Gemini Vision to verify that the uploaded image contains a real human face
  • ID Document Verification: Analyzes government-issued IDs (driver's license, passport, etc.) using Gemini Vision
  • Real-time verification feedback with confidence scores
  • "Previously Verified" status for returning users

User Authentication

  • Secure login and registration system
  • Session persistence across browser tabs
  • User-specific data storage in localStorage
  • Automatic logout and session cleanup

Progress Saving

  • All form data is automatically saved to localStorage
  • Each user has their own isolated data
  • Resume your application exactly where you left off
  • Completed steps remain marked even after logout

API Usage & Rate Limits

This application makes API calls to Google Gemini for:

  • Chat messages (1 request per message)
  • Identity verification (2 requests per verification: selfie + ID)
  • Investment recommendations (1 request per generation)

Branding

This project uses Fidelity-inspired branding:

  • Font: Fidelity Sans (loaded from Fidelity CDN)
  • Colors: Fidelity green palette (#006044, #76a923, #E4F5DD)
  • Logo: Custom Fidelity "F" logo

License

MIT License

Copyright (c) [year] [fullname]

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Acknowledgments

  • AI Development: Claude (Anthropic) via Cursor IDE
  • AI Services: Google Gemini API
  • UI Design: Inspired by Fidelity Investments
  • Icons: Lucide React
  • Animations: Framer Motion

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published