Back to selected work

BROWSER AUTOMATION

Grade Watcher

A private automation tool that monitors changes in academic results and sends Telegram notifications when new results are detected.

  • Python
  • Playwright
  • Telegram Bot API
  • Private project
  1. Local runner
  2. Playwright browser
  3. Authenticated academic portal
  4. Result parser
  5. Snapshot comparison
  6. Telegram Bot API

Overview

Repeatedly checking an academic portal for newly published results is a small but distracting manual task. Grade Watcher automates the authenticated browser workflow, normalizes the visible result state and sends a notification only when a meaningful change is detected.

My role

I designed and implemented the automation workflow, including browser-session handling, result parsing, state comparison, watch-mode execution and Telegram notifications.

How it works

  1. Start the watcher

    The private tool is launched locally with its configured account and notification settings.

  2. Open an authenticated session

    Playwright navigates the academic portal and maintains the required browser session.

  3. Read the result state

    Visible result rows are parsed and normalized into a stable internal representation.

  4. Compare with the previous snapshot

    The current state is compared with the last known state to identify meaningful additions or updates.

  5. Send a Telegram notification

    A notification is sent only when a new result or relevant change is detected.

  6. Continue watching

    Watch mode repeats the process while avoiding duplicate notifications.

Engineering decisions

Session continuity

The workflow preserves browser state across portal navigation and redirects instead of treating every page as an isolated request.

Resilient result parsing

Result data is normalized before comparison so presentation-level differences do not automatically become false change events.

Duplicate-safe notifications

Previously observed result state is retained so the same update does not trigger repeated Telegram messages.

Private configuration

Account and notification configuration remain outside public portfolio content and the project repository is not exposed through the site.

Current status

  • Private utility project
  • Local/watch-mode execution
  • Telegram notification workflow implemented
  • No public repository or live demo

Grade Watcher is a private utility rather than a public product. The case study focuses on the automation design and reliability decisions without exposing account details or portal-specific internals.