Your Schedule. Your Job. Your Match.

Inspiration

As students ourselves, we know how difficult it can be to balance school, work, and everything else going on in our lives.

Finding a part-time job is already challenging, but finding one that actually fits your schedule can be even harder. Most job-search websites let you filter by location, salary, or job type, but often overlook one important factor: your availability.

You might find a great opportunity, only to realize that the shifts overlap with your classes.

That's what inspired us to create ShiftMatch. We wanted to explore a simple idea:

What if, instead of adjusting our lives around a job, we could find jobs that fit our lives?

What It Does

ShiftMatch is a web app that helps students find part-time jobs based on their schedules and work preferences.

Students start by adding their weekly activities to a calendar, whether that's classes, studying, extracurricular activities, or personal commitments. They can then set their work preferences, including preferred shifts, and maximum weekly working hours.

Using this information, ShiftMatch ranks job opportunities based on how well they match each student's availability and preferences.

What makes ShiftMatch different is that it doesn't just display a compatibility percentage. It also provides a breakdown explaining why a particular job is a good match.

Another feature we're especially proud of is Preview My Week, which allows students to visualize how a potential job's shifts would fit alongside their existing activities before making a decision.

How We Built It

We built ShiftMatch using React, JavaScript, and CSS for the frontend, with Node.js and Express for the backend.

We used React Router for navigation and developed a matching system that compares students' schedules and preferences with job requirements. We also integrated an interactive map to display job opportunities around Montréal.

Since ShiftMatch was developed during a hackathon, we used sample job listings to demonstrate how the matching process works.

We divided the different features among our team members and used Git and GitLab to collaborate and integrate our work.

Challenges We Ran Into

One of our biggest challenges was figuring out how to compare a student's weekly activities with job shifts while also considering their work preferences. We wanted the matching system to be useful rather than simply checking whether two schedules overlap.

Another unexpected challenge came midway through development. We realized that the job API we had planned to use wasn't free. Since we were working within a limited timeframe and budget, we had to rethink how we would approach that issue. We decided to use hardcoded sample job listings for our demo so we could still demonstrate the matching system and focus on the main functionality of ShiftMatch.

We also faced challenges integrating everyone's work. Since we were developing different features simultaneously, we encountered Git conflicts and had to make sure everything worked together.

Overall, time was one of our biggest constraints. We had many ideas, but we had to adapt along the way and prioritize what we could realistically complete during the hackathon.

Accomplishments that we're proud of

We're proud that we managed to turn an idea inspired by our own experiences as students into a working web application.

We wanted to create something more useful than a traditional job board. Rather than simply listing available positions, ShiftMatch helps students understand which opportunities fit their schedules and why.

We're particularly happy with the job compatibility breakdown and weekly schedule preview, since these features reflect the main problem we wanted to solve.

We're also proud of what we accomplished together as a team in such a short amount of time.

What We Learned

Throughout the hackathon, we gained experience working as a team, managing our time, and integrating different parts of a web application.

We also learned how important it is to prioritize features when working under a deadline. Having a lot of ideas is exciting, but deciding what is realistic to implement is just as important.

Most importantly, this experience reminded us to think about the people who would actually use our application. We wanted every feature to contribute to making job searching easier for students.

What's Next for ShiftMatch

Although ShiftMatch is currently a demo, we see a lot of potential to develop it further.

One of our main goals is to allow businesses to post their own job openings. This would make matching work both ways: students could find jobs that fit their schedules, while employers could connect with students available for their required shifts.

We would also like ShiftMatch to become a trusted platform for student job searching by introducing employer verification and reviewing listings to help prevent scams and misleading job postings.

Other features we'd like to explore include AI-powered job recommendations, importing activities directly from calendar applications, and notifying students when new matching opportunities become available.

Ultimately, we hope ShiftMatch can grow into a platform that makes finding flexible, reliable work easier for students.

We believe students shouldn't have to choose between their education and earning a living.

With ShiftMatch, we want to help them find work that fits their lives, not the other way around.

Share this project:

Updates

Submission history