Alavanca is a desktop app that uses AI to tailor your resume for specific job postings. Upload your resume (PDF/DOCX), paste the job description, and get back an optimized resume with scoring and keyword analysis.
- PDF/DOCX Upload — import your resume in any format
- Job URL Scraping — automatically extract job descriptions from URLs
- 3-Step AI Pipeline — structuring → analysis → optimization
- Scoring & Keyword Analysis — know exactly where your resume can improve
- PDF/DOCX Export — download the optimized resume ready to submit
- Optimization History — track all generated versions
- Claude CLI & Codex CLI Support — choose your preferred AI provider
| Technology | Usage |
|---|---|
| Electron | Cross-platform desktop app |
| React | User interface |
| TypeScript | Static typing |
| Tailwind CSS | Styling |
| SQLite | Local database |
| Vite | Build & HMR |
| Zustand | State management |
┌─────────────────────────────────────────────┐
│ Electron │
│ │
│ ┌──────────┐ ┌──────────┐ ┌───────────┐ │
│ │ Main │──│ Preload │──│ Renderer │ │
│ │ (Node.js)│ │ (Bridge) │ │ (React) │ │
│ └──────────┘ └──────────┘ └───────────┘ │
│ │ │ │
│ ┌──────────┐ ┌───────────┐ │
│ │ SQLite │ │ Zustand │ │
│ │ Services │ │ Store │ │
│ │ AI (CLI) │ │ Tailwind │ │
│ └──────────┘ └───────────┘ │
└─────────────────────────────────────────────┘
Communication between Renderer and Main happens via IPC through window.electronAPI, defined in the preload bridge.
- Node.js >= 18
- npm
- Claude CLI or Codex CLI installed
git clone https://github.com/joaoalvess/alavanca.git
cd alavanca
npm install
npm start| Command | Description |
|---|---|
npm start |
Start the app in dev mode with HMR |
npm run lint |
Run ESLint |
npm run package |
Package the app for distribution |
npm run make |
Generate native installers |
src/
├── main/ # Main process (Node.js)
│ ├── db/ # SQLite schema & access
│ ├── ipc/ # IPC handlers (ai, resume, settings, history)
│ └── services/ # Services (AI providers, parsing, export)
├── preload/ # Bridge between Main and Renderer
└── renderer/ # React UI
├── components/ # Reusable components
├── pages/ # Dashboard, Optimize, History, Settings
├── stores/ # Zustand store
└── types/ # Shared TypeScript types
This project is licensed under the MIT License.