Sendit is a Next.js-based platform that streamlines the job application process by integrating a LaTeX CV editor, automated resume generation, and intelligent resume delivery.
sendit.demo.mp4
-
Integrated LaTeX CV Editor: Modify your resume directly from a private GitHub repo.
-
Secure Sharing: Generate short, shareable URLs for your compiled PDF resumes.
-
CI/CD Workflow: Automatically commit changes to a private repo, triggering a GitHub Actions workflow.
-
Cloud-Native Pipeline:
- Self-hosted EC2 GitHub runner compiles LaTeX in Docker.
- Uploads PDF to S3 and metadata to DynamoDB.
- Lambda function shortens the URL and stores final mapping.
-
Resume Management: View and select saved resumes from your dashboard.
-
One-Click Apply: Automatically generates and sends emails with the selected resume and metadata.
The architecture of Sendit integrates Next.js, GitHub, Docker, AWS services, and Lambda functions to deliver a seamless CV management and application workflow.
Ensure you have the following installed:
- Node.js & npm
- AWS CLI configured with necessary permissions
- A GitHub account with a private repo containing LaTeX resume template
-
Clone the repo and navigate to the project:
git clone https://github.com/zk2k2/application-automation-platform.git cd apps/web
-
Install dependencies:
npm install
-
Run the development server:
npm run dev
-
Set up a private GitHub repository to store LaTeX CVs.
-
Configure an AWS account with a role and a policy.
-
Deploy a self-hosted EC2 runner and ensure it has:
- Docker
- A working LaTeX Docker image
-
Set up an S3 bucket and a DynamoDB table
-
Set up a Lambda Function:
- You can find the lambda code inside the src directory
-
Set up the .env and .env.local: You can find examples of the two files at the root of the Next.js app
-
Setup the workflow at ./.github/main.yml in your resume's repo: This will allow the workflow to run on your resume's repo
-
Ready to go! You can automate your way to career stardom 😎
We welcome contributions to improve Sendit! Fork the repository and submit pull requests for review.
This project is licensed under the MIT License - see the LICENSE file for details.
For more information, please contact me via email or connect on LinkedIn.