Analyze your GitHub repos against job descriptions and get concrete project ideas to close skill gaps.
Project description
ProjectBridge
Analyze your GitHub repos against job descriptions and get concrete project ideas to close skill gaps.
What should I build next to move toward the role I want?
Runs entirely on your machine. No accounts. No uploads.
Quickstart
pip install projectbridge
Try the built-in example (no GitHub token or AI provider required):
projectbridge analyze --example
Sample output (trimmed)
{
"schema_version": "1.0",
"strengths": [
{ "name": "Python", "category": "language" },
{ "name": "React", "category": "framework" },
{ "name": "Docker", "category": "infrastructure" }
],
"gaps": [
{ "name": "TypeScript", "category": "language" },
{ "name": "Kubernetes", "category": "infrastructure" },
{ "name": "PostgreSQL", "category": "tool" }
],
"recommendations": [
{
"title": "Build a REST API with Django",
"description": "Create a RESTful API using Django REST Framework...",
"skills_addressed": ["Django", "REST API"],
"estimated_scope": "medium"
},
{
"title": "Deploy a containerized app with Kubernetes",
"description": "Dockerize a web app and deploy to a local cluster...",
"skills_addressed": ["Docker", "Kubernetes"],
"estimated_scope": "medium"
}
]
}
Run with your own data:
projectbridge analyze --job job.txt --github-user your-username
Export as Markdown:
projectbridge export --job job.txt --github-user your-username
Install from source
git clone https://github.com/akuligowski9/project-bridge
cd project-bridge
pip install -e ./engine
What It Does
ProjectBridge reads a job description, scans your GitHub profile, and produces a structured analysis with:
- Strengths — skills you already demonstrate
- Gaps — skills the job requires that your repos don't show
- Recommendations — concrete project ideas to close those gaps
Key capabilities:
- 4 AI providers — OpenAI, Anthropic, Ollama, or no-AI heuristic fallback
- 97+ framework/tool detections — from React to Terraform
- 22 curated project templates — scoped as small, medium, or large
- Desktop app — Tauri + Svelte 5 UI for visual exploration
- Structured JSON output — schema v1.0, ready for CI/CD or downstream tools
- File-based caching — skip redundant GitHub API calls
- Privacy-first — tokens stay local, no telemetry, no uploads
Architecture
Tauri Desktop App (Svelte 5 + TypeScript)
↓
Python Engine (pip install projectbridge)
↓
Analysis Pipeline
├── GitHub repo scanner
├── Job description parser
├── Skill matcher
└── Recommendation engine
↓
AI Provider Interface (pluggable)
├── OpenAI ├── Anthropic ├── Ollama ├── None (heuristic)
↓
Structured JSON Output (schema v1.0)
AI Providers
AI is used in a bounded, optional layer. Core analysis runs without it.
| Provider | Install | Usage |
|---|---|---|
| None (default) | — | --no-ai or omit provider flags |
| OpenAI | pip install projectbridge[openai] |
--provider openai |
| Anthropic | pip install projectbridge[anthropic] |
--provider anthropic |
| Ollama | — (uses stdlib urllib) | --provider ollama |
Prompts and outputs are visible and editable. See engine/projectbridge/ai/prompts/.
Desktop App
The Tauri desktop app provides a visual interface for running analyses and exploring results.
cd app
npm install
npm run dev
Requires the Python engine to be installed (pip install -e ./engine).
Privacy
ProjectBridge is intentionally not SaaS.
- GitHub tokens never leave your machine
- Private repositories remain private
- No telemetry or analytics
- All outputs stored locally
Contributing
ProjectBridge is designed to be forked and extended. Common areas:
- AI provider integrations
- Language/framework detection
- Recommendation improvements
- Export formats
- UI improvements
See CONTRIBUTING.md.
License
MIT License — see LICENSE.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file projectbridge-0.1.1.tar.gz.
File metadata
- Download URL: projectbridge-0.1.1.tar.gz
- Upload date:
- Size: 46.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
24e7e9b9b331f0e9cc7b1831efb1cc3c49cf335a566aff7cd2541753012d50cc
|
|
| MD5 |
3ad33a7993bc98ac0546d8f9d3513955
|
|
| BLAKE2b-256 |
140c2cad2ff60338211e34a69af827533716c488cd4bc697b5788d70da356253
|
File details
Details for the file projectbridge-0.1.1-py3-none-any.whl.
File metadata
- Download URL: projectbridge-0.1.1-py3-none-any.whl
- Upload date:
- Size: 43.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
de89a1e619f4f6dec380f988c9410f8fb09c4366a7b8da7890b0a45c329d605a
|
|
| MD5 |
b3db4d79e4c9551bdc461fc7dd0bb7bd
|
|
| BLAKE2b-256 |
ff60d79a081af57c1809ed1fb4777c6f8273d0124b27fe637ef43afd51ca6b1d
|