Raw, user-level access to Brightspace data in CSV form, refreshed on a regular cadence. Enables clients to integrate into and identify trends unique to their institution's ecosystem.
Third-party integration via D2L's implementation of RFC 6749 - The OAuth 2.0 Authorization Framework.
Building D2L's next generation educational analytics platform. Event-driven, lambda-like data-processing architecture backed by multiple types of data stores. Data is exposed via a RESTful API layer.
Educational analytics as a service. Traditional ETL process, extracting Brightspace data from a transactional database into a reporting warehouse. Data is exposed via a white-labelled third-party BI tool with pre-defined reports and ad-hoc support.
Use cron-like expressions to test if a datetime is in an allowed range.
A GitHub App that only notifies on a subset of actions.
A popular word guessing game using React and Redux.
A Netlify plugin that blocks deployment if it is outside of deployment hours.
Interface for going through the OAuth 2.0 authorization code grant flow. Written in Vue.js.
Tool for pretty-printing newline-delimited JSON using React and Redux.
An open-source Python library. I fell in love with C#'s LINQ / Enumerable a while back, and realized Python could use some love so that it can do something similar. I decided to write my own library, following the likes of C# LINQ / Java streams / Apache Spark's RDD transformations.
Occasional contributer to the Serverless Framework.
GUID generator, written in Vue.js. Generates up to 999 GUIDs at a time.