ConvertKit is an email marketing platform that focuses on creators.
I’m extremely proud of what I’ve accomplished to date at ConvertKit. I joined as Director of Engineering when the company had 3 engineers. We were onto something - the company was bootstrapped by Nathan, our CEO, and we manged to get enough growth to see about $5M in ARR and a few thousand paying customers.
However, there was an enormous mountain of technical challenges. The app was down frequently, and email sending delays were common.
The first step was to right the ship from a software delivery standpoint. Before I arrived, there was little rigor around code review, testing, or QA. So for the first few months I acted as a technical leader and personally reviewed every PR. I established learning goals for engineers who needed to level up.
I established a rigorous hiring process and pipeline, and started hiring talented senior engineers and SREs. This also had a great collateral effect of leveling the team up. We began to start really making inroads in retiring some of our most egregious technical debt, and we gained confidence that our new feature releases would be reliable and wouldn’t break with our scale.
From an infrastructure standpoint, I hired an SRE team that got busy. We migrated from Heroku to being fully on AWS, over a period of about 4 months. We went from having consistent email sending delays to processing everything nearly instantly by adopting Cassandra for storing email events, and retiring our usage of a single Mysql database setup.
We slowly began to pull ourselves out of having the company face a near technical disaster to having an engineering team that ships great code, an app that has great uptime, and having a culture of engineers who are happy and not burnt out. It’s been an amazing achievement and transition.
Through all of this, we haven’t scaled the team massively. We have 18 engineers (including myself) and 49 people at the company in total (as of October 2019). Efficiency has been the name of the game so far, and I’m proud of what I’ve been able to accomplish with a small team and limited capital.
Built my own SaaS, called Ultradeck. Ultradeck was a developer-focused app to quicly create beautiful slides.
It did not get traction, but I learned a ton about product development.
While Ultradeck is no longer online, the storybook still is. The storybook gives you an idea of the breadth of the app.
I intend to open-source almost all of Ultradeck, starting with a stripped-down version of the frontend that communicates via a go-based binary to drive the slides.
Utilized the following tech:
brew install ultralist.
I was intending to launch Ultralist as a side project that generates revenue. However, for me the tech is always more fun to do than the marketing.
Utilizes the following tech:
Utilizes the following tech:
fake_arel is a gem I wrote in 2010 that allowed developers to use Rails 3 query syntax in Rails 2. It accomplished this by clever use of named scopes.