← All projects
liveMVPlaunched Feb 2026

Remote Jobs Board

Aggregated remote roles, deduplicated

A remote-job feed that pulls listings from multiple sources, removes duplicates, and serves them through a single filterable interface — so checking jobs in the morning is one tab instead of five.

Open the live app

problem

Remote job seekers refresh the same five boards every morning and re-read the same five reposts. Most aggregators add noise without removing duplication.

solution

Flask service fetches from multiple sources on a schedule, deduplicates by hash of (title + company + city), and presents the unified feed with category filtering and freshness signals.

architecture

dedupJob sourcesScrapersFlask appSQLiteWeb UI

external → compute → store → ui

outcome

One destination, fresher listings, fewer duplicates. Saves the daily 30-minute scroll.

stack

PythonFlaskBeautifulSoupWeb scrapingDocker

capabilities

  • Multi-source aggregation
  • Hash-based deduplication
  • Category filtering
  • Freshness indicators
  • Search and CSV export

lessons learned

  • 01Deduplication is mostly a normalisation problem — strip emojis, collapse whitespace, lowercase, then hash.
  • 02Freshness > volume. Showing 50 fresh listings beats 500 listings with 200 reposts buried inside.
  • 03Source operators want backlinks, not API keys — a credit + outbound link is a better deal than scraping.
← All projectsOpen the live app →