A web application that automatically anonymizes CVs/resumes using AI. Built with FastAPI and React.
- Upload PDF CVs/resumes
- AI-powered anonymization of personal information
- Maintains formatting and structure
- Download anonymized PDFs
- Modern, responsive UI
- Real-time server status monitoring
- Python 3.8+
- FastAPI
- OpenAI/OpenRouter API
- PyPDF2 for PDF processing
- ReportLab for PDF generation
- React
- TypeScript
- Modern CSS with animations
- Responsive design
- Clone the repository:
git clone <repository-url>
cd PDFAnonymizer- Create and activate a virtual environment:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate- Install dependencies:
cd backend
pip install -r requirements.txt- Create a
.envfile in the backend directory:
OPENAI_API_KEY=your-openrouter-api-key
OPENAI_API_BASE=https://openrouter.ai/api/v1
ORGANIZATION=null
FRONTEND_URL=http://localhost:3000- Start the backend server:
uvicorn main:app --host 0.0.0.0 --port 8001 --reload- Install dependencies:
cd frontend
npm install- Create a
.envfile in the frontend directory:
REACT_APP_API_URL=http://localhost:8001- Start the development server:
npm start- Open your browser and navigate to
http://localhost:3000 - Upload a PDF CV/resume
- Wait for the AI to process and anonymize the document
- Review the anonymized text
- Download the anonymized PDF
POST /api/analyze-cv: Upload and analyze a CVPOST /api/create-pdf: Create a PDF from anonymized textGET /api/health: Health check endpoint
OPENAI_API_KEY: Your OpenRouter API keyOPENAI_API_BASE: OpenRouter API base URLFRONTEND_URL: URL of the frontend application
REACT_APP_API_URL: URL of the backend API
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request
This project is licensed under the MIT License.