Inspiration
Searching for a job in the modern tech ecosystem is often exhausting and fragmented. Job seekers spend hours bouncing between disparate job portals—such as JSearch, Arbeitnow, LinkedIn, and regional boards—only to encounter unformatted raw HTML descriptions, missing metadata, and redundant listings.
More importantly, conventional job platforms are passive: they present a list of requirements without telling applicants how closely their current skills align or what specific technical gaps they need to bridge.
We built Bridge-IQ to solve this dual problem: unifying live job listings into a single, clutter-free dashboard while automatically analyzing candidate skill gaps to make job hunting actionable and efficient.
How We Built It
Bridge-IQ features a modular full-stack architecture built with a React (Vite) + Tailwind CSS frontend and a Python micro-backend:
- Dual-Engine Aggregation Pipeline: The Python backend concurrently fetches and normalizes live job feeds from both JSearch (RapidAPI) and the Arbeitnow API.
- Text Cleaning & Sanitization Engine: Raw HTML payloads often suffer from double-encoded entities (
<p>) and orphaned tags. We built a custom multi-pass DOM parsing and regular expression pipeline (cleanText.js) that unescapes HTML, strips rogue formatting tags, and line-clamps descriptions into clean card previews. - Skill Analytics & Gap Diagnostic: The system extracts candidate skills from user profiles and cross-references them against live job descriptions to quantify profile alignment using a Skill Match Index ($SMI$):
$$\text{Skill Match Index } (SMI) = \left( \frac{\vert{}S_{\text{candidate}} \cap S_{\text{job}}\vert{}}{min(\vert{}S_{\text{job}}\vert{}, 1)} \right) \times 100\%$$
Where $S_{\text{candidate}}$ represents the user's verified skills and $S_{\text{job}}$ represents the extracted required skills for the target position.
Challenges We Ran Into
- API Authentication & Deployment Environments: Managing RapidAPI authorization across local development and production cloud platforms (Netlify) posed significant hurdles. Vite embeds environment variables (
VITE_) during static site generation, while Python loads.envfiles at runtime. We solved this by creating a dynamic directory lookup pipeline for.envfiles and explicitly configuring Netlify build-time environment variables. - Mixed Content & CORS Security Restrictions: Deploying the React frontend on Netlify over HTTPS presented cross-origin issues when fetching data from unencrypted backend endpoints. We resolved this by standardizing backend requests over secure HTTPS protocols and configuring CORS headers.
- Data Heterogeneity: Different job APIs return completely different JSON structures (e.g.,
job_titlevstitle,employer_namevscompany_name). We standardized all incoming payloads into a unified JSON contract before sending them to the UI.
Accomplishments That We're Proud Of
- Seamless Dual-Source Execution: Built a robust job search engine that fallback-handles API limits while giving users unified access to thousands of live tech postings.
- Flawless UI Formatting: Transformed messy, unreadably formatted job descriptions into clean, beautifully styled visual cards with real-time source badges (
JSearch/Arbeitnow). - Zero Silent Failures: Integrated explicit terminal and console diagnostic logs that ensure complete transparency across key loading, HTTP status codes, and payload delivery.
What We Learned
- Advanced environment variable injection strategies across Vite, Python, and cloud hosts like Netlify/Render.
- Robust string parsing techniques using
DOMParserand regex sanitization to safeguard frontend applications against malformed text data. - Asynchronous API integration, rate-limit management, and data contract standardization in Python.
What's Next for Bridge-IQ
- AI-Powered Resume Parsing: Allowing users to upload PDF resumes to automatically extract skills for instant matching.
- Direct Application Tracking: A kanban board feature enabling users to track application statuses (Applied, Interviewing, Offered).
- Automated Learning Path Recommendations: Recommending specific courses or tutorials for missing skills identified in the gap analysis.
Log in or sign up for Devpost to join the conversation.