ruby-ats

byMohamed Mohsen

انا عاوز سيرة ذاتية تكون مطابقة ل ATS

Landing
Landing

Comments (1)

AnonymousOct 2, 2026

test

System Requirements

Page 1 of 11

System Requirements Document

1. Introduction

1.1 Purpose

ruby-ats is a system that takes a candidate's existing résumé/CV and produces an ATS-compliant (Applicant Tracking System–compliant) version of it. The system ingests an existing CV, parses its contents, restructures it into a machine-readable single-column layout, preserves every piece of substantive content, and emits an optimized document that both ATS parsing engines and human recruiters can read reliably.

1.2 Scope

  • Ingest a candidate's existing CV (initial working instance: the MOHAMED MOHSEN Ali CV — Civil Engineer / Project Manager).
  • Extract and structure all résumé sections: contact header, professional title, objective/summary, work experience, key projects, education, and skills.
  • Reformat and rewrite the content into an ATS-parseable structure without fabricating, deleting, or distorting the candidate's experience.
  • Optimize for keyword retrieval against the target roles stated by the candidate.
  • Produce a downloadable, ATS-safe output document.

1.3 Objectives

  • Deliver a CV that passes automated ATS parsing with correct field mapping (name, title, contact, employer, dates, education, skills).
  • Ensure no loss of the candidate's original content (companies, roles, dates, bullets, projects, education, skills).
  • Preserve keyword coverage relevant to the candidate's target positions.
Page 2 of 11

2. System Overview

ruby-ats is a document-transformation pipeline. It does not invent career history or credentials; it re-expresses the supplied CV as an ATS-optimized document. The pipeline is:

  1. Ingest — the candidate's existing CV is provided to the system.
  2. Parse — the system extracts the structured components (identity block, sections, entries, bullets).
  3. Structure — the extracted content is organized into ATS-recognized sections in reverse-chronological order.
  4. Optimize — layout, headings, fonts, and keyword coverage are normalized for ATS parsing.
  5. Render — an ATS-safe file is produced for review and download.

Primary human actor: the job seeker / candidate. System actor consuming the output: the ATS parser operated by recruiters/employers (the ATS is a target system, not a persona).

The first concrete instance the system must correctly produce is the ATS-compliant version of Mohamed Mohsen Ali, Project Manager / Civil Engineer.

3. Functional Requirements

3.1 CV Ingestion and Parsing

  • As a job seeker, I want to submit my existing CV to ruby-ats so that it can be converted into an ATS-compliant version.
  • As ruby-ats, I want to parse the contact header block into discrete fields (full name, professional title, city/country, phone number(s), email) so each can be stored in an ATS-parseable location.
  • As ruby-ats, I want to detect and isolate the standard résumé sections present in the source CV — Objective, Experience, Key Projects, Education, and Skills & abilities — so each can be independently reformatted.
  • As ruby-ats, I want to detect the candidate's professional headline so it is placed directly beneath the candidate name.
  • As ruby-ats, I want to associate every experience bullet with its correct employer, role, location, and date range so that no bullet is orphaned or reassigned.
Page 3 of 11

3.2 Content Preservation (Identity and Objective)

  • As a job seeker, I want my full name preserved exactly ("MOHAMED MOHSEN Ali").
  • As a job seeker, I want my professional title preserved ("PROJECT MANAGER").
  • As a job seeker, I want my location preserved ("Dammam, Saudi Arabia").
  • As a job seeker, I want both of my phone numbers preserved ("0510873787 - 0539897274").
  • As a job seeker, I want my email address preserved ("Mohamed.alhelawany@gmail.com").
  • As a job seeker, I want my Objective statement preserved, including my experience summary (8+ years in Construction Management, Project Management, Tendering, Cost Estimation, Quantity Takeoff, BOQ Preparation, Contract Administration) and my target roles (Project Manager, Project Engineer, Construction Manager, Quantity Surveyor).
Page 4 of 11

3.3 Content Preservation (Work Experience)

  • As a job seeker, I want every prior role retained as a distinct experience entry with employer, location, role, and date range.
  • As a job seeker, I want the entry Eastern Anchors Contracting Company – Dammam, Saudi Arabia | Project Manager (10/2025 – Till Now) preserved, along with all of its bullet points.
  • As a job seeker, I want my project development activities preserved, including project sourcing and opportunity assessment.
  • As a job seeker, I want my tender and competitive bid study and evaluation preserved, including preparing required documentation and managing submissions through Etimad and Forsa platforms.
  • As a job seeker, I want my BOQ preparation, quantity takeoffs, cost estimates, and detailed priced BOQs preserved for residential, commercial, industrial, and service projects.
  • As a job seeker, I want my technical offer and project execution documentation preserved, including method statements and other tender requirements.
  • As a job seeker, I want my project pricing and commercial estimation preserved, based on project scope, drawings, specifications, quantities, resources, subcontractor requirements, and market conditions.
  • As a job seeker, I want my project execution management and supervision from mobilization through completion preserved, ensuring compliance with drawings, specifications, quality requirements, schedules, and client requirements.
  • As a job seeker, I want my ability to coordinate with clients, consultants, subcontractors, suppliers, and site teams to ensure smooth project execution preserved.
  • As a job seeker, I want my ability to directly supervise multiple projects, including residential compounds, commercial buildings, industrial facilities, workshops, and service facilities preserved.
  • As a job seeker, I want my management of project resources, procurement activities, subcontractors, manpower, materials, and site requirements preserved.
  • As a job seeker, I want my ability to monitor project progress, identify technical and commercial issues, and implement corrective actions to maintain project objectives preserved.
  • As a job seeker, I want my ability to prepare project documentation, progress reports, technical correspondence, and commercial/contractual records preserved.
  • As a job seeker, I want my ability to participate in project planning, cost control, procurement coordination, and construction management across different project types preserved.
  • As a job seeker, I want the entry Merazeq R. AlAnzi Company – Dammam, Saudi Arabia | Building Maintenance & Construction Engineer (02/2025 – 09/2025) preserved, along with all of its bullet points (daily operations and maintenance oversight across civil/electrical/mechanical; preventive maintenance plans and schedules; troubleshooting and root-cause corrective action; supplier and technician coordination for spare parts; general contracting per technical drawings; project schedules and timely delivery; daily/weekly technical reports; safety protocols and quality control; liaison with consultants and clients at technical meetings; supervision of technical teams).
  • As a job seeker, I want the entry Engineer Muhammad Awadallah and Partners Company – Al Minya, Egypt | Site Manager (Oct 2023 – Dec 2024) preserved, along with all of its bullet points (supervising/coordinating construction workers; approving project plans, conducting staff performance reviews, tracking project progress to standards, reviewing project contracts; monitoring building progress and costs; reviewing and approving supplier invoices before payment).
  • As a job seeker, I want the entry Al Tawhid for General Contracting – Al Minya, Egypt | Technical Office Engineer (06/2021 – 09/2023) preserved, along with all of its bullet points (relaying project status communication; administering cost and variation procedures and assisting in settling accounts and disputes; preparing full tender documentation; adhering to standards and codes of practice; procuring and managing subcontractors).
  • As a job seeker, I want the entry Al Sharif for General Contracting – Al Minya, Egypt | Site Engineer (12/2020 – 05/2021) preserved.
  • As a job seeker, I want my ability to execute all site responsibilities, including planning, material orders, execution, supervision, quality control, and monitoring the progress of construction work preserved.
  • As a job seeker, I want my ability to monitor site activity to ensure timely completion of work in accordance with approved methods and schedule preserved.
  • As a job seeker, I want my ability to plan and schedule work, materials, and equipment within specified time frames preserved.
  • As a job seeker, I want my assistance in the preparation of technical reports, cost estimates, project analysis, and contract documentation preserved.
  • As a job seeker, I want my demonstrated proficiency in site management, including coordinating resources, ensuring quality standards, and adhering to project timelines preserved.
  • As a job seeker, I want my effective communication with project stakeholders and provision of progress updates preserved.
  • As a job seeker, I want my accurate records of site activities, including documentation of work completed, materials used, and any issues encountered preserved.
  • As a job seeker, I want my problem-solving of construction-related challenges to ensure project success preserved.
  • As a job seeker, I want the entry BETA Co.LTD – Naser City, Egypt | Site Engineer (12/2018 – 11/2020) preserved, along with all of its bullet points (planning activities and managing project resources; organizing and motivating the project team; studying drawings, specifications, BOQ, RFI, Request for Approval, correspondence; leadership in coordinating activities, assigning tasks and monitoring progress; communication and interpersonal collaboration).
Page 5 of 11

3.4 Content Preservation (Key Projects)

  • As a job seeker, I want a dedicated Key Projects section retained for the highlighted projects.
  • As a job seeker, I want the Gas Station Development – Al-Ahsa, Saudi Arabia project preserved with its client (Aramtco Trading Establishment), main contractor (Eastern Anchors Contracting Company), position (Project Manager), and scope.
  • As a job seeker, I want the Gas Station Development scope preserved, including construction of a complete service station, car wash, drive-through facility, mosque, pharmacy, retail shops, water tanks, and diesel and gasoline tanks.
  • As a job seeker, I want the direct supervision of structural works and tank construction on the Gas Station Development preserved.
  • As a job seeker, I want the coordination of site activities, subcontractors, materials, and execution requirements on the Gas Station Development preserved.
  • As a job seeker, I want the Muhammad Hassan Al-Naqool Sons Factory – Third Industrial City, Dammam project preserved with its client (Sinan Construction Company), main contractor (Eastern Anchors Contracting Company), position (Project Manager), and scope (administrative building; silo area; main water tank; external boundary wall; 6-meter-high material warehouse; washing area; truck weighbridge; structural, finishing, landscaping and boundary wall works).
  • As a job seeker, I want the Al-Saif Commercial Shops – Dammam, Saudi Arabia project preserved with its client (Saleh Al-Askar Contracting Establishment), main contractor (Eastern Anchors Contracting Company), position (Project Manager), and scope (11 commercial shops at ~7 m height; structural works; plumbing and electrical preparation and installation).
  • As a job seeker, I want the Tharwah Building – Al-Saif District, Dammam project preserved with its client (Fahad Al-Dulaigan Contracting Establishment), main contractor (Eastern Anchors Contracting Company), position (Project Manager), and scope (residential building: ground floor plus five typical floors; management and supervision of structural and construction activities).
  • As a job seeker, I want the Ministry of Water Resources and Irrigation projects preserved (reconstruction and renewal of bridges and gates in Smalot, Elminya; rehabilitation and lining of a canal in Kafr El-Dawar, El-Buhaira; rehabilitation and lining of a canal in Abu Qurqas, Elminya; rehabilitation and lining of Abu Haseiba canal in Matai, Elminya) with the associated contractors.
  • As a job seeker, I want the Egypt-Japan University of Science and Technology project preserved under AMAR MISR CONSULTANTS | MADKOUR GROUP.
  • As a job seeker, I want the Kozzika light repair workshop & storing yard project preserved under AMAR MISR CONSULTANTS | MADKOUR GROUP.
  • As a job seeker, I want the National Authority for Tunnels | PETROJET Company project preserved.

3.5 Content Preservation (Education)

  • As a job seeker, I want my degree Tanta University, Tanta (2018) — Civil Engineering, Bachelor's degree in Engineering preserved, including grade (Very Good with Honor), Graduation Project (Construction Management Project) and its grade (Excellent).
  • As a job seeker, I want my Assuit University, Assuit (2013) — Technical Diploma in Surveying preserved, including grade (Excellent with Honor).

3.6 Content Preservation (Skills and Abilities)

  • As a job seeker, I want my skills grouped into their original categories: Project Management & Construction, Technical Documentation, and Platforms & Software.
  • As a job seeker, I want all Project Management & Construction skills preserved (Project Management; Construction Management; Site Supervision; Project Planning & Scheduling; Resource Management; Procurement Management; Subcontractor Management; Client & Consultant Coordination; Tendering, Estimation & Commercial; Tender Management; Tender Pricing; Cost Estimation; Quantity Takeoff; BOQ Preparation; Detailed Costing & Pricing; Technical & Financial Offers; Bid Analysis; Project Feasibility & Cost Assessment).
  • As a job seeker, I want all Technical Documentation skills preserved (Method Statements; Technical Specifications; Inspection & Test Plans (ITP); Technical Reports; Project Documentation; Construction Drawings Review).
  • As a job seeker, I want all Platforms & Software skills preserved (Etimad Platform; Forsa Platform; Primavera P6; AutoCAD; Microsoft Excel; Microsoft Word; Microsoft PowerPoint).
Page 6 of 11

3.7 ATS Optimization

  • As a job seeker, I want my CV rendered in a single-column layout so that ATS parsers read sections top-to-bottom without column confusion.
  • As a job seeker, I want standard, ATS-recognized section headings used (e.g., "Work Experience", "Education", "Skills") so the algorithm correctly classifies each block.
  • As a job seeker, I want standard, universally available fonts used so text is parsed reliably.
  • As a job seeker, I want tables, text boxes, columns, sidebars, and graphics removed so they do not break parsing.
  • As a job seeker, I want no critical information (name, contact, section titles) placed in headers, footers, or images.
  • As a job seeker, I want my experience listed in reverse-chronological order so the parser reads most-recent-first.
  • As a job seeker, I want my dates written in a consistent, parseable format so tenure is computed correctly.
  • As a job seeker, I want plain, standard bullet characters used for list items so bullets are recognized as list content.
  • As a job seeker, I want contact information embedded in the document body as plain text (not a graphic or text box).
  • As a job seeker, I want my CV keyword-optimized for my target roles — Project Manager, Project Engineer, Construction Manager, and Quantity Surveyor — while remaining truthful to my actual experience.
  • As a job seeker, I want role-relevant terms from my experience, skills, and projects surfaced so that keyword matching against job postings improves.

3.8 Output and Delivery

  • As a job seeker, I want the final ATS-compliant CV delivered as a downloadable file.
  • As a job seeker, I want to preview the reformatted CV so I can confirm my content was preserved before using it.
  • As a job seeker, I want the output to contain no fabricated content — every claim must trace back to my original CV.

4. User Personas

  • Job Seeker / Candidate (primary): A professional (starting with Mohamed Mohsen Ali, a Civil Engineer / Project Manager with 8+ years of experience across Saudi Arabia and Egypt) who provides an existing CV and needs an ATS-compliant version to submit to employers and recruitment platforms. This persona uploads the CV, reviews the reformatted result, and downloads the final file.
  • ATS Parser (system actor, not a persona): The automated parsing engine used by employers and recruitment platforms that reads the delivered CV to extract fields and keyword-match candidates. It consumes the output but does not interact with the system.

No separate recruiter, administrator, or account-management persona is created, because neither the uploaded document nor the user's chat establishes distinct workflows for them.

Page 7 of 11

5. Core User Flows

5.1 Job Seeker: Convert an Existing CV to ATS Format

  1. The candidate provides their existing CV (the Mohammed Mohsen Ali CV) to ruby-ats.
  2. The system parses the document and extracts the identity block, professional title, objective, experience entries, key projects, education, and skills.
  3. The system organizes the extracted content into standard ATS sections and orders experience in reverse-chronological order.
  4. The system normalizes layout, fonts, headings, bullet characters, and date formats for ATS compatibility, and surfaces role-relevant keywords.
  5. The candidate reviews the reformatted CV and confirms that all original content is intact.
  6. The candidate downloads the ATS-compliant CV.

5.2 Job Seeker: Verify Content Integrity

  1. The candidate compares the reformatted CV against the original.
  2. The candidate confirms that every role, date, bullet, project, education entry, and skill is present and correctly attributed.
  3. If any content is misassigned or missing, the candidate corrects the input and the system regenerates the structure.

5.3 ATS (System Actor): Parse the Delivered CV

  1. The ATS receives the delivered CV file.
  2. The ATS extracts identity, contact, employer, role, date, education, and skill fields from the single-column structure.
  3. The ATS indexes keywords and matches the candidate against target job postings.
  4. Correct field extraction and keyword coverage confirm the CV is ATS-compliant.
Page 8 of 11

6. Visuals, Colors, and Theme

The product output is a résumé document, so the visual direction is intentionally restrained and ATS-safe (defaults derived from the domain):

  • Color palette: Monochrome — black text on a white background. No accent colors, no colored section headers, no background fills.
  • Typography: Standard, widely available fonts (e.g., Arial, Calibri, or Times New Roman); one font family throughout; consistent heading sizes; no decorative or script fonts.
  • Layout: Single column, generous margins, consistent left alignment; no tables, columns, sidebars, or text boxes.
  • Emphasis: Bold for section headings and role titles only; no underlines, shading, icons, or images.
  • Theme direction: "Plain, professional, machine-readable." The document should look conventional and clean to a human reader while remaining fully parseable.

7. Signature Design Concept

"Invisible design for a machine reader." The distinctive idea of ruby-ats is that the design succeeds by being unremarkable: every visual choice exists only to make the CV readable by an ATS parser while remaining clear to a recruiter. Structure over decoration — standard headings, single-column flow, and plain bullets carry the entire experience of the candidate. Nothing is styled for its own sake; nothing critical is hidden in a graphic.

8. Interaction Model & Motion Direction

  • Interaction model: Linear and task-focused. The candidate moves through a short sequence — provide CV → review reformatted result → download. There is no dashboard, account area, or configuration surface required by the sources.
  • Feedback: The system shows clear status while processing the CV and a before/after view so the candidate can confirm content integrity.
  • Motion direction: Minimal and functional. Motion is limited to lightweight progress indication during parsing and a simple reveal of the preview/result. No decorative animation, transitions, or parallax.
Page 9 of 11

9. Non-Functional Requirements

  • ATS parseability: Output must contain no tables, text boxes, columns, images, headers/footers, or graphics that interfere with parsing; section headings must be standard and machine-recognized.
  • Fidelity / zero content loss: Every employer, role, location, date, bullet, project, education entry, grade, and skill present in the source CV must appear in the output.
  • No fabrication: The system must not invent experience, credentials, dates, or skills not present in the source CV.
  • Consistency: Date formats, heading styles, and bullet styles must be uniform throughout the document.
  • Keyword relevance: The output must preserve and surface role-relevant terminology for Project Manager, Project Engineer, Construction Manager, and Quantity Surveyor targets.
  • Readability: The document must remain legible and professional for human readers, not only parsers.
  • Confidentiality: The candidate's personal data (name, phones, email) must be handled only for the purpose of generating their CV.
  • Determinism: Re-running the conversion on the same input must produce an equivalent ATS-compliant structure.

10. Tech Stack

The stack is derived from the project name (ruby-ats) and the delivery shape (a document-transformation tool that produces an ATS-safe CV). Only the layers the product actually requires are included:

  • Language / core runtime: Ruby — the application logic that parses, restructures, and renders the CV.
  • Parsing layer: A document-text extraction component to read the source CV (PDF-based input) into structured text.
  • Structuring layer: Logic that maps extracted text into standard résumé sections (identity, objective, experience, projects, education, skills).
  • Formatting / template layer: A single-column, ATS-safe template engine that applies standard headings, fonts, bullets, and consistent date formatting.
  • Rendering / output layer: Generation of the final ATS-compliant document file (plain-text and standard document formats).

No authentication, database, admin panel, payments, or analytics layers are included, because neither the uploaded document nor the user's chat requires them.

Page 10 of 11

11. Assumptions and Constraints

  • Assumption: The candidate's source CV is supplied by the user; the initial working instance is the Mohamed Mohsen Ali CV.
  • Assumption: "ATS-compliant" means single-column, standard fonts, standard headings, plain bullets, body-embedded contact info, and no tables/graphics.
  • Assumption: The user's intent is to reformat an existing CV, not to create a general multi-user product.
  • Constraint: The system must not fabricate content; all output must trace back to the source CV.
  • Constraint: Content in the source CV (including mixed Arabic-context data such as Saudi phone numbers and Egyptian work history) must be preserved accurately.
  • Constraint: Output must remain readable and professional for human recruiters as well as parsers.
  • Constraint: Where the user's chat conflicts with the uploaded document, the latest explicit user instruction takes precedence.
Page 11 of 11

12. Glossary

  • ATS (Applicant Tracking System): Software employers use to collect, parse, and screen CVs; the target reader of the output.
  • ATS-compliant / ATS-friendly: A CV formatted so ATS parsers can extract fields and keywords without errors.
  • CV / Résumé: The candidate's career document that is transformed by the system.
  • Objective: The candidate's summary statement of experience and target roles.
  • BOQ (Bill of Quantities): An itemized list of materials, parts, and labor with costs, used in tendering.
  • Quantity Takeoff: The process of measuring and listing quantities of work/materials from drawings.
  • Tender / Bid: A formal offer to perform work at a stated price.
  • Etimad Platform: A Saudi government procurement/tendering platform referenced in the candidate's experience.
  • Forsa Platform: A tendering/bidding platform referenced in the candidate's experience.
  • Method Statement: A document describing how a construction activity will be executed.
  • ITP (Inspection & Test Plan): A documented plan for quality inspection and testing.
  • RFI (Request for Inspection): A formal request to inspect completed work.
  • Primavera P6: Project planning and scheduling software.
  • AutoCAD: Computer-aided design software for technical drawings.
  • Site Manager / Site Engineer: Construction roles responsible for on-site execution, supervision, and quality.
  • Technical Office Engineer: A role focused on technical documentation, tender preparation, and cost/variation administration.
  • Project Manager: A role responsible for leading project development, tendering, pricing, and execution.
  • Keyword optimization: Ensuring role-relevant terms appear so ATS keyword matching ranks the candidate favorably.
Landing design preview
Landing: Read product statement
Landing: Read ATS mechanism diagram
Landing: Review parse status and score
Landing: Proceed to supply resume
Resume Upload: Enter existing resume content
Resume Upload: Confirm source document
Resume Upload: 1. Submit for ATS revision
Resume Result: 2. View revised resume and score
Resume Result: Download revised PDF
Resume Upload: 3. Correct or resupply content
Resume Upload: 4. Supply a different resume
Landing design preview
Landing: Read product statement
Landing: Read ATS mechanism diagram
Landing: Review parse status and score
Landing: Proceed to supply resume
Resume Upload: Enter existing resume content
Resume Upload: Confirm source document
Resume Upload: 1. Submit for ATS revision
Resume Result: 2. View revised resume and score
Resume Result: Download revised PDF
Resume Upload: 3. Correct or resupply content
Resume Upload: 4. Supply a different resume