Though I made GAEAPIMonitor to keep track of APIs on our server for downtime, it has turn out to be more useful than that. I have started to use it to monitor page changes, such as for package tracking. You can find the latest changes I have added for page monitoring, as well as other new features highlighted below.

More descriptive alerts

DM Alerts now includes a link to preview the content, and a more meaningful error alert message. The preview link also includes description of content changes that cannot fit into Twitter 140 characters limit, and a button to remove the alert.

Content changes alert

You can configure GAEAPIMonitor to only receive alerts when there is significant content changes to the monitored page. This is done by specifying a minimum percentage change for each URL monitored. It also includes more meaningful description of content changes (showing what is added and removed) using google's diff-match-patch cleanup semantics feature.

Verifying error 408 to reduce false alerts

In the previous version, there were quite a lot of false alerts for ...

Twitter bot to track Singpost registered package status

This is not a particularly useful project because Singpost does not update their package status often, sometimes up to 12 hours or longer. Anyway, I did not realize that until I started working on this. :p

@sgposttracker is a Twitter bot that runs on AppEngine. This is quite an easy project. It took me about 5 hours. It is coded completely in Python, with BeautifulSoup for HTML parsing, and Tweepy for Twitter API requests. This only works for registered package. Not able to figure out Speedpost packages.


to get status for package RRxxxxxxxxxSG The package status will be returned as a reply. You can also mention other twitter users if you want them to receive the reply

if you want to track status updates You will receive a tweet when there's a status change to your package.

to keep your messages private, use DMs

Singpost Registered Package status API

It's just a very simple API. If you want status update, just call Sample response in JSON

I may put more effort into this project if Singpost starts updating their status more often. For now, I have already received the package I ordered last Friday, so this project ...