A modern web application that generates professional CVs from LinkedIn and GitHub profiles.
- Multi-source CV Generation: Combine data from LinkedIn and GitHub profiles
- Real-time GitHub Integration: Automatically fetch repositories, languages, and profile information
- Professional Templates: Clean, print-ready CV layouts
- Export Options: Print or download generated CVs
- Responsive Design: Works seamlessly on desktop and mobile devices
- React 18 with TypeScript
- Vite for fast development and building
- Tailwind CSS for styling
- Axios for API communication
- Flask (Python) REST API
- CORS enabled for cross-origin requests
- GitHub API integration
- Beautiful Soup for web scraping capabilities
- Node.js (v18 or higher)
- Python 3.8+
- npm or yarn
-
Install Frontend Dependencies
npm install
-
Set up Backend
cd backend pip install -r requirements.txt
-
Start the Backend Server
cd backend python app.pyThe Flask server will run on
http://localhost:5000 -
Start the Frontend Development Server
npm run dev
The React app will run on
http://localhost:5173
- Open the application in your browser
- Enter your LinkedIn profile URL (optional)
- Enter your GitHub profile URL (optional)
- Click "Generate CV" to create your professional CV
- Use the Print or Download buttons to save your CV
GET /api/health- Health check endpointPOST /api/generate-cv- Generate CV from provided URLs
loopedin/
├── src/
│ ├── components/
│ │ ├── CVGenerator.tsx
│ │ ├── CVDisplay.tsx
│ │ └── LoadingSpinner.tsx
│ ├── services/
│ │ └── api.ts
│ ├── types/
│ │ └── cv.ts
│ └── App.tsx
├── backend/
│ ├── app.py
│ └── requirements.txt
└── README.md
- LinkedIn scraping is limited due to platform restrictions
- GitHub API has rate limits for unauthenticated requests
- CV templates are currently limited to one design
This project is licensed under the MIT License. { files: ['**/*.{ts,tsx}'], extends: [ // Other configs... // Enable lint rules for React reactX.configs['recommended-typescript'], // Enable lint rules for React DOM reactDom.configs.recommended, ], languageOptions: { parserOptions: { project: ['./tsconfig.node.json', './tsconfig.app.json'], tsconfigRootDir: import.meta.dirname, }, // other options... }, }, ])