RankKit is a comprehensive AI-powered SaaS platform that optimizes content across three key areas: Career Tools (resumes, cover letters, interview prep, job search), Workplace Tools (cold emails, sales scripts, selling points, persuasion tactics), and Social Media Tools (Instagram, TikTok, YouTube, Twitter optimization). Features include intelligent content analysis, ATS optimization, engagement scoring, document management, version history, and export functionality.
- Payment Integration - Stripe setup for premium subscriptions
- Premium Tier Enforcement - Enforce usage limits per subscription plan
- Email Verification - Verify email addresses on signup
- Legal Pages - Privacy Policy, Terms of Service
- Edge Case Testing - Test with various document types/sizes
- Security Audit - Review API keys, permissions, data access
- User Onboarding - Welcome flow for new users
- Help Documentation - In-app help & FAQ
- Mobile Responsiveness - Full mobile testing & optimization
- Performance Testing - Load testing & optimization
- Bug Fixes - QA testing & fix remaining issues
- Monitoring Setup - Error tracking & analytics
- Analytics Dashboard - Track user behavior & engagement
- User Feedback System - In-app feedback/surveys
- Email Notifications - Send alerts for subscription/usage
- Accessibility - WCAG compliance improvements
- Dark Mode - Dark theme support
- Export PDF/DOCX - Advanced document export
- ✅ 11 AI-powered tools with save-to-documents
- ✅ Document management system
- ✅ User authentication (Email + Google)
- ✅ User profiles with bio
- ✅ Responsive design
- ✅ Error boundaries & error handling
- ✅ Request caching & optimization
- ✅ Version history tracking
- 📤 Upload documents (TXT, PDF, DOCX) or paste text
- 📁 Organize documents by type (resume, post, other)
- 📝 Edit and manage all documents in one place
- 🗑️ Delete documents with cascade deletion of versions
- 🎯 Resume Optimization - Match resumes to job postings with ATS scoring
- ✉️ Cover Letter Generation - Create personalized cover letters
- 💼 Interview Prep - Get questions, answers, and preparation strategies
- 🔍 Job Search Assistant - Strategic guidance for job applications
- 📧 Cold Email Generator - Craft compelling outreach emails
- 💬 Sales Script Builder - Generate persuasive sales conversations
- 💡 Selling Points Finder - Extract key value propositions
- 🎯 Persuasion Tactics - Apply proven influence techniques
- 📝 Professional Writing - Negotiate, apologize, and communicate effectively
- 📱 Multi-Platform Optimization - Instagram, TikTok, YouTube, Twitter/X
- #️⃣ Hashtag Generation - Smart hashtag recommendations
- 📊 Engagement Scoring - Predict and maximize engagement (0-100)
- 💡 Content Enhancement - AI-powered improvement suggestions
- 🎨 Platform-Specific Strategies - Tailored optimization for each platform
- 📜 Track all optimization versions
- 🔄 Compare original vs optimized side-by-side
- 💾 Auto-save every optimization
- 📈 View version history per document
- 📋 Copy to clipboard
- 💾 Export as .txt files
- 🔄 Save optimized versions to library
- 🎨 Clean, modern interface
- 📱 Fully responsive design
- ⚡ Fast, optimized performance
- 🔒 Secure authentication (Email + Google)
- 🚨 Error boundaries with graceful fallbacks
- ♻️ Request caching for better performance
- Frontend: React 19, TypeScript
- Routing: React Router 7
- Backend: Firebase (Auth + Firestore)
- AI: OpenAI GPT-4
- Styling: Custom CSS
- Testing: Jest, React Testing Library
- Deployment: GitHub Actions → GitHub Pages
- Node.js 18+ and npm
- Firebase account
- OpenAI API key
-
Clone the repository
git clone https://github.com/ayersdecker/rankkit.git cd rankkit -
Install dependencies
npm install
-
Create Firebase Project
- Go to Firebase Console
- Create new project "RankKit"
- Enable Authentication:
- Email/Password
- Google Sign-In
- Create Firestore database (production mode)
- Get your Firebase config from Project Settings
-
Get OpenAI API Key
- Go to OpenAI Platform
- Create new API key
- Copy the key
-
Configure Environment
Edit
src/config.ts:export const firebaseConfig = { apiKey: "YOUR_FIREBASE_API_KEY", authDomain: "YOUR_PROJECT_ID.firebaseapp.com", projectId: "YOUR_PROJECT_ID", storageBucket: "YOUR_PROJECT_ID.appspot.com", messagingSenderId: "YOUR_MESSAGING_SENDER_ID", appId: "YOUR_APP_ID" }; export const OPENAI_API_KEY = "YOUR_OPENAI_API_KEY";
-
Run Development Server
npm start
npm testFor coverage report:
npm test -- --coveragerankkit/
├── src/
│ ├── components/
│ │ ├── Auth/ # Login & Signup
│ │ ├── Dashboard/ # Main dashboard, documents, optimization, profile
│ │ └── Shared/ # Reusable components (ErrorBoundary, Loading)
│ ├── services/
│ │ ├── firebase.ts # Firebase initialization
│ │ ├── firestore.ts # Firestore CRUD operations
│ │ └── openai.ts # OpenAI API integration
│ ├── hooks/
│ │ └── useAuth.tsx # Authentication hook
│ ├── utils/
│ │ └── fileUtils.ts # File handling utilities
│ ├── types/
│ │ └── index.ts # TypeScript type definitions
│ ├── App.tsx # Main app component
│ └── config.ts # Configuration
├── public/ # Static assets
└── package.json
- ✅ Input validation
- ✅ Retry logic with exponential backoff
- ✅ Request caching (5 min TTL)
- ✅ Error handling with custom error types
- ✅ Score clamping (0-100)
- ✅ 30-second timeout
- ✅ Rate limit handling
- ✅ CRUD operations for documents
- ✅ Version history management
- ✅ Batch deletion (cascade delete)
- ✅ Input validation
- ✅ User statistics
- ✅ Usage count tracking
- ✅ Custom error types
- ✅ Logging
-
Enable GitHub Pages
- Go to repo Settings → Pages
- Source: "GitHub Actions"
-
Push to main branch
git push origin main
-
Access your site
The GitHub Actions workflow automatically builds and deploys on every push to main.
- 3 optimizations per month
- Unlimited document storage
- All features included
- ResumeRank: $25/month - Unlimited resume optimizations
- PostRank: $20/month - Unlimited post optimizations
- Bundle: $35/month - Both tools + save $10/month
- API Errors: Graceful error messages with retry logic
- Validation Errors: Clear, actionable error messages
- Network Errors: Automatic retry with exponential backoff
- UI Errors: Error boundaries prevent app crashes
- Rate Limits: User-friendly messages with guidance
- ✅ Request caching (5-minute TTL)
- ✅ Lazy loading of components
- ✅ Optimized Firebase queries
- ✅ Batch operations for deletions
- ✅ Debounced search/filter operations
- ✅ CSS optimizations
- ✅ Firebase Authentication (Email + Google)
- ✅ Protected routes
- ✅ User-scoped data access
- ✅ Input validation and sanitization
- ✅ Content length limits
- ✅ API key protection (server-side recommended for production)
- PDF/DOCX parsing (add
pdf-parseandmammoth) - Export as PDF/DOCX
- Stripe payment integration
- A/B testing for social posts
- Analytics dashboard
- Team collaboration
- Scheduled optimizations
- Multi-language support
- Dark mode
- Fork the repository
- Create feature branch (
git checkout -b feature/AmazingFeature) - Commit changes (
git commit -m 'Add AmazingFeature') - Push to branch (
git push origin feature/AmazingFeature) - Open Pull Request
This project is private and proprietary.
For issues or questions, contact: ayersdecker@gmail.com
Built with ❤️ by Decker Ayers