Gizmos

Vue 2 | VueX | JavaScript | Bootstrap | SCSS | HTML | S3 | Bash

I worked on the new Gizmos site from April 2020 - October 2021 while working at ExploreLearning. Gizmos are math and science simulations made to educate kids from 3rd grade all the way to Advanced Placement classes. I worked on the platform unification project, an effort to streamline user experience by updating ExploreLearning's different products to use a Platform REST API for common functions.

This job was my first time working with Vue, though I was already familiar with reactive JavaScript libraries and single page application architecture through my experiences using React with Redux and using Angular with RxJS. I took to Vue pretty quickly; I appreciated being able to write simple HTML with directives instead of JSX and I found Vue's approach to reactivity a lot simpler than working with Observables.

In my time at ExploreLearning, I would build or contribute to building core functionality - home pages for students and teachers, search and filters for over 500 simulations, assessment questions for those simulations, and more. I also maintained three Student Results Reporting applications that we're built in Vue 2; I removed dated dependencies to jQuery so they could rely on BootstrapVue like the Gizmos app that consumed them and updated API requests to work with a new GraphQL API built in Elixir. I collaborated with back-end engineers on API design and provided code review for other front-end engineers. I built functionality for the Gizmos Admin that simplified other employees' jobs by providing automated testing for Gizmos.

I got to learn a lot while working on this project, but two of the things that I'm most proud of learning go hand-in-hand. I added a pre-rendering system to the build process for Gizmos thru Node and Webpack and I wrote a bash script to update our builds in S3 depending on the environment (dev/stage/prod). The pre-rendering system was necessary for the sake of SEO - many pages needed to be accessible by the web crawlers that index content for search engines, while others were hidden from them behind authentication. The bash script simplified the process of clicking and dragging files into S3 manually, saving myself and other developers time. I'm proud of my time at ExploreLearning, getting to build features that help kids learn was amazing.