Quill is an intelligent job application automation system that streamlines the process of applying to multiple job positions. It uses AI to fill out job applications automatically while providing real-time status updates through a modern web interface.
Watch our demo to see Quill in action:
- Dominic @reb0und - Backend Developer, Freshman at Stevens
- Saaim @saaimk1 - Frontend Developer & Data Engineer, Junior at Rutgers
- Sameel @sameelarif - Software Developer, Junior at Rutgers
graph TD
A[User] -->|Uploads Resume| B[Upload Page]
B -->|Processes| C[AI Model Selection]
C -->|Initiates| D[Application Process]
D -->|WebSocket Updates| E[Status Dashboard]
D -->|Completes| F[Applied Jobs]
- Users begin by uploading their resume in PDF, DOC, or DOCX format
- The system processes and extracts relevant information from the resume
- Maximum file size: 10MB
- Users can choose different AI models optimized for various job types:
- General Applications
- Technical Positions
- Creative Roles
- etc.
The application uses WebSocket connections to provide real-time updates on the application process. Status types include:
Status | Description |
---|---|
Initializing | Starting the application process |
Filling Out Form | AI is completing application fields |
Uploading Resume | Submitting documents |
Completed | Application successfully submitted |
The system uses a WebSocket server at port 8080 that handles three types of events:
// New job listing being processed
{
type: "job_listing",
data: {
company: string,
jobTitle: string,
url: string,
location: string,
status: string
}
}
// Status update for existing application
{
type: "status",
data: {
company: string,
jobTitle: string,
url: string,
location: string,
status: string
}
}
// Application completion notification
{
type: "finished",
data: {
company: string,
jobTitle: string,
url: string,
location: string,
status: string
}
}
The application features a modern, responsive interface with:
- Dark theme optimized for reduced eye strain
- Real-time status updates with color-coded indicators
- Compact URL display showing only domain names
- Mobile-responsive tables with horizontal scrolling
- Progress tracking for each application stage
The backend service that handles resume processing, AI-powered form filling, and WebSocket communication can be found at github.com/quill-co/quill-backend. This service is responsible for:
- Processing uploaded resumes
- Running AI models for form completion
- Managing WebSocket connections
- Handling the job application automation
- Providing real-time status updates
- Frontend: Next.js with TypeScript
- UI Components: Custom components with Tailwind CSS
- Real-time Updates: WebSocket protocol
- State Management: React hooks (useState, useEffect)
- Routing: Next.js App Router
- Styling: Tailwind CSS with custom gradients and animations
First, run the development server:
npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun dev
Open http://localhost:3000 with your browser to see the result.
You can start editing the page by modifying app/page.tsx
. The page auto-updates as you edit the file.
This project uses next/font
to automatically optimize and load Geist, a new font family for Vercel.
To learn more about Next.js, take a look at the following resources:
- Next.js Documentation - learn about Next.js features and API.
- Learn Next.js - an interactive Next.js tutorial.
You can check out the Next.js GitHub repository - your feedback and contributions are welcome!
The easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.
Check out our Next.js deployment documentation for more details.