https://github.com/benidevo/vega-ai
Vega AI is an intelligent job application tracking system that transforms how job seekers manage their search. Job seekers can track every opportunity, instantly see their match score for each role, and generate AI-powered resumes and cover letters tailored to specific job requirements.
https://github.com/benidevo/vega-ai
ai docker docker-compose gemini golang htmx sqlite tailwindcss
Last synced: about 1 month ago
JSON representation
Vega AI is an intelligent job application tracking system that transforms how job seekers manage their search. Job seekers can track every opportunity, instantly see their match score for each role, and generate AI-powered resumes and cover letters tailored to specific job requirements.
- Host: GitHub
- URL: https://github.com/benidevo/vega-ai
- Owner: benidevo
- License: other
- Created: 2025-04-24T21:37:03.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2026-05-12T21:45:26.000Z (about 2 months ago)
- Last Synced: 2026-05-12T23:29:27.923Z (about 2 months ago)
- Topics: ai, docker, docker-compose, gemini, golang, htmx, sqlite, tailwindcss
- Language: Go
- Homepage: https://vega.benidevo.com
- Size: 2.86 MB
- Stars: 9
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Security: SECURITY.md
Awesome Lists containing this project
README
# Vega AI
[](https://github.com/benidevo/vega-ai/actions/workflows/ci.yaml)
[](https://github.com/benidevo/vega-ai/actions/workflows/docker-build.yml)
[](https://www.gnu.org/licenses/agpl-3.0)
[](https://github.com/benidevo/vega-ai/pkgs/container/vega-ai)
Vega AI is a self-hostable job search assistant. Track applications, generate tailored CVs and cover letters, get AI-powered job match scores, and capture jobs from LinkedIn via a browser extension.
Cloud instance: [vega.benidevo.com](https://vega.benidevo.com)
## Self-Hosted Quick Start
Requires Docker and an API key for any OpenAI-compatible provider (or a local Ollama instance).
### 1. Choose Your AI Provider
Vega AI works with any OpenAI-compatible provider. Pick one:
| Provider | Cost | Privacy | Setup |
|---|---|---|---|
| **Gemini** (default) | Free tier available | Cloud | [Get API key](https://aistudio.google.com/app/apikey) |
| **OpenAI** | Paid | Cloud | [Get API key](https://platform.openai.com/api-keys) |
| **Ollama** | Free | 100% local | [Install Ollama](https://ollama.com) |
| **LM Studio** | Free | 100% local | [Install LM Studio](https://lmstudio.ai) |
### 2. Create Configuration
**Gemini (quickest cloud start):**
```bash
mkdir vega-ai && cd vega-ai
echo "AI_KEY=your-gemini-api-key" > config
```
> `GEMINI_API_KEY` still works but is deprecated. Use `AI_KEY` instead.
**OpenAI:**
```bash
mkdir vega-ai && cd vega-ai
cat > config < config < **Note:** Models under ~3B parameters may produce inconsistent JSON output. 7B+ instruct-tuned models are recommended for reliable results. Older or custom GGUF models that don't support JSON mode will fail with a parse error.
### 3. Run with Docker
Run the container:
```bash
docker run --pull always -d \
--name vega-ai \
-p 8765:8765 \
-v vega-data:/app/data \
--env-file config \
ghcr.io/benidevo/vega-ai:latest
```
### 4. Access Vega AI
1. Visit
2. Log in with default credentials:
- Username: `admin`
- Password: `VegaAdmin`
3. **Important:** Change your password after first login via Settings → Account
## Features
- **CV and cover letter generation**: AI-generated documents tailored to a specific job description
- **Job match scoring**: AI analysis of how well your profile matches a job posting
- **CV parsing**: Upload a CV to auto-populate your profile
- **Job tracking**: Manage applications with customizable statuses
- **Browser extension**: Capture jobs from LinkedIn and other boards in one click
- **Self-hosted**: All data stays on your machine; no third-party storage
- **Cloud mode**: Hosted instance with per-user AI usage quotas
## Browser Extension
Download the **Vega AI Job Capture** extension from [GitHub Releases](https://github.com/benidevo/vega-ai-extension/releases/latest) for one-click job capture from LinkedIn.
### Installation Steps
1. Download the latest `.zip` file from the [releases page](https://github.com/benidevo/vega-ai-extension/releases/latest)
2. Extract the ZIP file to a folder on your computer
3. Open Chrome and navigate to `chrome://extensions/`
4. Enable "Developer mode" in the top right
5. Click "Load unpacked" and select the extracted folder
For development or to build from source, visit the [extension repository](https://github.com/benidevo/vega-ai-extension).
## Docker Options
### ARM64 Support (Apple Silicon)
The Docker images support both AMD64 and ARM64 architectures:
```bash
# Works on both Intel/AMD and ARM processors
docker pull ghcr.io/benidevo/vega-ai:latest
```
### Docker Compose
For easier management, use Docker Compose:
```yaml
# docker-compose.yml
services:
vega-ai:
image: ghcr.io/benidevo/vega-ai:latest
ports:
- "8765:8765"
volumes:
- vega-data:/app/data
env_file:
- config
restart: unless-stopped
volumes:
vega-data:
```
Then run: `docker compose up -d`
### Docker Swarm
Docker Stack Deploy doesn't read `.env` files ([known limitation](https://github.com/moby/moby/issues/29133)). Use one of these approaches:
```bash
# Option 1: Process env file first
docker-compose config | docker stack deploy -c - vega-stack
# Option 2: Export variables manually
export $(cat config | xargs)
docker stack deploy -c docker-compose.yml vega-stack
```
See [docs/DOCKER_SWARM.md](docs/DOCKER_SWARM.md) for detailed instructions.
### Advanced Configuration
- **Docker Secrets**: Use `_FILE` environment variables for secure configuration. See [Docker Swarm deployment](docs/DOCKER_SWARM.md#method-3-using-docker-secrets-recommended-for-production).
- **Development Setup**: Custom ports, SSL, external databases. See [docs/DEVELOPMENT.md](docs/DEVELOPMENT.md).
## Development
See [docs/DEVELOPMENT.md](docs/DEVELOPMENT.md) for development setup, testing, and contributing guidelines.
## License
This project is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0).
What this means:
- You can use, study, modify, and distribute the code
- If you run this software on a server, you must make your source code available to users
- Any modifications must also be released under AGPL-3.0
**Commercial licensing:** For commercial use without AGPL restrictions, contact for licensing options.