Skip to content

MorphyKutay/ATSResume

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

2 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

ATS-Friendly Resume Builder

A modern, professional resume builder optimized for Applicant Tracking Systems (ATS). Built with Next.js 15, React 19, TypeScript, and Tailwind CSS.

ATS Resume Builder React TypeScript Tailwind CSS

✨ Features

🎯 ATS Optimization

  • Single-page PDF output - All content fits on one page
  • Clean, semantic structure - Easy for ATS systems to parse
  • Standard sections - Professional Summary, Experience, Education, Projects, Skills
  • Clickable links in PDF - Email, phone, and web links remain functional
  • Optimized typography - ATS-friendly fonts and spacing

πŸ’Ό Professional Design

  • Modern, clean layout - Professional appearance
  • Responsive design - Works on desktop, tablet, and mobile
  • Technology badges - Modern skill display with colored badges
  • Icon integration - Lucide React icons for enhanced visuals
  • Print-optimized - Perfect PDF generation via browser print

🎨 Easy Customization

  • Left sidebar panel - Manage all content from one place
  • Show/hide sections - Control which sections appear on your resume
  • Real-time editing - See changes instantly
  • Add/remove entries - Easily manage experience, education, and projects
  • Persistent state - Your changes are saved while editing

πŸ“± User Experience

  • Intuitive interface - Easy to navigate and use
  • Section management - Toggle visibility of any section
  • One-click PDF download - Generate PDF instantly
  • No backend required - Runs entirely in the browser
  • Fast and lightweight - Built with Next.js 15 and Turbopack

πŸš€ Getting Started

Prerequisites

  • Node.js 18.0 or later
  • npm or yarn

Installation

  1. Clone the repository:
git clone https://github.com/yourusername/ats-resume-builder.git
cd ats-resume-builder
  1. Install dependencies:
npm install
  1. Run the development server:
npm run dev
  1. Open http://localhost:3000 in your browser

Build for Production

npm run build
npm start

πŸ“ Usage

Editing Your Resume

  1. Open the left sidebar - Access the control panel to edit all sections
  2. Select a section - Click on any section (Contact, Summary, Experience, etc.)
  3. Edit content - Update your information in the editing panel
  4. Add/Remove entries - Use the "+ Add" button to create new entries
  5. Toggle visibility - Use the eye icon to show/hide sections
  6. Save changes - Click "Save Changes" to apply your edits

Downloading PDF

  1. Click the green "Download PDF" button in the top-right corner
  2. Your browser's print dialog will open
  3. Select "Save as PDF" as the destination
  4. Click "Save" to download your resume

Note: All links (email, phone, LinkedIn, GitHub) remain clickable in the PDF!

πŸ—οΈ Project Structure

my-app/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ app/
β”‚   β”‚   β”œβ”€β”€ globals.css          # Global styles and print optimization
β”‚   β”‚   β”œβ”€β”€ layout.tsx            # Root layout
β”‚   β”‚   └── page.tsx              # Main resume page
β”‚   β”œβ”€β”€ components/
β”‚   β”‚   β”œβ”€β”€ Sidebar.tsx           # Left control panel
β”‚   β”‚   β”œβ”€β”€ ResumeHeader.tsx      # Contact information section
β”‚   β”‚   β”œβ”€β”€ ResumeSection.tsx     # Section wrapper component
β”‚   β”‚   β”œβ”€β”€ ExperienceItem.tsx    # Work experience display
β”‚   β”‚   β”œβ”€β”€ EducationItem.tsx     # Education display
β”‚   β”‚   β”œβ”€β”€ ProjectItem.tsx       # Project display
β”‚   β”‚   β”œβ”€β”€ SkillsSection.tsx     # Skills display
β”‚   β”‚   └── EditModal.tsx         # Full edit modal (optional)
β”‚   β”œβ”€β”€ data/
β”‚   β”‚   └── sampleData.ts         # Sample resume data
β”‚   └── types/
β”‚       └── resume.ts             # TypeScript interfaces
β”œβ”€β”€ public/                       # Static assets
β”œβ”€β”€ package.json
β”œβ”€β”€ tsconfig.json
└── README.md

🎨 Customization

Updating Your Information

Edit src/data/sampleData.ts to change the default resume data:

export const sampleResumeData: ResumeData = {
  contact: {
    fullName: "Your Name",
    title: "Your Title",
    email: "[email protected]",
    // ... more fields
  },
  summary: "Your professional summary...",
  experience: [...],
  education: [...],
  projects: [...],
  skills: [...]
};

Modifying Colors

The project uses Tailwind CSS. Main colors can be modified in:

  • src/app/globals.css - For print styles
  • Component files - For UI colors

Adding New Sections

  1. Add the section interface to src/types/resume.ts
  2. Create a new component in src/components/
  3. Update src/app/page.tsx to include the new section
  4. Add editing capability in src/components/Sidebar.tsx

πŸ› οΈ Technologies

πŸ“‹ Features Breakdown

βœ… Implemented Features

  • βœ… Complete resume sections (Contact, Summary, Experience, Education, Projects, Skills)
  • βœ… Left sidebar control panel
  • βœ… Section visibility toggle
  • βœ… Add/edit/remove entries
  • βœ… Real-time preview
  • βœ… PDF download functionality
  • βœ… Single-page PDF optimization
  • βœ… Clickable links in PDF
  • βœ… ATS-friendly formatting
  • βœ… Responsive design
  • βœ… Technology badges
  • βœ… Modern UI/UX

🀝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the project
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

πŸ“„ License

This project is open source and available under the MIT License.

πŸ™ Acknowledgments

πŸ“ž Support

If you have any questions or need help, please open an issue on GitHub.

πŸ‘¨β€πŸ’» Author

Kutay - @MorphyKutay


Made with ❀️ for job seekers everywhere