Inspiration
Most internship platforms recommend jobs using resumes and keyword matching — which works, but misses important signals about what students are actually interested in.
Students and early-career applicants often don’t have resumes that reflect their true interests yet, especially if they’re trying to pivot (ex: SWE → Data, Backend → AI, etc.). Traditional platforms keep users stuck in the “past version” of themselves.
So we asked:
What if your internship recommendations were based on your behavior, not just your resume?
That’s how Internity was born — a system that treats job-seeking behavior as a signal of identity.
What it does
Internity is a Chrome extension + backend system that observes how users interact with job postings and continuously improves internship recommendations.
It tracks behavior signals such as:
Time spent on a job page (dwell time)
Scroll depth (how far down the user scrolls)
Job posting visits
Explicit feedback outcome: 1) Applied 2) Not Applied
Then it uses analytics + AI to:
Turn job interaction behavior into a personalized “interest profile”
Identify patterns in what the user consistently reads, revisits, and applies to
Recommend internships that align with the direction the user is actively exploring
How we built it
Internity is structured into 3 parts:
1) Chrome Extension (Frontend)
Detects job interactions in real-time
Tracks events through content scripts + background worker
Dashboard displays recommended jobs
Tech Stack
JavaScript
HTML/CSS
Chrome Extension APIs
2) Backend (Data + Analytics Engine)
Stores:
job postings
user events
outcomes
analytics queries + recommendation retrieval
Also powers:
skill matrix updates
top skills selection queries
ranked job retrieval
Tech Stack
Node.js + Express
PostgreSQL
3) AI Engine (Recommendation + Learning Loop)
We use AI to “understand” jobs beyond keywords:
Extract skills from job descriptions
Combine behavior signals (engagement + apply outcome) into an evolving interest profile
Recommend relevant and related roles based on learned skill interests
Tech Stack
Python + FastAPI
Gemini API Key
Challenges we ran into
Chrome extension architecture: content scripts vs background scripts were tricky to keep consistent
Reliable event tracking: scroll depth, revisits, and timing needed debouncing + edge case handling
Job structuring: cleaning scraped descriptions and extracting meaningful skill signals
Accomplishments that we're proud of
Built a working job-behavior tracking system inside a Chrome extension
Created a real analytics-ready pipeline (job postings → database → insights)
Designed the AI learning loop so recommendations evolve over time
Demonstrated a product aligned with identity: career trajectory inferred through behavior
What we learned
Behavioral data is extremely powerful — it tells the truth even when resumes don’t
Funnels and cohorts aren’t just business metrics — they reveal intent and identity signals
Building for “learning over time” changes how you structure your entire data model
What's next for Internity
Planned improvements:
Full resume parsing + bootstrap initial recommendations
AI explainability (“because you saved/applied to similar roles…”)
Personalized dashboards: identity arc, skill gaps, growth insights
More job sources (Indeed, Glassdoor)
Built With
- css
- express.js
- fastapi
- gemini
- html
- javascript
- node.js
- postgresql
- python
- react
- tailwind-css

Log in or sign up for Devpost to join the conversation.