Inspiration

Our journey began with a simple observation: the monthly "Who is Hiring" thread on Hacker News is a goldmine of tech job opportunities, but its unstructured format makes it challenging for job seekers to find relevant positions quickly. We asked ourselves, "What if we could transform this wealth of information into a personalized job alert system?" This question became the driving force behind Hiring News.

What it does

  1. Job Aggregation: Collects and processes job listings from the monthly "Who is Hiring" thread on Hacker News.

  2. Personalized Job Matching: Allows users to create profiles with their skills, experience, and job preferences. It then matches these profiles against the collected job listings.

  3. Customized Notifications: Sends personalized job alerts to users via email. Users can choose to receive these notifications daily or weekly based on their preference.

  4. Efficient Job Discovery: Saves users time by eliminating the need to manually sift through hundreds of job postings on Hacker News.

  5. User-Friendly Interface: Provides an intuitive platform for users to manage their profiles, view matched jobs, and adjust their notification settings.

How we built it

  1. Convex Backend: We leveraged Convex as our primary backend technology, utilizing its real-time database, efficient file storage, and cron job capabilities.

  2. Data Collection: We implemented Convex cron jobs to regularly fetch new job postings from the Hacker News API, ensuring our job database stays up-to-date.

  3. AI-Powered Data Structuring: We integrated OpenAI's API to transform unstructured job postings into a standardized, searchable format. This step was crucial in making the data useful for matching.

  4. User Authentication: We integrated Clerk for straightforward user authentication.

  5. Profile Management: We built a user-friendly interface for creating and updating job seeker profiles. This includes handling resume uploads using Convex's file storage system.

  6. Matching Algorithm: We implemented the Levenshtein Distance algorithm to match user skills with job requirements. This allows for flexible matching that can handle slight variations in wording.

  7. Notification System: We set up separate Convex cron jobs for daily and weekly email runs. These jobs query the database for relevant jobs based on user preferences and trigger personalized email alerts.

  8. Frontend Development: We created an intuitive user interface to interact with our Convex backend, allowing users to easily manage their profiles and preferences.

Challenges we ran into

Efficient Job Matching: Matching jobs according to user skills with available positions proved to be a complex task. Job descriptions and user-inputted skills often had variations in wording or spelling. To address this, we implemented the Levenshtein Distance algorithm. This allowed us to calculate the similarity between strings, enabling more flexible and accurate matching between job requirements and user skills. The implementation required careful optimization to ensure it could handle a large number of comparisons efficiently within our Convex backend.

Accomplishments that we're proud of

  1. AI-Powered Data Structuring We successfully harnessed the power of AI to convert unstructured Hacker News job postings into a standardized, searchable format. This breakthrough enables the core functionality of our app and sets the foundation for accurate job matching.

  2. Advanced Matching Algorithm Our implementation of the Levenshtein Distance algorithm for job matching allows for fuzzy matching of skills and job requirements, greatly enhancing the relevance of job recommendations for our users.

  3. Rapid Development Cycle Despite the complex features and integrations, we developed a fully functional application.

What we learned

Building Hiring News was an incredible learning experience:

  1. Convex Mastery: We dove deep into Convex's capabilities, learning to leverage its real-time database, efficient file storage, and cron jobs to create a responsive and automated system.

  2. AI Integration: We explored the power of OpenAI's API to structure unstructured data, a crucial step in making Hacker News job posts searchable and filterable.

  3. User-Centric Design: We learned the importance of creating a smooth, intuitive user experience, from easy profile creation to personalized email alerts.

What's next for Hiring News

Multiple Platform Integration: We aim to incorporate job listings from other tech job boards and company career pages. This will provide a more comprehensive view of the job market for our users.

Built With

Share this project:

Updates