DEV Community

the bomber
the bomber

Posted on

How I stopped missing the best freelance gigs with simple filters

Ever feel like the best freelance jobs slip through the cracks?

I’m a contractor here in Palm Beach County, and I rely on a small home‑run lead scanner to pull job posts from a dozen boards. The problem? I was getting flooded with old or irrelevant listings and the real opportunities got lost in the noise.

1⃣ Set a recency window per board

Different boards update on different schedules. A 24‑hour window works for fast‑moving sites like Upwork, but a 72‑hour window is more realistic for niche boards that only refresh a few times a week.

# Example: apply board‑specific recency limits
RECENCY = {
    "upwork": 24,   # hours
    "guru": 48,
    "localboard": 72,
}

def is_recent(post):
    max_age = RECENCY.get(post.board, 48)
    return (now - post.timestamp).total_seconds() / 3600 <= max_age
Enter fullscreen mode Exit fullscreen mode

2⃣ Add simple rule checks to weed out noise

A few quick regex rules catch most junk:

  • Exclude posts that contain "internship" or "unpaid".
  • Require at least one keyword from your service list (e.g., "electrician", "HVAC", "roof repair").
  • Drop listings that have a salary range below your minimum rate.
EXCLUDE_PATTERNS = [r"internship", r"unpaid"]
KEYWORDS = ["electrician", "hvac", "roof repair"]
MIN_RATE = 30  # $/hour

def passes_rules(post):
    text = f"{post.title} {post.description}".lower()
    if any(re.search(p, text) for p in EXCLUDE_PATTERNS):
        return False
    if not any(k in text for k in KEYWORDS):
        return False
    if post.rate and post.rate < MIN_RATE:
        return False
    return True
Enter fullscreen mode Exit fullscreen mode

3⃣ Combine the filters and keep the list tidy

Run the two checks together before you push the leads to your inbox or Slack channel. The result is a short, high‑quality list you can actually act on.

filtered = [p for p in incoming_posts if is_recent(p) and passes_rules(p)]
send_to_slack(filtered)
Enter fullscreen mode Exit fullscreen mode

Since tightening the windows and adding those rule checks, my inbox is no longer a dump of stale ads. I spend less time scrolling and more time bidding on jobs that actually match my trade. If you’re juggling multiple boards, give these tweaks a try—you’ll see the difference within a day.

Top comments (0)