Applyo is a privacy-focused, local-first web application designed for managing, tracking, and automating job applications. Built with React, TypeScript, and Vite, Applyo integrates local file system storage with multi-provider AI capabilities to help applicants track job listings, parse job requirements, and generate tailored cover letters and resumes.
- Kanban and Board Views: Track application statuses through configurable workflow stages (Interested, Applied, Response Received, Interviewing, Offer, Rejected).
- Comprehensive Job Data: Store details such as company name, position title, key tasks, qualifications, salary estimates, work locations, and entry-level/experience requirements.
- Document Attachment Management: Keep cover letters, resumes, certificates, and notes organized per job application.
- File System Access API Integration: Directly manages user files on local storage, organizing data into clean folder hierarchies (
Company Name/Job Title/metadata.json). - IndexedDB and LocalStorage Fallback: Ensures functionality across browsers by falling back to indexed storage when local directory access is unavailable.
- Progressive Web App (PWA): Supports offline access and desktop installation.
- Multi-Provider LLM Integration: Supports Google Gemini, Anthropic Claude, OpenAI, and custom OpenAI-compatible endpoints (such as local Ollama or LM Studio models).
- Automated Job Parsing: Extracts key details, duties, and candidate requirements directly from unstructured job posting text or URLs.
- Tailored PDF Generation: Generates customized cover letters and tailored resumes targeted to specific job postings, exporting directly to PDF.
- Interactive Context-Aware AI Assistant: Embedded assistant drawer to draft correspondence, analyze job fit, or answer application questions.
Applyo is built as a single-page application prioritizing privacy and performance:
- Frontend Core: React 18, TypeScript, Vite
- Styling & UI: Custom CSS, Lucide React icons
- Document Export:
html2pdf.js,pdfjs-dist - Data Persistence: Web File System Access API,
idb(IndexedDB helper) - Optional CORS Proxy: Dedicated Node.js express proxy (
cors-proxy/) for handling requests to local or custom LLM endpoints without CORS restrictions.
- Node.js: Version 18.0 or higher
- Package Manager: npm 9.0+ (or yarn / pnpm)
- Browser: Chromium-based browser (Google Chrome, Microsoft Edge, Brave, Opera) recommended for full File System Access API features.
Clone the repository and install dependencies:
git clone https://github.com/yourname/applyo.git
cd applyo
npm installStart the local development server:
npm run devNavigate to http://localhost:5173 in your browser.
To construct an optimized production build:
npm run build
npm run previewWhen connecting to local AI models (e.g., Ollama or LM Studio) or third-party endpoints that block cross-origin requests from web browsers, use the provided CORS proxy.
Navigate to the cors-proxy directory and start the server:
cd cors-proxy
npm install
npm startOr deploy using Docker Compose:
docker-compose up -d| Script | Description |
|---|---|
npm run dev |
Launches Vite in development mode |
npm run build |
Compiles TypeScript and creates a production bundle in dist/ |
npm run preview |
Preview the built production application locally |
npm run lint |
Evaluates code with ESLint |
This project is open-source under the MIT License.
