TailoredJobz Web App Development: Milestone 1
Budget: $1,500 – $3,000 USD
**Overview:**
I’m building **TailoredJobz**, an AI-powered job application web app that helps users apply for jobs aligned with their skills and experience. The project is divided into **four milestones**, and we are starting with **Milestone 1**, which focuses on user registration, profile setup, CV/cover letter templating, and an intelligent job listing dashboard.
This post is **only for Milestone 1**, and we’ll continue to future milestones with the selected freelancer based on quality and delivery.
---
**Note:** I already have a **Node.js design template**, **Figma files**, and **reference designs from other platforms** that clearly define the visual layout and UX flow, I DON'T WANT A MOBILE APP ONLY A WEB APP.
---
**Milestone 1 Scope:**
**1. User Registration & Authentication**
- Three sign-up/login options:
- Email & password
- Google OAuth
- LinkedIn OAuth
- Post-signup, redirect to profile setup flow.
**2. Profile Setup Flow**
After registration, the user is prompted to fill in their personal and professional details:
**A. Personal Details**
- Name
- Email
- Phone number
- Current salary
- Expected salary
- Visa status
- Marital status
- Gender
**B. Experience Data Input Options (Choose One)**
- Option 1: Manually input:
- Job experience
- Skills
- Education
- Option 2: Upload CV → Use AI to extract and auto-fill fields.
- Option 3: Connect LinkedIn → Auto-fetch profile data via API.
> *User can review and edit extracted/auto-filled details before saving.*
**3. CV & Cover Letter Template Selection**
- **6 Pre-built industry-specific CV templates**:
- Tech
- Finance
- Accounting
- Marketing
- HR
- AI & Data Science
- Each template must be:
- Professionally designed
- ATS-friendly
- Downloadable as PDF and Word
- Each CV template is paired with a **complementary Cover Letter template**.
- User selects a template based on their industry/job role.
**4. Job Preferences Setup**
- User selects:
- Preferred job locations
- Preferred job roles
**5. Job Listings Dashboard**
Once the user profile is complete, show a dashboard of job listings.
**A. Job Fetching Logic**
- Use public job APIs (e.g., RapidAPI – LinkedIn, ATS platforms).
- **Initial Fetch (7-Day API)**:
- Triggered when a new user selects job roles and locations not in the DB.
- Store jobs in database.
- **Daily Refresh (24-Hour API)**:
- Triggered for active users with existing preferences.
- Update job pool and remove expired jobs daily.
> *If job role + location already exists in DB, skip API and fetch from DB.*
**B. Job Data & Filters**
- Store and display fields: Job title, company name, location, salary, employment type, etc.
- Filters:
- Location (Remote, Onsite, Hybrid)
- Employment type (Full-Time, Contract, Internship)
- Salary range
**6. Job Listing Components**
Each job card displays:
- Company logo
- Company name
- Job title
- Job location
- Salary (if available)
- **Match Score**
- Buttons:
- **Apply** (opens in new tab)
- **Generate CV** (AI-generated CV)
- **Generate Cover Letter** (AI-generated cover letter)
Clicking job title opens the **Job Details Page**:
- Job description
- Direct application link
- Application method
**7. Match Score Algorithm**
```
Match Score =
0.40 * Relevance Score +
0.30 * Recency Score +
0.20 * Job Stability & Salary Score +
0.10 * Application Ease Score
```
**A. Relevance Score (0-100)** – *Weight: 40%*
- Relevance = 0.4 (Title Match) + 0.4 (Skills Match) + 0.2 (Seniority Match)
- Title Match: Cosine similarity or exact match
- Skills Match: NLP/TF-IDF with user CV
- Seniority Match: Alignment with user experience
**B. Recency Score (0-100)** – *Weight: 30%*
- `100 - ((Days since posted / Max 30) * 100)`
- Lower score for older listings or those expiring soon
**C. Job Stability & Salary Score (0-100)** – *Weight: 20%*
- \= 0.6 Employment Type + 0.4 Salary Info
- Full-time = 100, Short-term = 60, Internship = 50, etc.
- Clear salary = 100, vague = 75, not mentioned = 50
**D. Application Ease Score (0-100)** – *Weight: 10%*
- Easy Apply = 100
- External Portal = 50
**8. AI-Generated CV & Cover Letter Triggers**
When user clicks:
- **"Generate CV"** or **"Generate Cover Letter"**:
- System uses:
- Job description
- Selected template
- User’s experience
- Company info (if available)
- Industry-specific standards
> Output: ATS-optimized PDF/Word CV and Cover Letter (stubbed placeholder in Milestone 1)
---
**Deliverables (Milestone 1):**
- Fully functional MVP covering above scope
- Clean UI/UX (Figma design references provided)
- API integrations (LinkedIn, ATS via RapidAPI)
- Database schema (users, CVs, job listings, etc.)
- Admin documentation for setup and code structure
---
**Tech Stack:**
Open to best suggestions (React/Next.js + Node.js, Django, etc.). Must support API integration and scalable architecture.
---
**Next Steps:**
- This post is for **Milestone 1 only**
- Successful collaboration will lead to continued work for future milestones
I’m building **TailoredJobz**, an AI-powered job application web app that helps users apply for jobs aligned with their skills and experience. The project is divided into **four milestones**, and we are starting with **Milestone 1**, which focuses on user registration, profile setup, CV/cover letter templating, and an intelligent job listing dashboard.
This post is **only for Milestone 1**, and we’ll continue to future milestones with the selected freelancer based on quality and delivery.
---
**Note:** I already have a **Node.js design template**, **Figma files**, and **reference designs from other platforms** that clearly define the visual layout and UX flow, I DON'T WANT A MOBILE APP ONLY A WEB APP.
---
**Milestone 1 Scope:**
**1. User Registration & Authentication**
- Three sign-up/login options:
- Email & password
- Google OAuth
- LinkedIn OAuth
- Post-signup, redirect to profile setup flow.
**2. Profile Setup Flow**
After registration, the user is prompted to fill in their personal and professional details:
**A. Personal Details**
- Name
- Phone number
- Current salary
- Expected salary
- Visa status
- Marital status
- Gender
**B. Experience Data Input Options (Choose One)**
- Option 1: Manually input:
- Job experience
- Skills
- Education
- Option 2: Upload CV → Use AI to extract and auto-fill fields.
- Option 3: Connect LinkedIn → Auto-fetch profile data via API.
> *User can review and edit extracted/auto-filled details before saving.*
**3. CV & Cover Letter Template Selection**
- **6 Pre-built industry-specific CV templates**:
- Tech
- Finance
- Accounting
- Marketing
- HR
- AI & Data Science
- Each template must be:
- Professionally designed
- ATS-friendly
- Downloadable as PDF and Word
- Each CV template is paired with a **complementary Cover Letter template**.
- User selects a template based on their industry/job role.
**4. Job Preferences Setup**
- User selects:
- Preferred job locations
- Preferred job roles
**5. Job Listings Dashboard**
Once the user profile is complete, show a dashboard of job listings.
**A. Job Fetching Logic**
- Use public job APIs (e.g., RapidAPI – LinkedIn, ATS platforms).
- **Initial Fetch (7-Day API)**:
- Triggered when a new user selects job roles and locations not in the DB.
- Store jobs in database.
- **Daily Refresh (24-Hour API)**:
- Triggered for active users with existing preferences.
- Update job pool and remove expired jobs daily.
> *If job role + location already exists in DB, skip API and fetch from DB.*
**B. Job Data & Filters**
- Store and display fields: Job title, company name, location, salary, employment type, etc.
- Filters:
- Location (Remote, Onsite, Hybrid)
- Employment type (Full-Time, Contract, Internship)
- Salary range
**6. Job Listing Components**
Each job card displays:
- Company logo
- Company name
- Job title
- Job location
- Salary (if available)
- **Match Score**
- Buttons:
- **Apply** (opens in new tab)
- **Generate CV** (AI-generated CV)
- **Generate Cover Letter** (AI-generated cover letter)
Clicking job title opens the **Job Details Page**:
- Job description
- Direct application link
- Application method
**7. Match Score Algorithm**
```
Match Score =
0.40 * Relevance Score +
0.30 * Recency Score +
0.20 * Job Stability & Salary Score +
0.10 * Application Ease Score
```
**A. Relevance Score (0-100)** – *Weight: 40%*
- Relevance = 0.4 (Title Match) + 0.4 (Skills Match) + 0.2 (Seniority Match)
- Title Match: Cosine similarity or exact match
- Skills Match: NLP/TF-IDF with user CV
- Seniority Match: Alignment with user experience
**B. Recency Score (0-100)** – *Weight: 30%*
- `100 - ((Days since posted / Max 30) * 100)`
- Lower score for older listings or those expiring soon
**C. Job Stability & Salary Score (0-100)** – *Weight: 20%*
- \= 0.6 Employment Type + 0.4 Salary Info
- Full-time = 100, Short-term = 60, Internship = 50, etc.
- Clear salary = 100, vague = 75, not mentioned = 50
**D. Application Ease Score (0-100)** – *Weight: 10%*
- Easy Apply = 100
- External Portal = 50
**8. AI-Generated CV & Cover Letter Triggers**
When user clicks:
- **"Generate CV"** or **"Generate Cover Letter"**:
- System uses:
- Job description
- Selected template
- User’s experience
- Company info (if available)
- Industry-specific standards
> Output: ATS-optimized PDF/Word CV and Cover Letter (stubbed placeholder in Milestone 1)
---
**Deliverables (Milestone 1):**
- Fully functional MVP covering above scope
- Clean UI/UX (Figma design references provided)
- API integrations (LinkedIn, ATS via RapidAPI)
- Database schema (users, CVs, job listings, etc.)
- Admin documentation for setup and code structure
---
**Tech Stack:**
Open to best suggestions (React/Next.js + Node.js, Django, etc.). Must support API integration and scalable architecture.
---
**Next Steps:**
- This post is for **Milestone 1 only**
- Successful collaboration will lead to continued work for future milestones