AI-Powered Career Ingestion Engine & 6-Month Hyper-Personalized Learning Path Generator
Features • Architecture • Setup • Configuration • Structure • License
SkillWise is a career transition intelligence application. By parsing engineering resumes or structured LinkedIn datasets and querying state-of-the-art LLM providers, SkillWise conducts programmatic gap detection, runs zero-shot job simulation matching, visualizes progress timelines dynamically, and tracks target-milestone completion natively with local persistence.
- Native Parsing: Programmatic text layer extraction from PDF files via PyMuPDF (
fitz). - OCR Fallback Subsystem: Automatic fallback execution via
pytesseractto handle scanned or image-based resumes if initial text yields fail validation filters. - LinkedIn Data Ingestion: Explicit dictionary mapping and traversal routines parsing comprehensive LinkedIn profile JSON data exports (including experience schemas, timeframes, and certifications).
- Contextual Goal Extraction: Zero-shot analysis of high-level targeting statements (e.g., "AI Developer") utilizing LLMs to extract hard/soft skill requirements instantly.
- Narrative Gap Assessment: Runs comparative analysis against an ideal candidate profile to point out abstract missing components (e.g., architectural experiences, specific design patterns, or system-level exposures).
- Dynamic Gantt Visualizations: Translates markdown-based temporal learning schedules directly into interactive, color-coded timelines rendered natively via Plotly Express charts.
- Integrated Checklist & State Syncer: Tracking logic parsing task lists from roadmaps to map completion flags into local sync routines.
- Ad-Hoc Job Description Matching: Subsystem enabling immediate resume pairing against arbitrary copy-pasted job descriptions to produce fit metrics and percentage compatibility ratings.
- Targeted Remediation Plans: Generates targeted 6-month plans designed around neutralizing deficiencies found in a given job description.
- Local DB State Layer: Lightweight filesystem tracking layer using session IDs computed over a user's resume, goal, and role variations to auto-reconcile state indices.
- Sidebar History Workspace: Context management dashboard allowing search, active roadmap pinning, JSON exports, and continuation loading.
SkillWise uses an asynchronous, modular design separating front-end client rendering states from model interface layers and systemic document tools:
graph TD
%% Nodes
UI["Streamlit UI<br>(app.py)"]
Parser["Resume Parser<br>(resume_parser.py)"]
LLM["LLM Execution<br>Pipelines (llm_helper.py)"]
DB["Persistence Layer<br>(roadmaps_db_*.json)"]
PyMuPDF["PyMuPDF<br>(Text)"]
LLMEngine["Multi-Provider LLM<br>(Gemini, Claude, GPT, Groq, Ollama)"]
%% Connections
UI --> Parser
UI --> LLM
UI --> DB
Parser --> PyMuPDF
LLM --> LLMEngine
%% Styling
style UI fill:#2c3e50,stroke:#34495e,stroke-width:2px,color:#fff
style LLM fill:#16a085,stroke:#1abc9c,stroke-width:2px,color:#fff
style Parser fill:#2980b9,stroke:#3498db,stroke-width:2px,color:#fff
style DB fill:#7f8c8d,stroke:#95a5a6,stroke-width:2px,color:#fff
- Frontend Framework: Streamlit (Layout engine, Session state controller).
- AI Core Orchestration Platform: Unified
llm_helper.pysupporting:- Google Gemini
- OpenAI (ChatGPT)
- Anthropic (Claude)
- Groq
- Ollama (Local)
- OpenRouter
- xAI (Grok)
- Mistral
- Visualization Layer: Plotly Express + Pandas (Time-delta processing engines tracking duration descriptors).
- Document Exporters: ReportLab Custom Canvas Engine.
- Python 3.11 or Python 3.13
- Tesseract OCR Engine binaries configured in the execution environment system path.
git clone https://github.com/sizwinz/SkillWise.git
cd SkillWise- Debian/Ubuntu Linux:
sudo apt update
sudo apt install -y tesseract-ocr- macOS (via Homebrew):
brew install tesseract- Windows:
Download and run the windows executable distribution installer from the official UB-Mannheim Tesseract Repository. Ensure the binary path is correctly included inside your Environment variables
PATH.
pip install -r requirements.txtSet up configuration settings by creating a .env environment variables block inside your directory root path:
GEMINI_API_KEY=your_actual_google_gemini_api_key_hereAlternatively, the application sidebar provides a secure configuration utility selectbox allowing direct manual entry of API keys for Google Gemini, OpenAI, Anthropic Claude, Groq, Mistral, xAI Grok, or Ollama URL straight into the context lifecycle cache at runtime.
Execute the application local server:
streamlit run app.pySkillWise/
├── .devcontainer/
│ └── devcontainer.json # Standard container-orchestrated runtime definitions
├── .streamlit/
│ └── config.toml # Native Streamlit theme properties
├── screenshots/
│ ├── upload.png # User onboarding / application capture panels
│ └── roadmap.png # Visual interactive dashboard timelines
├── app.py # Central Streamlit entrypoint & component pipeline
├── llm_helper.py # Unified LLM provider completions and models fetcher
├── resume_parser.py # Fitz extraction logic & Tesseract scanning engines
├── goal_analyzer.py # Target role & token parsing validation modules
├── roadmap_generator.py # Retry-backoff logic calling LLM generation routines
├── smart_gap_analyzer.py # Zero-shot resume deficiency scoring pipelines
├── skills_data.json # Fallback taxonomy lists tracking static tech skills
├── style.css # Custom UI styling configurations
├── requirements.txt # Primary pinned setup package dependency lists
└── packages.txt # Mandatory platform-layer binary installation targets
Distributed directly under the terms of the open-source MIT License. Check out the LICENSE verification file for detailed phrasing constraints.

