An intelligent job application tracking system with automated follow-up reminders
ApplicationPilot is a comprehensive automation solution designed to streamline the job search process. It eliminates the hassle of manually tracking applications and ensures you never miss an important follow-up opportunity.
The system consists of two intelligent workflows that work together to capture, store, and manage your job applications while automatically reminding you to follow up with employers at the optimal time.
Job seekers often struggle with:
- Keeping track of multiple applications across different companies
- Remembering to follow up after 7-10 days (the recommended timeframe)
- Maintaining organized records of application details and contacts
- Missing opportunities due to forgotten follow-ups
ApplicationPilot automates the entire tracking and follow-up process, allowing you to focus on preparing for interviews rather than managing spreadsheets.
- Beautiful submission form - Clean, responsive HTML form for logging applications
- Automatic data logging - All applications stored in Google Sheets with timestamps
- Instant confirmation emails - Receive immediate confirmation when an application is logged
- Smart follow-up system - Automated reminders sent 7 days after application
- Status tracking - Monitor application progress (Applied, Interview, Rejected, Offer)
- No-duplicate reminders - Tracks which applications have received follow-up reminders
- Daily scheduled checks - Runs automatically every day at 9:00 AM
- Intelligent filtering - Only reminds about applications that need attention
- Auto-update tracking - Marks applications as "followed up" after reminder is sent
- Customizable timing - Easy to adjust the follow-up period
- n8n - Workflow automation platform
- Google Sheets API - Data storage and management
- Gmail API - Email notifications and reminders
- JavaScript - Custom logic and date calculations
- HTML/CSS - Front-end form interface
- Google OAuth 2.0
- RESTful webhooks
- Cloud-based automation
โโโโโโโโโโโโโโโโโโโ
โ HTML Form โ
โ (User Input) โ
โโโโโโโโโโฌโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโ
โ Webhook โ
โ (n8n Trigger) โ
โโโโโโโโโโฌโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโ
โ Google Sheets โโโโโโโโโค Schedule Triggerโ
โ (Data Store) โ โ (Daily 9 AM) โ
โโโโโโโโโโฌโโโโโโโโโ โโโโโโโโโโฌโโโโโโโโโโ
โ โ
โผ โผ
โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโ
โ Gmail (Send) โ โ Read & Filter โ
โ Confirmation โ โ Applications โ
โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโฌโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโ
โ Code Node โ
โ (Date Filter) โ
โโโโโโโโโโฌโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโ
โ Gmail (Send) โ
โ Reminder โ
โโโโโโโโโโฌโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโ
โ Update Sheet โ
โ (Mark Sent) โ
โโโโโโโโโโโโโโโโโโโโ
- User submits job application via HTML form
- Webhook receives form data
- Data logged to Google Sheets with timestamp
- Confirmation email sent to user
- Schedule trigger runs daily at 9:00 AM
- Retrieves all applications from Google Sheets
- Filters for applications that:
- Are 7+ days old
- Status = "Applied"
- No follow-up reminder sent yet
- Sends reminder email with application details
- Updates sheet to mark reminder as sent
Workflow 2: Follow-up Automation
[]
- n8n instance (cloud or self-hosted)
- Google account
- Google Cloud project with enabled APIs:
- Google Sheets API
- Google Drive API
- Gmail API
- Go to Google Cloud Console
- Create a new project or select existing one
- Enable required APIs:
- Google Sheets API
- Google Drive API
- Gmail API
- Create OAuth 2.0 credentials:
- Go to "Credentials" โ "Create Credentials" โ "OAuth client ID"
- Choose "Web application"
- Add authorized redirect URI:
https://your-n8n-instance.com/rest/oauth2-credential/callback - Save Client ID and Client Secret
- Create a new Google Sheet
- Add these column headers:
- Timestamp
- Company Name
- Position
- Date Applied
- Contact Email
- Your Email
- Status
- Follow-up Sent
- Import the workflow JSON (provided in
/workflowsfolder) - Configure Google Sheets credential
- Configure Gmail credential
- Update webhook URL in HTML form
- Activate workflow
- Import the workflow JSON
- Configure Google Sheets credential
- Configure Gmail credential
- Set desired schedule time
- Update Code node if needed (default: 7 days)
- Activate workflow
- Update the webhook URL in
job-application-form.html - Deploy to:
- GitHub Pages
- Netlify
- Vercel
- Or any static hosting service
ApplicationPilot/
โโโ README.md
โโโ workflows/
โ โโโ form-handler.json
โ โโโ follow-up-reminders.json
โโโ form/
โ โโโ job-application-form.html
โโโ screenshots/
โ โโโ form.png
โ โโโ google-sheet.png
โ โโโ workflow-1.png
โ โโโ workflow-2.png
โโโ docs/
โโโ SETUP.md
- Analytics Dashboard - Visualize application metrics and trends
- LinkedIn Integration - Auto-import job postings
- AI-Powered Insights - Suggest optimal follow-up times based on industry
- Interview Scheduler - Calendar integration for interview tracking
- Company Research Notes - Store and organize company research
- Weekly Summary Reports - Digest of application activity
- Mobile App - Native mobile interface
- Chrome Extension - One-click application logging
- LinkedIn API
- Indeed API
- Glassdoor API
- Calendar APIs (Google Calendar, Outlook)
- Notion API (for detailed note-taking)
Building ApplicationPilot taught me valuable skills in:
- Workflow Automation: Designing and implementing complex multi-step automation workflows
- API Integration: Working with Google OAuth 2.0 and RESTful APIs
- JavaScript Logic: Implementing date calculations and filtering algorithms
- Data Management: Structuring and manipulating data across different platforms
- Front-end Development: Creating responsive, user-friendly forms
- Async Operations: Handling asynchronous API calls and data flow
- Error Handling: Building robust systems that gracefully handle failures
- User Experience: Designing intuitive interfaces for non-technical users
- Scheduling Logic: Implementing time-based triggers and conditions
- Modular workflow design
- Clear documentation
- Scalable architecture
- Security considerations (OAuth 2.0)
While this is a personal portfolio project, suggestions and feedback are welcome!
If you'd like to:
- Report a bug
- Suggest an enhancement
- Share your implementation
Feel free to open an issue or reach out directly.
This project is licensed under the MIT License - see the LICENSE file for details.
Ubba Obada
- GitHub: @Obada-barakat
- LinkedIn: Ubba Obada
- n8n community for excellent documentation and support
- Google for providing robust APIs
- The job-seeking community for inspiring this project
Have questions or want to collaborate? Reach out!
- LinkedIn: Ubba Obada
- GitHub: @Obada-barakat
โญ If you found this project helpful, please consider giving it a star!
Built with โค๏ธ and n8n automation


