Hey there, I’m Josh, Optoro’s CTO. I’ve been at Optoro since March of 2010 and I initially wrote much of the code that made up our solution. Over the years I’ve seen lots of growth and change in how we solve problems with technology.

Recently I learned about a tool called Gource which visualizes change in source code repositories. We store all our code in Git, so using this tool was pretty easy. It’s really fun and interesting to see that change in our applications in a visual form over time. I’m happy that I get the opportunity to share it with you now too. I’m sure you can see from this video that the process of producing robust enterprise software that solves real problems in the world is far from linear!

Before we start, it’s really important that I point out that a ton of folks have been involved in making this work—over 100 direct contributors over the years and countless contributions to open source. Thanks so much to everyone who has been involved in our continued success!

The video is on YouTube, but here’s a quick walkthrough of what you’ll see:

We start in April of 2010, which is the first commit we have in any of our git repositories. You’ll see us very quickly start to build out some basic structures.

Here in June we were just getting started building OptiTurn. OptiTurn is our primary piece of software, it handles pretty much everything, from warehouse and marketplace management to merchandising and accounting. The big cluster you see on the right is the basic structure of a Ruby on Rails app with our data model getting fleshed out and defined.

Screen Shot 2016-06-01 at 1.08.34 PM

June 2010

The birth of BLINQ.com! We started working on the first version of the site in January of 2011 and launched it in Feb. Pretty quick turnaround, eh?

Screen Shot 2016-06-01 at 1.12.16 PM

January 2011.

By January 2012 OT was fully functional and we were selling it in earnest to clients. This is a pretty good view of “1.0”. Optiturn is the lower-right, blinq is the upper-left, and the branch off to the left is our server configuration code (written in Puppet at the time).

Screen Shot 2016-06-01 at 1.17.08 PM

January 2011.

In 2013, among many other things, we begin to add data warehouse code to improve our reporting subsystems and we dramatically expanded BLINQ.com. Looks pretty similar to January 2012, right? That’s great, no major architectural changes were needed to make us successful. It’s hard to see here but the central node is off to the left in this graph. From there in the upper-left you can see BLINQ.com. Next clockwise is our “other” utility repositories, then the big bunch of stuff on the lower-right is OptiTurn, pointing down is our new data warehouse management code, the off to the left is our DevOps server management code.

Screen Shot 2016-06-01 at 3.50.35 PM

January 2013.

By January of 2014 the visualization has rotated some but we’re structurally still consistent. You can see Optiturn on the bottom, our ETL system off to the left, to the top-left is our Puppet server management code, upper-right is blinq, and off to the right is other utility code.

Screen Shot 2016-06-01 at 1.28.53 PM

January 2014.

By January of 2015 we’ve gotten a lot bigger and more complicated! Of the 5 big branches in this graph you’re seeing OptiTurn off to the left, clockwise next is our data warehouse and data science repositories (up from the center). On the right is our DevOps cluster (we’re switching from Puppet to Chef here), lower right is BLINQ.com, and lower left is all our “other” utility repos.

Screen Shot 2016-06-01 at 3.36.48 PM

January 2015.

Here in May of 2015 you can see us start to build out BULQ.com. We launched it in November. It’s the tiny little thing in the center of this screenshot.

Screen Shot 2016-07-20 at 4.37.34 PM

May 2015.

By January of 2016 we’ve stepped up again on the amount of stuff going on! Clockwise from upper-left is DevOps (the huge white mass of repositories are all the chef cookbooks in their own little repositories). BLINQ.com is next, then our “other” code, OptiTurn, data management, and finally BULQ.com off to the left. It grew fast!

Screen Shot 2016-06-01 at 3.40.12 PM

January 2016.

Finally here at the end, you see structurally the same things, just rotated. Clockwise from upper-left again you have OptiTurn, data management, BULQ.com, DevOps, BLINQ.com, and finally “other”.

Screen Shot 2016-06-01 at 3.47.49 PM

May 2016.

Please do feel free to watch the whole thing unfold here. It’s really fun to watch things appear, disappear, and jump around.

(Note the nerdy details of command line arguments in the video description on YouTube 🙂 )

I’m extremely proud of our team making this happen over the years. One of the best parts for me is seeing all the folks flying around making change across the whole system. We really do have some capable and brilliant engineers here at Optoro.

Now I’m excited to see what the next year’s video will look like, and years after that too!