A Decade Long Startup

After nearly 12 years of building When I Work – both the technology and the company – I finally have time to reflect on everything that went into growing a startup into a successful company. Success for When I Work looks like being recently acquired by Bain Capital, who has a shared…

Avatar Service for All using Golang

Users love avatars, and they love to customize them, which is why I wrote this simple service that easily creates custom avatars for any purpose. The service is light, uses S3 for storage, and can be run easily from a single binary file. tl;dr;  Check out the source code…

Configuration in Golang

Configuration can sometimes be difficult. Pulling variables outside your source that change based on environment or other external services is very important to maintaining your application. Many people use YAML or config files in the native language. When dealing with configuration using Golang, I’ve always defaulted to using JSON.…

Experience and the War on Features

So many businesses believe in: The list. The feature set. The sell sheet. They think features will make their business successful. They think lists are the holy grail to selling a product. And they would be wrong. A key component to building a smart, scalable SaaS product, is fighting the…

Deploy Your Application Using Ember-cli and Gulp

Manual deployments can be time consuming and tedious. You spend your days building and/or fixing your Ember.js application, only to get bogged down in the details of deployments at the end. Uploading each file through FTP takes time, and making sure caching doesn’t cause issues shouldn’t…

Global Ember Alert Messages

A global messaging system in Ember.js should be simple, but when navigating between controllers and updating templates, it can quickly become confusing. Creating global alert messages doesn’t have to be confusing though. Thinking it through and setting it up right can save you tons of time as you…

Color in SVG

Picking colors on a website might not seem like an important or exciting task. Showing a list of colors, or a grid, or any other layout you can think of, doesn’t quite have the cool factor. Besides that, it’s usually secondary to the application, so probably shouldn’t…

The Journey

The start of something new is always a little exciting. There is a rush of excitement because of the great possibilities, and just a bit because of the risk. Even the greatest ideas have the possibility of failure. A great idea without proper execution can easily fizzle … and die. The…