A bot that watches prices so you don't have to.

A lot of "automate this" requests are really the same job: check something on a schedule, filter it, tell me when it's worth knowing. Below is a real one running against a live public API, not a mockup.

Own project, built for this portfolio. Real data from a free public API. No client data involved.

python deal_watcher.py --min 40
Deal watcher - 2026-11-03 17:40 UTC
Checked 10 featured items, 3 at 40% off or more:

- 60%  No Man's Sky                               $ 59.99 -> $ 23.99
- 50%  Grand Theft Auto V Enhanced                $ 29.99 -> $ 14.99
- 40%  007 First Light                            $ 79.99 -> $ 47.99

How it works.

Check

Calls a live source on a schedule.

Here it's Steam's public specials endpoint, free and keyless. For a real job it's whatever the client already has: a shop's page, a marketplace API, a feed.

Filter

Keeps only what's worth seeing.

A discount threshold here. Elsewhere: a keyword, a price drop, a trending tag, a new order. Everything else is thrown away quietly.

Report

Pushes the digest where you read it.

Console here, Telegram with your own bot token (one line of config, already wired in the code below). Same shape works for email or a spreadsheet row.

Same idea, different target.

Built, see above

Deal watcher

For resellers and deal hunters: watches prices and stock, reports drops worth acting on before they're gone.

Can build this

Trend scout

For creators: checks what's trending on YouTube or TikTok before it peaks, so a video gets made while the topic is still hot.

Can build this

Order monitor

For freelancers: reads incoming orders, flags the ones worth answering fast. The analysis behind this site's own plan came from exactly this kind of bot.

The code.

# the whole loop, trimmed to the point
items = fetch_specials()                    # one call, no key, no login
deals = [i for i in items
         if i["discount_percent"] >= args.min]
deals.sort(key=lambda i: i["discount_percent"], reverse=True)

text = format_digest(deals)
print(text)
if args.telegram:
    send_telegram(text)                     # only runs if you set your own bot token
StackPython, standard library only
Build timeUnder a day
ResultLive data, console + Telegram

Said straight: this is Steam discount data because it is public and free to call, not a scraped or paid feed. Telegram sending needs your own bot token, so it stays off by default here. Swap the data source and the filter rule, and the same ~70 lines run a different watcher.

Something worth watching?

Tell me what you check manually and how often. If it can be read by a script, it can be watched by one.

Start a brief

Or write directly: dxnyxmrxk@gmail.com, Telegram @Pencilin_Bot