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


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

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.