An intelligent credit repair application that uses AI to analyze credit reports, identify violations, and generate dispute letters automatically.
- 🤖 AI-Powered Analysis: Uses Mistral AI to analyze credit documents
- 🔍 Violation Detection: Identifies FCRA, FDCPA, and other legal violations
- 📝 Automated Letter Generation: Creates professional dispute letters
- 🔐 Firebase Authentication: Secure Google sign-in
- 💳 Stripe Payment Integration: Premium subscription model
- 📊 Progress Tracking: Step-by-step workflow management
- Frontend: React 19, TypeScript, Tailwind CSS
- Build Tool: Vite
- Authentication: Firebase Auth
- AI: Mistral AI API
- Payments: Stripe Payment Links
- Hosting: Ready for Vercel/Netlify deployment
git clone https://github.com/coinvest518/credit-analyzer-ai.git
cd credit-analyzer-ainpm installCreate a .env.local file in the root directory:
# Mistral AI API Key
VITE_MISTRAL_API_KEY=your_mistral_api_key_here
# Firebase Configuration
VITE_FIREBASE_API_KEY=your_firebase_api_key
VITE_FIREBASE_AUTH_DOMAIN=your_project.firebaseapp.com
VITE_FIREBASE_PROJECT_ID=your_project_id
VITE_FIREBASE_STORAGE_BUCKET=your_project.appspot.com
VITE_FIREBASE_MESSAGING_SENDER_ID=your_sender_id
# Stripe Configuration
VITE_STRIPE_PAYMENT_LINK=https://buy.stripe.com/your_payment_link
VITE_STRIPE_PUBLISHABLE_KEY=pk_test_your_publishable_key- Create a Firebase project at Firebase Console
- Enable Authentication → Google sign-in method
- Add your domain to authorized domains
- Copy configuration values to
.env.local
- Get API key from Mistral AI Console
- Add to
.env.localasVITE_MISTRAL_API_KEY
- Create Stripe account and payment link
- Set success URL to:
https://yourdomain.com/?payment=success - Add payment link and publishable key to
.env.local
npm run dev- Free Access: Users can explore steps 1-2 without signing in
- Authentication: Required for step 3+ (Google sign-in)
- Payment: Premium subscription required for AI analysis
- Full Access: Complete credit repair workflow
- Push your code to GitHub
- Connect your repo to Vercel
- Set environment variables in Vercel dashboard:
TRUEPLAY_API_KEY(server-side API key for Enable3 integration)- All other env vars from
.env.local
- Deploy
The Enable3 widget will work automatically using Vercel's serverless functions.
npm run build
# Upload dist/ folder to NetlifyNote: For Netlify, you'll need to set up serverless functions separately or use a different approach for the Enable3 API calls.
The Trueplay/Enable3 integration requires X-API-KEY for backend endpoints and server IP whitelisting for security.
Enable3 validates requests based on the server IP address, not the domain. You must whitelist your server IPs in the Trueplay Admin panel.
-
Find your public IP address:
# Windows PowerShell (Invoke-WebRequest -Uri "https://api.ipify.org").Content # Or visit: https://whatismyipaddress.com/
-
Whitelist your IP in Enable3 Admin:
- Log in to https://app.enable3.io
- Go to Admin Panel → Integration Settings → IP Whitelist
- Add your public IP address
- Wait ~5 minutes for changes to apply
-
Add API key to
.env.local:
TRUEPLAY_API_KEY=7f2fe04d-cdf8-4b96-9fa0-c14c0bb1e4ef- Start both servers:
npm run dev:allImportant: Vercel uses dynamic IP addresses, which makes IP whitelisting challenging. You have two options:
Option A: Contact Enable3 Support (Recommended)
- Request to whitelist Vercel's IP ranges or disable IP restrictions for your operator
- Vercel IPs: https://vercel.com/docs/concepts/edge-network/overview
Option B: Use a Static IP Proxy
- Deploy a small proxy service with a static IP (e.g., on AWS EC2, DigitalOcean, Railway)
- Whitelist that static IP in Enable3 Admin
- Point your Vercel function to call this proxy instead of Enable3 directly
After whitelisting your IP and setting the API key:
- Open http://localhost:3000
- Click the "🎮 Play & Earn" button
- Widget should load in a modal overlay
If you get 403 errors:
- Verify your API key is correct
- Confirm your public IP is whitelisted in Enable3 Admin
- Wait 5 minutes after adding IP to whitelist
- Check server logs for detailed error messages
Notes:
- The proxy listens on port
3001by default - Widget opens in a modal overlay with close button
- User IDs are automatically generated (can integrate with Firebase auth later)
src/
├── components/ # React components
│ ├── AuthModal.tsx # Authentication modal
│ ├── PaymentModal.tsx # Payment upgrade modal
│ ├── Header.tsx # App header with auth status
│ └── ...
├── contexts/ # React contexts
│ ├── AuthContext.tsx # Firebase authentication
│ └── PaymentContext.tsx # Stripe payment handling
├── firebase.ts # Firebase configuration
├── App.tsx # Main application component
└── index.tsx # Application entry point
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
MIT License - see LICENSE file for details