{"id":32595780,"url":"https://github.com/benidevo/vega-ai","last_synced_at":"2026-05-23T12:01:34.561Z","repository":{"id":290270780,"uuid":"972308447","full_name":"benidevo/vega-ai","owner":"benidevo","description":"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.","archived":false,"fork":false,"pushed_at":"2026-05-12T21:45:26.000Z","size":2997,"stargazers_count":9,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2026-05-12T23:29:27.923Z","etag":null,"topics":["ai","docker","docker-compose","gemini","golang","htmx","sqlite","tailwindcss"],"latest_commit_sha":null,"homepage":"https://vega.benidevo.com","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/benidevo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-04-24T21:37:03.000Z","updated_at":"2026-05-12T21:45:22.000Z","dependencies_parsed_at":"2025-06-21T17:36:18.182Z","dependency_job_id":"f98fd1b1-1b78-4363-af30-ea92027a5043","html_url":"https://github.com/benidevo/vega-ai","commit_stats":null,"previous_names":["benidevo/prospector","benidevo/ascentio","benidevo/vega","benidevo/vega-ai"],"tags_count":13,"template":false,"template_full_name":null,"purl":"pkg:github/benidevo/vega-ai","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/benidevo%2Fvega-ai","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/benidevo%2Fvega-ai/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/benidevo%2Fvega-ai/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/benidevo%2Fvega-ai/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/benidevo","download_url":"https://codeload.github.com/benidevo/vega-ai/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/benidevo%2Fvega-ai/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33394672,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-23T04:15:53.637Z","status":"ssl_error","status_checked_at":"2026-05-23T04:15:53.242Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","docker","docker-compose","gemini","golang","htmx","sqlite","tailwindcss"],"created_at":"2025-10-30T04:14:09.335Z","updated_at":"2026-05-23T12:01:34.532Z","avatar_url":"https://github.com/benidevo.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Vega AI\n\n[![CI](https://github.com/benidevo/vega-ai/workflows/CI/badge.svg)](https://github.com/benidevo/vega-ai/actions/workflows/ci.yaml)\n[![Docker](https://github.com/benidevo/vega-ai/workflows/Build%20and%20Push%20Docker%20Image/badge.svg)](https://github.com/benidevo/vega-ai/actions/workflows/docker-build.yml)\n[![License: AGPL v3](https://img.shields.io/badge/License-AGPL_v3-blue.svg)](https://www.gnu.org/licenses/agpl-3.0)\n[![GitHub Container Registry](https://img.shields.io/badge/ghcr.io-vega--ai-blue)](https://github.com/benidevo/vega-ai/pkgs/container/vega-ai)\n\nVega 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.\n\nCloud instance: [vega.benidevo.com](https://vega.benidevo.com)\n\n## Self-Hosted Quick Start\n\nRequires Docker and an API key for any OpenAI-compatible provider (or a local Ollama instance).\n\n### 1. Choose Your AI Provider\n\nVega AI works with any OpenAI-compatible provider. Pick one:\n\n| Provider | Cost | Privacy | Setup |\n|---|---|---|---|\n| **Gemini** (default) | Free tier available | Cloud | [Get API key](https://aistudio.google.com/app/apikey) |\n| **OpenAI** | Paid | Cloud | [Get API key](https://platform.openai.com/api-keys) |\n| **Ollama** | Free | 100% local | [Install Ollama](https://ollama.com) |\n| **LM Studio** | Free | 100% local | [Install LM Studio](https://lmstudio.ai) |\n\n### 2. Create Configuration\n\n**Gemini (quickest cloud start):**\n\n```bash\nmkdir vega-ai \u0026\u0026 cd vega-ai\necho \"AI_KEY=your-gemini-api-key\" \u003e config\n```\n\n\u003e `GEMINI_API_KEY` still works but is deprecated. Use `AI_KEY` instead.\n\n**OpenAI:**\n\n```bash\nmkdir vega-ai \u0026\u0026 cd vega-ai\ncat \u003e config \u003c\u003cEOF\nAI_PROVIDER=openai\nAI_KEY=sk-your-openai-key\nAI_MODEL=gpt-4o-mini\nEOF\n```\n\n**Ollama (fully local, no API key):**\n\n```bash\n# First install and pull a model\nollama pull llama3.2\n\nmkdir vega-ai \u0026\u0026 cd vega-ai\ncat \u003e config \u003c\u003cEOF\nAI_PROVIDER=openai\nAI_KEY=ollama\nAI_BASE_URL=http://host.docker.internal:11434/v1\nAI_MODEL=llama3.2\nEOF\n```\n\n### Supported Models\n\nModels must support **JSON mode** (`response_format: json_object`). Instruct-tuned models from 2025 onwards reliably do. For example `gemini-2.5-flash`, `gpt-4o-mini`, or `llama3.2` via Ollama.\n\n\u003e **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.\n\n### 3. Run with Docker\n\nRun the container:\n\n```bash\ndocker run --pull always -d \\\n  --name vega-ai \\\n  -p 8765:8765 \\\n  -v vega-data:/app/data \\\n  --env-file config \\\n  ghcr.io/benidevo/vega-ai:latest\n```\n\n### 4. Access Vega AI\n\n1. Visit \u003chttp://localhost:8765\u003e\n2. Log in with default credentials:\n   - Username: `admin`\n   - Password: `VegaAdmin`\n3. **Important:** Change your password after first login via Settings → Account\n\n## Features\n\n- **CV and cover letter generation**: AI-generated documents tailored to a specific job description\n- **Job match scoring**: AI analysis of how well your profile matches a job posting\n- **CV parsing**: Upload a CV to auto-populate your profile\n- **Job tracking**: Manage applications with customizable statuses\n- **Browser extension**: Capture jobs from LinkedIn and other boards in one click\n- **Self-hosted**: All data stays on your machine; no third-party storage\n- **Cloud mode**: Hosted instance with per-user AI usage quotas\n\n## Browser Extension\n\nDownload 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.\n\n### Installation Steps\n\n1. Download the latest `.zip` file from the [releases page](https://github.com/benidevo/vega-ai-extension/releases/latest)\n2. Extract the ZIP file to a folder on your computer\n3. Open Chrome and navigate to `chrome://extensions/`\n4. Enable \"Developer mode\" in the top right\n5. Click \"Load unpacked\" and select the extracted folder\n\nFor development or to build from source, visit the [extension repository](https://github.com/benidevo/vega-ai-extension).\n\n## Docker Options\n\n### ARM64 Support (Apple Silicon)\n\nThe Docker images support both AMD64 and ARM64 architectures:\n\n```bash\n# Works on both Intel/AMD and ARM processors\ndocker pull ghcr.io/benidevo/vega-ai:latest\n```\n\n### Docker Compose\n\nFor easier management, use Docker Compose:\n\n```yaml\n# docker-compose.yml\nservices:\n  vega-ai:\n    image: ghcr.io/benidevo/vega-ai:latest\n    ports:\n      - \"8765:8765\"\n    volumes:\n      - vega-data:/app/data\n    env_file:\n      - config\n    restart: unless-stopped\n\nvolumes:\n  vega-data:\n```\n\nThen run: `docker compose up -d`\n\n### Docker Swarm\n\nDocker Stack Deploy doesn't read `.env` files ([known limitation](https://github.com/moby/moby/issues/29133)). Use one of these approaches:\n\n```bash\n# Option 1: Process env file first\ndocker-compose config | docker stack deploy -c - vega-stack\n\n# Option 2: Export variables manually\nexport $(cat config | xargs)\ndocker stack deploy -c docker-compose.yml vega-stack\n```\n\nSee [docs/DOCKER_SWARM.md](docs/DOCKER_SWARM.md) for detailed instructions.\n\n### Advanced Configuration\n\n- **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).\n- **Development Setup**: Custom ports, SSL, external databases. See [docs/DEVELOPMENT.md](docs/DEVELOPMENT.md).\n\n## Development\n\nSee [docs/DEVELOPMENT.md](docs/DEVELOPMENT.md) for development setup, testing, and contributing guidelines.\n\n## License\n\nThis project is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0).\n\nWhat this means:\n\n- You can use, study, modify, and distribute the code\n- If you run this software on a server, you must make your source code available to users\n- Any modifications must also be released under AGPL-3.0\n\n**Commercial licensing:** For commercial use without AGPL restrictions, contact \u003cvega@benidevo.com\u003e for licensing options.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbenidevo%2Fvega-ai","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbenidevo%2Fvega-ai","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbenidevo%2Fvega-ai/lists"}