Skip to content
This repository has been archived by the owner on Oct 1, 2022. It is now read-only.


Repository files navigation

UBC API Build Status

What it does:

Beautifies the lacking unofficial UBC transcript with extra information and better formatting.

How it does this:

It does this in several ways:

  1. Adding a course names columns
  2. Removing unnecessary widgets
  3. Spacing items out better and increasing the width of the table
  4. Allow you to manually edit course names
  5. Optionally allow you to remove unnecessary columns + rows


  1. There's a link on this page that you should drag onto your bookmarks bar

  2. Go to your Grades Summary page.

  3. Click the bookmark link to run!


The code gets rid of the extra tabs/average calculator app, spaces things out a little better, and aligns the table to the header.

After Transcript Example

Before Picture

This is what the transcript looked like before Before Transcript Example

How it works:


  • The bookmarklet is JavaScript code that runs on the user's browser to:
  1. Prompts the user for input regarding what features to remove
  2. Formats the page by removing unnecessary features
  3. Make an GET request to the server to retrieve course names for the course codes on the grades page
  4. Populates the new column called 'Course Names'

The Server

A AWS Lambda function built with Flask + Serverless (Honestly, probably a mistake to use flask for such a simple app if I was planning on using AWS Lambda 👐, TODO: Move to EC2?)
It is responsible for responding to the bookmarklet's requests and accessing S3 where the course information is stored.


  • crclayton originally created the bookmarklet that formatted the transcript, I'm simply building off of it.