A modern, AI-powered loan prediction and management system with multi-language support and an intelligent digital assistant.
- Smart Prediction Engine: Leverages advanced machine learning to analyze your loan eligibility in real-time
- Confidence Scoring: Get detailed insights into your application's approval probability
- Personalized Recommendations: Receive tailored suggestions to improve your loan application
- Instant Results: No waiting - get your loan eligibility assessment in seconds
- Multilingual Support: Natural conversation in 11 Indian languages
- Real-time Voice & Text Interaction: Seamless communication through voice or text
- Context-Aware Responses: Intelligent understanding of loan-related queries
- Dynamic Facial Expressions: Emotional intelligence in responses
- Lip-Synchronized Speech: Natural speaking avatar
- Persistent Chat History: Save and review past conversations
- Real-time Translation: Instant translation between languages
- Speech Recognition: Accurate voice input processing
- 11 Indian Languages: Access the platform in your preferred language
- Real-Time Translation: Powered by Sarvam AI's cutting-edge translation technology
- Natural Language Processing: Understand complex financial terms in your native language
- Instant Language Switching: Switch languages without losing your progress
- Bank-Level Authentication: Secure login powered by Supabase
- Protected Data: Your sensitive information is encrypted and secure
- Secure Document Handling: Safe upload and storage of your documents
- Role-Based Access: Different access levels for users and administrators
- Stunning Animations: Smooth transitions and interactions powered by Framer Motion
- Responsive Design: Perfect experience on any device, from mobile to desktop
- Dark Mode: Eye-friendly interface with dark mode support
- Interactive Components: Engaging UI elements that make the process enjoyable
- Real-Time Tracking: Monitor your loan application status in real-time
- Smart Analytics: Visual insights into your financial profile
- Document Management: Easy upload and organization of required documents
- Financial Education: Access to curated financial literacy resources
- Endpoint:
POST /translate - Purpose: Translates text between different languages
- Supported Languages: 11 Indian languages including Hindi, Tamil, Telugu, Malayalam, Kannada, Bengali, Marathi, Gujarati, Punjabi, Odia, and Assamese
- Rate Limits: 1000 requests per minute
- Response Time: < 500ms
- Error Handling: Retries on 5xx errors with exponential backoff
- Endpoint:
POST /transliterate - Purpose: Converts text between different scripts
- Supported Scripts: Devanagari, Tamil, Telugu, Malayalam, Kannada, Bengali
- Rate Limits: 2000 requests per minute
- Response Time: < 300ms
- Error Handling: Automatic script detection
- Endpoint:
POST /speech-to-text - Purpose: Converts spoken audio to text
- Supported Audio Formats: WAV, MP3, M4A
- Maximum Audio Length: 5 minutes
- Supported Languages: All 11 Indian languages
- Rate Limits: 100 requests per minute
- Response Time: < 2 seconds for 1-minute audio
- Endpoint:
POST /speech-to-text-translate - Purpose: Converts speech to text and translates it
- Supported Audio Formats: WAV, MP3, M4A
- Maximum Audio Length: 5 minutes
- Supported Language Pairs: All combinations of 11 Indian languages
- Rate Limits: 50 requests per minute
- Response Time: < 3 seconds for 1-minute audio
- Endpoint:
POST /text-to-speech - Purpose: Converts text to natural-sounding speech
- Supported Languages: All 11 Indian languages
- Voice Options: Multiple voices per language
- Audio Format: MP3, WAV
- Rate Limits: 500 requests per minute
- Response Time: < 1 second for 100 characters
- Framework: React 18 with TypeScript
- Build Tool: Vite
- Styling: Tailwind CSS
- State Management: React Context
- Routing: React Router v6
- Animations: Framer Motion
- UI Components: Custom components with Tailwind
- Authentication: Supabase Auth
- File Upload: React Dropzone
- Notifications: React Hot Toast
- 3D Rendering:
- Three.js
- React Three Fiber
- React Three Drei
- Ready Player Me Avatar Creator
- Development Tools:
- ESLint
- Prettier
- TypeScript
- Framework: FastAPI
- ML Framework: scikit-learn
- Database: Supabase
- File Storage: Supabase Storage
- AI Services:
- Groq LLM (Mixtral-8x7b-32768)
- Sarvam AI Services
- Data Validation: Zod
- Development Tools:
- Nodemon
- dotenv
- Model: Random Forest Classifier
- Preprocessing: StandardScaler
- Features:
- Age
- Experience
- Income
- Family size
- Credit card spending
- Education level
- Mortgage value
- Account types
- Online banking usage
- Language Model: Groq Mixtral-8x7b-32768
- Speech Services:
- Text-to-Speech: Sarvam AI
- Speech Recognition: Sarvam AI
- Language Processing:
- Translation: Sarvam AI
- Language Detection: Sarvam AI
- Text Analytics: Sarvam AI
- Avatar System: Ready Player Me
- 3D Rendering: Three.js
- Lip Sync: Rhubarb Lip Sync
- Post-processing: React Three Postprocessing
- Node.js (v16 or higher)
- Python (v3.8 or higher)
- npm or yarn
- Supabase account
- Sarvam AI API key
-
Clone the repository
git clone https://github.com/HackStyx/loan-genie.git cd loan-genie -
Install Frontend Dependencies
npm install # or yarn install -
Install Python Dependencies
cd "Loan Prediction model" pip install -r requirements.txt
-
Environment Setup
# Frontend cp .env.example .env # Backend cd "Loan Prediction model" cp .env.example .env
-
Start Development Servers
# Terminal 1 - Frontend npm run dev # Terminal 2 - Backend cd "Loan Prediction model" python api.py
VITE_SUPABASE_URL=your_supabase_url
VITE_SUPABASE_ANON_KEY=your_supabase_anon_key
VITE_GROQ_API_KEY=your_groq_api_key
VITE_SARVAM_API_KEY=your_sarvam_api_keyALLOWED_ORIGINS=http://localhost:5173,https://your-production-domain.com
MODEL_PATH=loan_prediction_model.joblib
SCALER_PATH=scaler.pkl
HOST=0.0.0.0
PORT=8000
DEBUG=False
SECRET_KEY=your-secret-key-here
API_KEY=your-api-key-hereloan-genie/
βββ src/
β βββ components/
β β βββ ui/ # Reusable UI components
β β β βββ Button.tsx
β β β βββ Input.tsx
β β β βββ Card.tsx
β β β βββ ...
β β βββ Dashboard.tsx # Main dashboard component
β β βββ LoanApplication.tsx # Loan application form
β β βββ LoanEligibility.tsx # Loan eligibility checker
β β βββ SignUp.tsx # User registration
β β βββ Login.tsx # User authentication
β β βββ Profile.tsx # User profile management
β βββ contexts/ # React contexts
β β βββ AuthContext.tsx # Authentication context
β β βββ ThemeContext.tsx # Theme management
β βββ lib/ # Utility functions
β β βββ supabase.ts # Supabase client setup
β β βββ api.ts # API integration
β β βββ utils.ts # Helper functions
β βββ types/ # TypeScript type definitions
β β βββ index.ts
β βββ styles/ # Global styles
β β βββ globals.css
β βββ App.tsx # Main application component
β βββ main.tsx # Application entry point
βββ Loan Prediction model/ # Backend ML model
β βββ api.py # FastAPI application
β βββ loan_predictor.py # ML model implementation
β βββ requirements.txt # Python dependencies
β βββ loan_prediction_model.joblib # Trained model
β βββ scaler.pkl # Feature scaler
βββ public/ # Static assets
β βββ images/
β βββ favicon.ico
βββ .env.example # Environment variables template
βββ .gitignore # Git ignore rules
βββ index.html # HTML entry point
βββ package.json # Frontend dependencies
βββ tsconfig.json # TypeScript configuration
βββ vite.config.ts # Vite configuration
βββ tailwind.config.js # Tailwind CSS configuration
βββ README.md # Project documentation
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Supabase for authentication and storage
- Sarvam AI for translation services
- Tailwind CSS for styling
- FastAPI for the backend framework
