An AI-powered cover letter and email generator that helps job seekers create compelling, personalized application materials in seconds.
Epistula leverages advanced language models through LangChain to analyze your resume against job descriptions and generate tailored cover letters and emails. Simply upload your resume, paste a job description, and let AI handle the rest.
- Resume Analysis - Get detailed insights into your resume's strengths and areas for improvement
- ATS Compatibility Check - Ensure your resume passes Applicant Tracking Systems
- Job Match Scoring - See how well your resume matches the job requirements
- AI-Generated Cover Letters - Create professional, customized cover letters instantly
- Email Generation - Generate compelling cover emails for job applications
- User Profiles - Save and manage your resume information
- Application History - Track all your generated cover letters and emails
- Search Similar Jobs (Coming Soon) - Find related job opportunities across the web
- FastAPI - High-performance Python web framework
- LangChain - AI/LLM orchestration and prompt management
- Python 3.11+ - Core backend language
- Next.js - React framework with server-side rendering
- React Query - Powerful data synchronization and caching
- Firebase - Authentication and user management
- Tailwind CSS - Utility-first CSS framework
- shadcn/ui - Beautiful, accessible UI components
- Supabase - PostgreSQL database with real-time capabilities
- Python 3.11 or higher
- Node.js 18 or higher
- npm or yarn package manager
- Navigate to the backend directory:
cd backend- Create and activate a virtual environment:
python -m venv venv
# On Windows
venv\Scripts\activate
# On macOS/Linux
source venv/bin/activate- Install dependencies:
pip install -r requirements.txt- Set up environment variables:
cp example.env .env
# Edit .env with your API keys and configuration- Start the development server:
cd app
uvicorn server:app --reloadThe backend API will be available at http://localhost:8000
- Navigate to the frontend directory:
cd frontend- Install dependencies:
npm install- Set up environment variables:
# Create a .env.local file with your configuration- Start the development server:
npm run devThe frontend will be available at http://localhost:3000
epistula/
├── backend/
│ ├── app/
│ │ ├── pipelines/ # AI processing pipelines
│ │ ├── routes/ # API endpoints
│ │ ├── config.py # Configuration management
│ │ ├── schemas.py # Pydantic models
│ │ └── server.py # FastAPI application
│ └── example.env # Environment template
├── frontend/
│ ├── src/
│ │ ├── app/ # Next.js pages and layouts
│ │ ├── components/ # React components
│ │ ├── hooks/ # Custom React hooks
│ │ ├── services/ # API and external services
│ │ └── lib/ # Utility functions
│ └── package.json
└── README.md
- Sign Up/Login - Create an account or sign in to access the dashboard
- Upload Resume - Upload your resume in PDF or DOCX format
- Paste Job Description - Copy and paste the job description you're applying for
- Analyze - Get instant feedback on ATS compatibility and job match percentage
- Generate - Create a professional cover letter or email with one click
- Download - Save your generated content and track it in your history
Once the backend is running, visit http://localhost:8000/docs for interactive API documentation powered by Swagger UI.
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License.
- Built with LangChain for powerful AI capabilities
- UI components from shadcn/ui
- Icons and design inspiration from modern web applications
For issues, questions, or suggestions, please open an issue on GitHub.
Made with ❤️ for job seekers everywhere