Cover Letter Generator

AI-POWERED CAREER TOOL

Intelligent cover letter generation system that creates personalized, professional cover letters using AI. Features job-specific customization, ATS optimization, multiple templates, and instant PDF export.

2026 Ruby Private Repository

The Problem

Jobseekers spend hours crafting individual cover letters for each application, often struggling to highlight relevant skills and match company culture. Generic templates fail to pass ATS systems, while custom writing is time-consuming and inconsistent.

The Solution

A cross-platform desktop application powered by Tauri and Rails that analyses job descriptions, extracts key requirements, and generates tailored cover letters in under 60 seconds. Combines Perplexity AI with LanguageTool grammar checking and personal dictionary support for production-ready output.

The Impact

Native desktop performance with web technologies. Users report 30x faster application processes with significantly higher callback rates. The tool democratises professional writing assistance while maintaining privacy through local CV storage.

TECHNOLOGY_STACK.EXE

Ruby
Perplexity AI API
Tauri
Node
Ruby On Rails
React

KEY_FEATURES.EXE

AI-Powered Generation

Leverages Perplexity AI Sonar Model to analyze job descriptions and generate highly personalized cover letters that match the specific role, company culture, and required skills. The AI understands context and creates human-like, engaging content.

ATS Optimization

Automatically extracts and incorporates critical keywords from job descriptions to ensure your cover letter passes Applicant Tracking Systems. Analyzes keyword density and relevance scoring for maximum visibility.

Instant PDF Export

Generate professional, formatted PDF documents ready for submission. Multiple template designs with proper spacing, margins, and typography. Supports various paper sizes and ATS-friendly formatting.

Job Description Parser

Intelligent parsing engine extracts key requirements, responsibilities, and qualifications from job postings. Identifies must-have vs. nice-to-have skills and prioritizes relevant experience highlighting.

Version History & Templates

Save multiple versions of cover letters for different roles. Create reusable templates for common job types. Track revisions and compare different approaches to optimize your applications.

Real-time Preview

Live preview of your cover letter as it's generated. Make instant edits and see changes reflected immediately. Character count tracking and readability scoring help optimize length and clarity.

Multi-Resume Support

Upload and manage multiple resumes for different career paths. The AI automatically selects relevant experiences based on the target role, ensuring consistency between your resume and cover letter.

Privacy & Security

End-to-end encryption for all personal data and documents. No storage of sensitive information on external servers. Local processing options available for maximum privacy control.

WORKFLOW_PROCESS.EXE

01

Upload Resume

Import your resume (PDF, DOCX, or text) into the desktop app. PDF-Reader gem extracts work experience, skills, education, and achievements using advanced parsing algorithms. Data stored locally for privacy.

02

Paste Job URL or Description

Add the target job posting URL or paste requirements directly. Perplexity AI (sonar-pro model) with web search capabilities analyses requirements, company culture indicators, and key qualifications automatically.

03

AI Generation

Perplexity AI creates a personalised cover letter matching your CV to job requirements. Includes specific examples, achievement-focused language, and proper business letter formatting with your real name extracted from CV.

04

Grammar Check & Personal Dictionary

LanguageTool API automatically checks grammar with "picky" mode enabled. Custom personal dictionary filters out company names, technical terms, and proper nouns to prevent false corrections. Shows error categories and ignored suggestions.

05

Export & Track

Download corrected cover letter as TXT or copy to clipboard. Rails backend tracks application history, status (Applied/Interview/Rejected/Offer), salary ranges, and notes. SQLite database stores all data locally.

TECHNICAL_HIGHLIGHTS.EXE

Tauri Desktop Framework

Rust-based native desktop application with WebView frontend. Significantly smaller bundle size (~3MB) compared to Electron. Native performance, secure IPC communication, and cross-platform compatibility (Windows, macOS, Linux). Production-ready with code signing and auto-updates.

Rails 8.1 Backend

Ruby on Rails MVC architecture with ActiveRecord ORM for SQLite database. RESTful API endpoints for job applications CRUD. Solid Queue for background jobs, Stimulus JS for frontend interactivity, and Turbo for SPA-like navigation without full page reloads.

Perplexity AI Integration

Sonar-pro model with web search capabilities for job posting analysis. Custom prompts extract company names, position titles, salary ranges, and key requirements from URLs. Smart CV parsing with name extraction and experience matching. Fallback error handling and timeout management.

LanguageTool + Personal Dictionary

Advanced grammar checking with LanguageTool API (picky mode) for professional-grade corrections. Personal dictionary feature (stored in SQLite) filters out custom words—company names like "Perplexity", tech terms like "TypeScript", or proper nouns. Shows ignored suggestions count and error categories.

PDF Resume Processing

PDF-Reader gem extracts text from multipage CVs with character-perfect accuracy. Supports PDF, TXT, and DOCX formats. Local storage in public/cvs/ folder for privacy—no cloud uploads. First 3000 characters sent to AI to stay within token limits.

Data Management

SQLite3 database for lightweight local storage. ActiveRecord models with validations (company_name, position_title, job_url required). Status tracking with predefined enum ['Applied', 'Interview', 'Rejected', 'Offer']. Automated backups and migration support.

SYSTEM_ARCHITECTURE.EXE

Frontend Layer

Tauri v2 Rust Core WebView2 Stimulus JS Turbo Rails

Backend Layer

Rails 8.1.2 ActiveRecord SQLite3 Puma Server Solid Queue

External APIs

Perplexity AI LanguageTool PDF-Reader dotenv

Data Flow: User uploads CV → PDF-Reader extracts text → Stores in public/cvs/ → User pastes job URL → Perplexity scrapes & analyses → Generates cover letter → LanguageTool checks grammar (respects personal dictionary) → Output displayed in Tauri app → Saves to SQLite via Rails backend.

Private Repository

This project's source code is kept private due to API key security (Perplexity AI requires paid tokens) and proprietary algorithms. The system integrates with paid services requiring secure credential management via dotenv-rails. Tauri build configurations and code signing certificates are also confidential. If you'd like to discuss the technical implementation, architecture decisions, or see sanitised code samples, please reach out.

GET IN TOUCH

WHY_TAURI.EXE

Tauri Advantages

  • Bundle Size: ~3MB vs Electron's ~150MB
  • Memory Usage: Native Rust core, minimal overhead
  • Security: No Node.js runtime vulnerabilities
  • Performance: Native OS API access via Rust
  • Cross-Platform: Single codebase for Windows/Mac/Linux

Rails Backend Benefits

  • Convention over Configuration: Rapid development
  • ActiveRecord ORM: Clean database interactions
  • Migrations: Version-controlled schema changes
  • Gems Ecosystem: PDF-Reader, ruby-openai ready
  • Testing Framework: Built-in RSpec/Minitest support