Home Projects Roadmap Blog GitHub Contact
Completed Python · Desktop app · Automation

Jobalots Watcher

A local Windows GUI that watches Jobalots for user-defined search terms every six hours and notifies when new matching auction listings appear.

PythonTkinterJSON APIWindows

Objective

Create a local Windows GUI that watches Jobalots for user-defined search terms every six hours and notifies when new matching auction listings appear.

Outcome

A working Python/Tkinter desktop application was built and verified against live Jobalots data.

Features

  • Add and save multiple search terms.
  • Run a manual "check now" on demand.
  • Start a six-hour automated watch cycle.
  • Open Jobalots searches and individual results directly in the browser.
  • Remember previously seen listing URLs to avoid repeat alerts.
  • Notify only when genuinely new matches appear.
  • Display listing titles, prices and product links.
  • Launch through a Windows batch file.

Technical approach

The first HTML-parsing approach was rejected because Jobalots renders product data client-side. The watcher instead calls the same JSON backend the site itself uses:

GET https://live1.jobalots.com/api/auction-list-v2

This avoids running a heavyweight embedded browser and keeps the app lightweight enough for everyday local use.

Verification

  • Python syntax check passed.
  • A live search for "lego" returned 24 current listings.
  • Product titles, prices and URLs were returned correctly.
  • Price display was switched to plain "GBP" text to avoid Windows console encoding problems with the £ symbol.

Deliverables

  • jobalots_watcher.py — the application itself
  • run_jobalots_watcher.bat — one-click launcher
  • README_Jobalots_Watcher.md — usage documentation

Known limitation

The desktop application has to stay running for its internal six-hour schedule to execute — there's no background service yet.

Possible improvements

  • Run automatically at Windows sign-in.
  • Move scheduling to Windows Task Scheduler so the GUI doesn't need to stay open.
  • Add email, Telegram or mobile push notifications.
  • Add maximum-price and exact-match filters.
  • Add a history/export view for discovered listings.
  • Add retry/backoff logic and endpoint-change diagnostics.
  • Package as a signed standalone .exe.