AI-Powered Career Assistant | AI้ฉฑๅจ็ๆบ่ฝๆฑ่ๅฉๆ
Resume Analysis, Job Matching, Cover Letter Generation ็ฎๅๅๆใ่ไฝๅน้ ใๆฑ่ไฟก็ๆ
TalentSync is a full-stack web application that helps job seekers improve their success rate through AI technology. The platform provides resume-to-job matching analysis, intelligent cover letter generation, and more. It supports multiple AI models (GPT-4o, GPT-o1, Google Gemini) to help users optimize resumes, target applications, and prepare for interviews.
TalentSync ๆฏไธไธชๅ จๆ Web ๅบ็จ๏ผๅธฎๅฉๆฑ่่ ้่ฟ AI ๆๆฏๆๅๆฑ่ๆๅ็ใๅนณๅฐๆไพ็ฎๅไธ่ไฝๅน้ ๅบฆๅๆใๆบ่ฝๆฑ่ไฟก็ๆ็ญๆ ธๅฟๅ่ฝ๏ผๆฏๆๅค็ง AI ๆจกๅ๏ผGPT-4oใGPT-o1ใGoogle Gemini๏ผ๏ผๅธฎๅฉ็จๆทไผๅ็ฎๅใ็ฒพๅๆ้ใๅๅฅฝ้ข่ฏๅๅคใ
๐ Visit Demo | ่ฎฟ้ฎๆผ็คบ
Currently in test mode - all features are free to experience ๅฝๅไธบๆต่ฏ่ฟ่ฅ็ๆฌ๏ผๆๆๅ่ฝๅ ่ดนๅผๆพไฝ้ช
- ATS Analysis | ATS ๅๆ: Keyword matching, format checking, pass probability assessment
- Ranking Analysis | ๆๅๅๆ: Predict ranking percentile, compare with top candidates
- HR Analysis | HR ๅๆ: First impression assessment, interview recommendation, expression issue identification
- Technical Analysis | ๆๆฏๅๆ: Credibility assessment, risk identification, expected interview questions prediction
- Automatically generate personalized cover letters based on resume and target job
- Highlight relevant experience and skill matching
- Support multiple languages and styles
- One-click PDF export
- Intelligent job description parsing (JD Parsing)
- Structured job information storage
- Job status tracking (Saved, Applied, Interviewing, Offered, Rejected)
- Email registration/login
- Google OAuth 2.0 login
- JWT authentication
- Subscription management (Free, Premium, Enterprise)
- Framework: React 18.2.0
- Routing: react-router-dom v6.30.0
- State Management: Redux Toolkit v2.6.1
- Styling: Tailwind CSS + Material-UI v7.0.0
- Animation: Framer Motion v12.12.1
- PDF Processing: jspdf + html2pdf.js
- Charts: ECharts v5.6.0
- Runtime: Node.js
- Framework: Express.js v4.21.2
- Database: MongoDB + Mongoose v8.13.0
- Authentication: JWT + Google OAuth 2.0 + bcryptjs
- AI Services: OpenAI (GPT-4o, GPT-o1) + Google Gemini
- Payment: Stripe v18.1.0
- File Processing: multer + pdf-parse + pdfkit
- Frontend: Vercel
- Backend: Railway
- Database: MongoDB Atlas
TalentSync/
โโโ backend/ # Backend service
โ โโโ app.js # Express app entry
โ โโโ setup.js # Initialization
โ โโโ models/ # Mongoose models
โ โ โโโ User.js # User model
โ โ โโโ Subscription.js # Subscription model
โ โ โโโ Resume.js # Resume model
โ โ โโโ Analysis.js # Analysis model
โ โ โโโ CoverLetter.js # Cover letter model
โ โ โโโ UserJob.js # User-job relation
โ โโโ controllers/ # Business controllers
โ โโโ routes/ # Route definitions
โ โโโ middleware/ # Middleware
โ โโโ services/ # Business services
โ โโโ config/ # Configuration
โโโ frontend/ # Frontend project
โ โโโ src/
โ โ โโโ pages/ # Page components
โ โ โโโ components/ # Reusable components
โ โ โโโ store/ # Redux state management
โ โ โโโ services/ # API services
โ โโโ public/ # Static assets
โโโ README.md # Project documentation
- Node.js >= 16.0.0
- MongoDB (local or MongoDB Atlas)
- npm or yarn
- Clone the repository
git clone https://github.com/songzhiyuan98/TalentSync.git
cd talentsync- Install backend dependencies
cd backend
npm install- Install frontend dependencies
cd ../frontend
npm install- Configure environment variables
Create backend/.env:
MONGO_URI=mongodb://localhost:27017/talentsync
OPENAI_API_KEY=sk-proj-...
GEMINI_API_KEY=...
JWT_SECRET=your_jwt_secret
PORT=3001
GOOGLE_CLIENT_ID=...
GOOGLE_CLIENT_SECRET=...
API_URL=http://localhost:3001
FRONTEND_URL=http://localhost:3000
STRIPE_SECRET_KEY=sk_test_...
STRIPE_PUBLISHABLE_KEY=pk_test_...
STRIPE_PREMIUM_PRICE_ID=price_...
STRIPE_ENTERPRISE_PRICE_ID=price_...
STRIPE_WEBHOOK_SECRET=whsec_...Create frontend/.env:
REACT_APP_API_URL=http://localhost:3001- Start development servers
Start backend (port 3001):
cd backend
npm startStart frontend (port 3000):
cd frontend
npm start- Access the application
Open http://localhost:3000 in your browser
POST /api/auth/register- User registrationPOST /api/auth/login- User loginGET /api/auth/google- Google OAuth loginGET /api/auth/me- Get current user infoGET /api/auth/logout- Logout
POST /api/resumes/upload- Upload resumeGET /api/resumes- Get all resumesGET /api/resumes/active- Get active resumePUT /api/resumes/:id/set-active- Set active resumeDELETE /api/resumes/:id- Delete resume
POST /api/jobs/parse- Parse job descriptionPOST /api/jobs- Save jobGET /api/jobs/user- Get user's jobsGET /api/jobs/:id- Get job details
POST /api/analysis- Create analysisGET /api/analysis/:id- Get analysis detailsGET /api/analysis- Get user's analyses
POST /api/cover-letters- Generate cover letterGET /api/cover-letters/:id- Get cover letterGET /api/cover-letters/:id/download- Download PDF
POST /api/payment/create-checkout-session- Create payment sessionGET /api/payment/get-subscription-status- Get subscription statusPOST /api/payment/cancel-subscription- Cancel subscription
For more API details, see PROJECT_DOCUMENTATION.md
| Feature | Free | Premium | Enterprise |
|---|---|---|---|
| Gemini Model | โ Unlimited | โ Unlimited | โ Unlimited |
| GPT-4o Analysis | 1/day | โ Unlimited | โ Unlimited |
| GPT-o1 Analysis | โ | โ | โ Unlimited |
| Cover Letter Generation | โ | โ | โ |
- JWT Token authentication
- Password bcrypt encryption
- Google OAuth 2.0 secure login
- Stripe secure payment integration
- File upload size limit (10MB)
- CORS configuration
- Helmet security headers
- Frontend: React functional components only, no class components
- State Management: Redux Toolkit with unified action naming
- API Requests: Use axios, all API paths start with
/api/ - Code Style: ES6+ syntax, use async/await
- Naming: camelCase (variables/functions), PascalCase (component files)
Contributions are welcome! Please feel free to submit a Pull Request.
- 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.
- Email: songzhiyuan98@gmail.com
- Project Link: https://github.com/songzhiyuan98/TalentSync
- Live Demo: https://talentsync-green.vercel.app
- OpenAI - GPT-4o, GPT-o1 API
- Google Gemini - Gemini API
- Stripe - Payment services
- Vercel - Frontend deployment
- Railway - Backend deployment
โญ If this project helps you, please give it a Star! โญ
Made with โค๏ธ by TalentSync Team