As students ourselves, we experienced the frustration of scrolling through countless irrelevant job postings on generic platforms. Most job boards overwhelmed us with opportunities that didn't match our skills or career goals. We envisioned a platform specifically designed for students and early professionals—one that intelligently connects them with roles where they'd actually succeed, not just another listing site. What It Does CareerSync is a smart job portal that uses skill-based matching to recommend personalized opportunities. Users create profiles with their skills, and our algorithm calculates compatibility scores for every job listing. The platform features quick search, advanced filters (category, location, job type), saved jobs, and detailed job previews with highlighted skill matches—all in a clean, mobile-responsive interface. How We Built It We developed CareerSync using HTML, CSS, and vanilla JavaScript for the frontend, ensuring a fast and lightweight experience. Firebase Authentication handles user login/logout, while Firestore serves as our real-time database for jobs and user profiles. We implemented a custom matching algorithm that compares user skills with job requirements and calculates percentage matches. LocalStorage maintains saved jobs across sessions. The responsive design adapts seamlessly from desktop to mobile using CSS Grid and media queries. Challenges We Faced Our biggest challenge was creating an accurate skill-matching algorithm. Initial attempts used exact string matching, which missed variations like "JavaScript" vs "JS" or "Machine Learning" vs "ML." We solved this by implementing lowercase normalization and partial matching logic. Another hurdle was synchronizing Firebase authentication with job loading—we had to ensure user skills loaded before calculating matches, requiring careful async/await implementation. We also struggled with mobile responsiveness, particularly the hamburger menu and saved jobs panel, which required multiple iterations to feel natural on smaller screens. What We Learned This project taught us the importance of asynchronous JavaScript when working with external databases. We gained hands-on experience with Firebase services and learned how NoSQL databases differ from traditional SQL structures. Building the filter system deepened our understanding of array methods like map(), filter(), and sort(). We also learned that user experience matters more than flashy features—our simple, clean interface tested better than earlier complex designs. Most importantly, we learned to iterate based on real user feedback rather than assumptions. What's Next We plan to implement real-time job notifications when new matches appear, add resume parsing to auto-populate skills, create an employer dashboard for posting jobs, and integrate application tracking so users can monitor their progress. We're also exploring AI-powered interview preparation features.
Log in or sign up for Devpost to join the conversation.