In 2015, I was hired by WholeLatteLove.com to work on a Rails ecommerce app. I worked the entire stack, from DevOps, to database migrations, to new features and page designs.
My first big task was resolving differences between a private fork of the Spree ecommerce engine and the canonical codebase, as well as upgrading to the latest version. We were missing out on new features and plugin integrations, causing delays in the business projects and stacking up tech debt. To resolve this, I re-implemented a half-dozen features, improved reliability, constructed a test pipeline, dug through git logs to find the reasons that certain changes were made, collaborated with internal developers and outside Spree contributors on GitHub, and finally made architectural decisions on how to move forward.
At the same time, I was working on new features for the live production version of the Rails app. I implemented an auto-generated sitemap, which also automatically submitted updates to Google. I improved user accounts and the search integration with Solr. I worked on the video and sales pages. Before deploying the new Spree version, I created a generator for all the types of objects in the app and deployed this to a staging environment; this allowed us to see how the app would function under a new codebase without manually creating tons of products or users in the test environment.