Skip to content

Latest commit

Β 

History

23 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“„ Naphix Resume β€” Visual A4 Resume Builder

React TypeScript Tailwind CSS Vite Gemini AI License

A privacy-first, visual A4 resume builder featuring real-time live preview, universal custom sections, drag-and-drop ordering, client-side PDF/DOCX importing, dual ATS-compliant exports, and AI-powered Job Match analysis.

🌐 Live Production Website β€’ πŸ‘¨β€πŸ’» Developer Portfolio β€’ πŸ™ GitHub Repository


🌟 Overview

Naphix Resume is a modern, developer-focused resume builder that treats your resume as a genuine ISO 216 A4 (210 Γ— 297mm) document. Instead of filling out disconnected forms and guessing the final layout, the editor features an interactive split-screen workspace with instantaneous live preview synchronization.

All resume drafting, editing, and file importing operate 100% on the client side with browser localStorage, ensuring complete privacy without requiring an account, sign-up, or tracking.

For job seekers optimizing applications, an integrated server-proxied Job Match feature analyzes candidate resumes against target job descriptions using Google Gemini AI, returning compatibility scores, requirement matching, and tailored suggestions.


✨ Main Features

  • ⚑ Real-Time Live A4 Preview: Instantaneous typographic feedback on an authentic EB Garamond single-page canvas.
  • πŸ”„ Drag-and-Drop Reordering: Smooth drag-and-drop section and entry reordering powered by @dnd-kit with touch and pointer sensors.
  • 🧩 Universal Custom Section Engine: Create custom sections (Awards, Certifications, Publications, Volunteer Experience, Leadership, etc.) with flexible field schemas.
  • πŸ“₯ Universal Resume Importer: 10-stage client-side parser that extracts text and structure from existing PDF and Word (.docx) resumes with multi-column reconstruction and 4-factor confidence scoring.
  • πŸ€– Gemini AI Job Match: Evaluate your resume against target job postings to receive ATS match scores, requirement breakdowns, experience gaps, and improvement tips.
  • πŸ“„ Dual High-Fidelity Exporters:
    • Vector PDF: Searchable, ATS-compliant single-page A4 PDF generated via @react-pdf/renderer.
    • Native Word DOCX: Native Microsoft Word document with right-aligned tab stops and bullet indentations generated via docx.
  • πŸ“± Fully Responsive Design: Desktop split-screen, tablet adaptive switcher, and mobile touch layout.
  • πŸ”’ 100% Private & Local: Zero accounts, zero database storage. All resume data remains in your local browser storage.
  • βͺ Undo / Redo History: Full 50-step state history with keyboard shortcuts (Ctrl+Z / Ctrl+Y).
  • πŸš€ Complete SEO & Privacy: Pre-rendered landing page metadata, Schema.org JSON-LD structured data, and dynamic noindex protection on private editor routes.

πŸ› οΈ Tech Stack

Frontend & Core

Document Engines & Parsing

Backend, Security & AI

  • Runtime: Node.js Connect Middleware via Vite Plugin
  • AI Model: Google Gemini API (gemini-3.5-flash via @google/genai 2.17)
  • Security Middleware: In-memory sliding window rate limiter, IP concurrency guard, payload boundary validator, SHA-256 request fingerprinting cache, and quota circuit breaker.

πŸ“ Project Structure

resumebuilder/
β”œβ”€β”€ public/                       # Static public assets
β”‚   β”œβ”€β”€ landing/screenshots/      # High-resolution showcase & OG images
β”‚   β”œβ”€β”€ robots.txt                # Search engine crawler rules
β”‚   └── sitemap.xml               # Canonical XML sitemap
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ components/               # React UI components
β”‚   β”‚   β”œβ”€β”€ editor/               # Resume section accordion forms & custom section modal
β”‚   β”‚   β”œβ”€β”€ export/               # Vector PDF & Word DOCX download modal
β”‚   β”‚   β”œβ”€β”€ importer/             # Universal Resume Importer modal & staged review
β”‚   β”‚   β”œβ”€β”€ jobMatch/             # Gemini Job Match dialog & score visualization
β”‚   β”‚   β”œβ”€β”€ preview/              # Live A4 document canvas & zoom toolbar
β”‚   β”‚   └── ui/                   # Reusable UI primitives (Button, Modal, Input)
β”‚   β”œβ”€β”€ features/                 # Domain-driven feature logic
β”‚   β”‚   β”œβ”€β”€ importer/             # 10-stage document extraction & parsing engine
β”‚   β”‚   β”œβ”€β”€ jobMatch/             # Client API & Zustand store for Job Match
β”‚   β”‚   └── resume/               # Core data models, Zustand store, history, utilities
β”‚   β”œβ”€β”€ landing/                  # Public marketing landing page & section components
β”‚   β”œβ”€β”€ seo/                      # Centralized SEO config, JSON-LD, and usePageSeo hook
β”‚   β”œβ”€β”€ templates/                # Resume layout templates (Developer Standard)
β”‚   β”œβ”€β”€ App.tsx                   # Client-side router ('/' landing & '/editor')
β”‚   └── main.tsx                  # React entry point
β”œβ”€β”€ server/                       # Backend API & Security Layer
β”‚   β”œβ”€β”€ config.ts                 # Security limits, model configuration, and TTL settings
β”‚   β”œβ”€β”€ jobMatchApiHandler.ts     # HTTP pipeline with security headers & request tracking
β”‚   β”œβ”€β”€ jobMatchService.ts        # Server-side Gemini service with injection defenses
β”‚   └── security/                 # Rate limiter, cache, circuit breaker, input validator
β”œβ”€β”€ scripts/                      # Automated validation & test suites
β”‚   β”œβ”€β”€ test_seo.ts               # 47-point SEO and metadata test suite
β”‚   β”œβ”€β”€ test_job_match_security.ts# 41-case security & rate limiting test suite
β”‚   β”œβ”€β”€ test_job_match.ts         # Job Match API & schema audit suite
β”‚   └── test_universal_importer_comprehensive.ts # 35-case importer corpus suite
β”œβ”€β”€ docs/                         # In-depth technical documentation
β”œβ”€β”€ AI_USAGE.md                   # Transparent AI-assisted development log
β”œβ”€β”€ index.html                    # Root HTML with SEO metadata and structured data
└── package.json                  # Dependencies and scripts

πŸš€ Getting Started

Prerequisites

  • Node.js (v18.0.0 or higher recommended)
  • npm (bundled with Node.js)

Installation

  1. Clone the Repository:

    git clone https://github.com/naphiertech/resumebuilder.git
    cd resumebuilder
  2. Install Dependencies:

    npm install
  3. Configure Environment Variables: Copy .env.example to .env:

    cp .env.example .env
  4. Start the Development Server:

    npm run dev

    Open your browser at http://localhost:5173/.


πŸ”‘ Environment Variables

Create a .env file in the root directory:

# Server-side Google Gemini API Key for Job Match
GEMINI_API_KEY=your_actual_gemini_api_key_here

# Pinned Gemini Model (Default: gemini-3.5-flash)
GEMINI_MODEL=gemini-3.5-flash

# Production Canonical Site URL (Used for SEO, canonical links, and Open Graph)
VITE_SITE_URL=https://naphix-resume.netlify.app
Variable Description Required
GEMINI_API_KEY Secret key for Google Gemini AI. Stored strictly server-side. For Job Match
GEMINI_MODEL Pinned model identifier (gemini-3.5-flash). No
VITE_SITE_URL Canonical URL for SEO metadata, Open Graph, and sitemaps. Yes

πŸ§ͺ Testing & Quality Assurance

Run the automated test suites locally:

# 1. SEO & Structured Data Validation (47 tests)
npx tsx scripts/test_seo.ts

# 2. Job Match Security & Rate Limiting (41 tests)
npx tsx scripts/test_job_match_security.ts

# 3. Gemini Job Match & Schema Audit (22 tests)
npx tsx scripts/test_job_match.ts

# 4. Universal Resume Importer Comprehensive Corpus (43 tests across 35 documents)
npx tsx scripts/test_universal_importer_comprehensive.ts

# 5. Production TypeScript Compilation & Build
npm run build

πŸ“š Technical Documentation Index

For detailed architectural specifications and design guides, explore the documentation:

  • πŸ›οΈ System Architecture: High-level overview, layers, data flow diagrams, state management, and security boundaries.
  • 🧩 Application Features: In-depth documentation of all user-facing features and workflows.
  • πŸ“₯ Universal Resume Importer: 10-stage deterministic parsing engine, layout reconstruction, and 4-factor confidence scoring.
  • πŸ€– AI Job Match System: Google Gemini integration, multi-tier security hardening, rate limiting, and caching.
  • πŸ“„ Document Export Subsystem: Vector PDF (@react-pdf/renderer) and native Word DOCX (docx) compilation specifications.
  • πŸ’» Developer Guide: Local workflows, coding conventions, project scripts, and testing procedures.
  • πŸš€ Deployment & Hosting: Production deployment architecture, environment variables, and Netlify hosting setup.
  • πŸ“‹ Architecture Decision Records: Historical ADRs documenting key technical choices and tradeoffs.
  • πŸ€– AI Usage Log: Transparent log of AI-assisted engineering, tooling, and milestones.

πŸ“Š Project Status

  • Status: Production Ready & Fully Maintained
  • Live Deployment: https://naphix-resume.netlify.app/
  • Test Suite Status: 100% Passing (153/153 automated test cases)
  • Zero Database / Zero Tracking: 100% Client-side resume persistence

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

Created with passion by Naphier Awalie.


πŸ“„ License

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

About

A high-performance, visual A4 resume builder with real-time live preview, universal custom sections, drag-and-drop reordering, and native ATS-compliant PDF and Word DOCX export. 100% client-side with zero tracking.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages