In this post, I’ll talk about what we’ve done with our product over the last year, lessons we’ve learned and finally, at the end, many of the technologies and tools we’ve adopted over the last 12 months.
This post is (seriously) long and shares a lot of details because I personally am always interested to learn how other companies works and figure at least one or two people might want to see how things work at Ginza.
I’ve been impressed this year by the quality and diversity of the annual review blog posts that I’ve read. A few authors who stood out to me were Michael Fogus (as always – the man is a machine of productivity), Nathan Barry, Patrick McKenzie, Tawheed Kader, and Brennan Dunn. I’m sure there were many others and I find myself wishing recently that my reading horizons were wider and occupied more time in my day. Among the ones I mentioned above, I was struck by a couple of emerging mindsets and patterns.
Continued Growth in Online Businesses
First, there is a growing body of knowledge and experience of people who are building very successful businesses online entirely on their own. This is one of the most empowering aspects of the internet and is something that I’m excited about. There are a number of platforms and technologies available now to entrepreneurs who want to build profitable businesses and these platforms help not only with production but also distribution and marketing. Some examples include education platforms such as Udemy, email marketing platforms such as MailChimp, eBook publishing platforms such as HyperInk, to mention a few.
Many of these have existed for years and some are new. What we’re seeing now, however, is that more people are successful in combining these platforms to build in ways that weren’t nearly as easy even a few years ago. This is one of the things that most excites me about the internet and is a core part of why I started Ginzametrics — to build something big with a small team and limited resources. How this is most effectively achieved and what success looks like – be it a “lifestyle business” or a venture-backed startups turned into one of the key debates this year, kicked off by Paul Graham’s excellent essay on growth and the vocal response to his essay, leading many to question what it means to build a startup vs. building a business.
At Ginzametrics, we’re building a startup in all traditional senses of the word in that we’ve raised money and have goals to grow fast. That may seem contradictory to what I wrote about about building something big out of small resources but it’s not and depends quite a bit on the scale of what you’re trying to build and what you use to build it in relation to others trying to build something simliar. I’ll dive into this more some other time.
Today, though, I want to take the opportunity to sum up this year, much as I did last year with our review of 2011 at Ginzametrics. We’ve had a great year, have grown in many ways and have learned a ton. 2013 will be our third year in operation and everyone we’ve talked to tells us that year 3 is when things really start to kick into gear for product companies. We are optimistic that this will be true for us and look forward to an exciting year. But first, let’s talk about what we learned and did in 2012.
So first, I’ll share the big picture view of what we learned, what we accomplished and what I think we could have done a better job of.
On the product front, we had a hell of a year. At the beginning of 2012, Ginzametrics, was still quite immature from a product feature and operational stability perspective. To be sure, it was much better than what it was when I launched it in 2010 (I still remember manually kicking off jobs every night on my laptop SSH’d into Rackspace Cloud in late 2010).
But we were still basically running on the same monolithic, non-DRY code base that I had built initially a year before and it was barely working. We had accumulated a lot of debt along the way and knew we had to pay it off. I’m relieved and happy to say that we made a lot of progress on that front. In all senses of the word, Ginzametrics went from being an app to a platform – a warhorse of a platform – in 2012. I’m very proud of the team that made so much progress in such a short time.
We have had many new customers come to us over the last year. When we started in 2012, we had a broad range of customers but most of our revenue came from a few large accounts. This is a great way to get started but it is also very risky for a startup. I’m happy to say that the growth and diversity in customers who have signed up for our services over the last year has allowed us to scale much more effectively and meet the needs of a larger market.
- Switched our web crawling infrastructure over to browser-based technology, enabling our customers to get faster and more accurate reports about their organic search performance
- Switched to the New Google Analytics API, allowing us to handle much larger websites and provide more recent and relevant reports to our customers
- Partnered with SEOmoz, giving our customers the ability to monitor key KPIs related to their backlink profiles and benchmark against their competitors
- Completely revamped our customer on-boarding and settings management, making it easier for users to manage their sites, upload and work with large data sets, automate keyword group management and much more.
- Completely revamped our reporting engine and added many new ways of gaining insight from the data we collect
- Released our first open source contribution, an SSO library called Odin that allows you to streamline the login across multiple backend monitoring apps by using your Google credentials to login. We made some additional updates to this library based on security holes pointed out to us by Thomas Ptacek on Hacker News.
- We added social signals integration, along with several major enhancements afterwards, which allows our customers to monitor their search performance in the same dashboard as their social media performance, across Facebook, Twitter and Google Plus.
- We revamped our competitive monitoring tools and made it a much more effective platform for tracking not only how your competitors do compared to your site but also dive into exactly what your competitor’s content strategy might be, due to our indexing and analysis of your competitor’s content in the same way that we index and analyze your content
- We launched a new feature called Targeted Keywords for Pages. This feature lets our customers fine-tune the recommendations that Ginzametrics provides, making it easier to optimize large websites with much less work involved.
- We launched Cross-Site Reporting Features for our Agency customers
- We added support for 19 new countries, including many in the Middle East, where we are seeing incredible growth
That’s not all, as there were many smaller releases along the way (we generally do 1-2 releases per week). Needless to say, we’ve been busy and we couldn’t have done it without all of the valuable support and feedback from our customers. Now that we’ve got a solid platform and a clean architecture to build on, we can really start to do some big things, so watch out!
Other Updates & Lessons Learned
One of the most positive and tangible changes we’ve experienced in the last year is that feedback from customers and new prospects has been that we’ve gone from being “somewhat immature” to “refined” and “full-featured” as a product. A year ago, I found myself saying to customers, more often than not, “we don’t have that feature yet but we’re working on it.” I still have to say that sometimes (as does everybody) but I have to say it a lot less and the features that aren’t there are far less critical than the ones we were missing a year ago.
This is one of the realities we had to confront head-on this last year and it comes with the territory of being a new startup in an industry that is so heavily fragmented and so competitive. We still have a lot of work to do, of course, but the sense of accomplishment that comes with knowing you’ve hit at least somewhat of a product market fit makes the long slog to get to that point worth it all.
As many people are discovering in the SaaS industry, building a product takes a long time and it can be very tricky to get it right. You never get a chance to rest on your laurels and you have to be a little paranoid about the whole affair. Coming to grips with that reality and finding effective ways of dealing with it has been a positive learning experience for both Nick and I this last year.
Another thing that felt really good was that we achieved the first “aha” moment in our platform. We rely heavily on our usage data to understand how our customers use our tool and we saw, for the first time, really heavy engagement on one of our main features. We are now able to predict with a decent level of accuracy which users will become paying customers based on their usage patterns of that particular feature.
Getting to Aha
The Aha Moment is a concept that I first came across via a presentation from Sean Ellis, a well-known author and consultant on startup growth and marketing. It makes sense when you think about it in your own usage of apps: your decision to use an app for a long time invariably centers around whether you “get it” and the job of that app maker is to help you get it as quickly as possible. For us, we’ve discovered at least one feature — when it works — that embodies Aha. If you’re building a product, your very success depends on having at least one of these moments and ideally you will have more. Our next goal is to build more.
Sales Strategy & Pricing
Success in SaaS comes down to execution, that is to say, it’s not enough just to have a great product. You have to be good at selling it. Unfortunately, there aren’t many people who can tell you what that means. Your investors may tell you to “step on the gas” and you may see other companies growing quickly but there is surprisingly very little in the way of literature and education out there on the mechanics of selling SaaS products. So, as I learned and continue to learn, one of my goals is to share as much as I can so that others can hopefully avoid some of the early mistakes I made along the way. So far, I’ve written two posts about this and will write about it more in the coming year.
Getting Better at Talking to Customers
A lesson that I had to re-learn and am still trying putting into practice more is talking to customers about new features more before building them. The first version of Ginzametrics was actually a powerpoint deck that I presented to a customer after a sleepless night in a Tokyo hotel way back in 2009. Based on that deck, I got a commitment from them to become a customer if it was ready in 3 months. We’ve always tried to listen to and respond to our customers but there were also too many times along the way that I found myself making critical product strategy decisions without talking to enough people before.
After a couple of problems that we ran into as a result of this lapse, we’ve re-learned that a series of 20 minute conversations with customers and potential customers can save weeks and months of development / maintenance time. This is always challenging to remember because I have my own ideas based on things that I see and I want to deliver an innovative platform that is pushing the boundaries of what is possible in our industry but it is something I’ve been reminded of enough times over the last 12 months that I have it actively on my mind going into 2013.
Improving Strategic Decision Making
On a similar note, one of the executive disciplines I’ve gained a new and immense respect for this last year is strategy and the ability to make the right strategic decisions. As a hacker and entrepreneur, I’ve always leaned towards the “fuck it, I’ll figure it out when I need to” approach but there are times when that approach can feel so right and be so, so wrong. Nick has been really good about getting me to use a variety of tools and articles to think about things a little more strategically than I had been and it’s something I’m also actively committed to. The critic may reply to this by saying “screw strategy, all you need to do is listen to your customers” but I think this is naive, tempting as it is.
There are so many decisions you make in a startup that relate to more than just “am I making something that people want?” (and even many smaller decisions that contribute to answering that question) that you can really benefit by learning some of the many tools and mental models out there.
One simple example is something that Nick and I do about every six months. We take a few minutes and write down all of the decisions we have made recently on a piece of paper and then predict how successful we think those decisions will have been for us in another six months (we should probably shorten this to 3 months). When the time comes, we look at that paper again and review how good we were at making decisions. Many times we are surprised at what worked and also at how many times we were just dead wrong about certain things. It’s a great way to measure the accuracy and quality of your decision making ability as a team.
The Need to Humanize our Product
Something that I had sensed about our product for awhile but didn’t have a good way to articulate it until recently has been the need to humanize our product. So far, most of us at Ginzametrics are engineers (including myself) and don’t think often enough of how humans will feel when they use our product. While we’ve been complimented many times on our UI, we’ve also been told that there needs to be a lot more in the way of tooltips, supporting documentation and things that make users (most of whom are not engineers and most of whom are humans) feel comfortable and safe. This has a big and direct impact on customer satisfaction and, ultimately, revenue so it is something we plan to get much better at. I’m grateful to one of our new hires who was able to articulate this concept so well when she saw our product.
Formally Establishing Company Culture & Values
As our team has solidified and matured over the last 12 months, Nick and I have been discussing the need to take a more formal approach to creating our company culture and express our values. When your team is small and the bandwidth of communication between everybody is wide, it’s easy to make cultural assumptions but, as you grow and bring more people onto the team, it becomes clear that if you want to have a shared culture, you need to make it clear what that culture is.
As a result, we are in the process of formalizing this (eg. writing it down after thinking it through) and will be talking about it with our team as well as putting it up on our site. For me personally, it’s been an enjoyable opportunity to remember why I started this company in the first place and helps us much more easily articulate why we are building this product.
In addition to documenting our culture, we are documenting some of the other things that help us express who we are. The way we organize this is through a shared document that Nick and I are working called “Ginzamarkets Mission, Vision, Values, Operating Principles, Models, Analysis Tools and Decision Making Frameworks.” That’s a really long and somewhat pretentious title for a document that basically is a place where we dump all of our ideas about the type of company we want to build and the tools we use in order to build it. The parts that we think are relevant we will share with our team and also our customers. It’s been helpful to have all of this in a single place.
Our team structure has evolved somewhat in 2012. We tried a couple of different things but what we settled on was a globally, distributed team where almost everything is virtual. This has worked so far mostly because almost our entire team is engineering – only myself in San Francisco and Masa in Tokyo do non-engineering functions. As we start making hires in Sales, Marketing and more, a larger percentage and probably the majority of our team will end up residing in San Francisco. But engineering will most likely continue to be distributed because it has worked so well for us so far.
We encountered an amusing term this year: nomad hackers. One of our new hires told us that’s what he was and we realized that it fit our engineering culture quite well. Because we’ve managed to run our engineering team as a virtual operation, where you happen to physically be at any given moment has little to do with your contributions to the product.
Our developers will frequently say things like “I’ll be merging that pull request on the train from Vienna to Warsaw” or “Sorry I’m late, I got into a motorcycle accident in Madagascar.” We’re a small team but that hasn’t stopped us from working globally and we’re currently active in the US, Tokyo, Spain, Poland, Italy and Austria. I’ve personally spent 8 weeks in Japan this year and Nick and I spent 3 weeks in Europe this summer while working with our team and recruiting new developers.
Beging so flexible geographically has largely insulated us from the problems facing almost every other Silicon Valley startup: the insane competition for good developers. Because we’ve invested so much in building our global network, we have a virtually limitless pool of talent from which we can recruit new developers as we grow and we’ve been blown away by how good everybody is. I’ve managed a lot of remote teams before, everywhere from China and India to Mexico and Argentina.
What I am most struck by is how the overall engineering culture around the world has evolved and how much easier it is to work with people anywhere who just get it: they are on Github, they understand lean / agile development, they are great at TDD, they are up to date on the latest technologies, etc. It’s a very different world than it was even 5 years ago with I first started working with international teams. It also helps that we do zero outsourcing. Everybody on our team is part of our team – we don’t work through external project managers, agencies, etc. Nor will we.
We Hire Through Our Network (and Serendipity)
Everybody has their own thoughts on this.
What we’ve settled on is that we will not work with recruiters to build our team. The incentives just don’t match up, at the end of the day. What has been very good for us is hiring people that we have either met through our network or who approached us serendipitously.
Why It’s Cool to Be Us
I think that every startup has a few attributes that make them unique and proud to be who they are. For us, it’s a few things. One, we are smack in the middle (literally and digitally) of two of the largest and most vibrant startup communities on the planet: Y Combinator and 500 Startups. By being part of these networks over the last two years, we’ve had the opportunity to meet so many interesting people, gain exposure to new ideas, learn from other’s mistakes and share the lessons we’ve learned along the way. When I was living in Tokyo, before the startup community really became vibrant there, this was one of the things I most wished I had – a focused group of people to share things with. Combined with being in the Bay Area, I couldn’t ask for a better place to be.
One of the other things that I’ve really come to appreciate about our current stage is the fact that we are a startup and a rather scrappy one at that. That’s not to say we’re not serious about providing a high quality product and operational reliability to our customers. On the contrary, it’s one of our top priorities and we work every day to make that a reality. But it does mean that because we’re one of the smaller, more agile companies in our space, people (our customers, potential customers and partners) look and talk to us more like we’re actual humans and not just salespeople. Every company that lasts long enough to do so grows and I’m sure we will become less scrappy over time (we already have) but one of my goals is to maintain the type of authentic interactions with our customer base that we enjoy today.
A third thing that I really enjoy about work on the Ginza team is our global focus. We’re really small to be so globally distributed and we also have a lot of customers around the world. On any given day, I’ll go from a conference call with someone in Warsaw to Tokyo to Singapore and then Dubai. It really is amazing how much leverage we entrepreneurs have available to us and quickly things got to this point. It allows us to compete with much larger, much better funded companies quite effectively.
There are many other things that make me happy to be here but the one that stands out to me the most is how cool our market is and how much fun we have solving our customers problems. SEO always tends to get sideways looks when you mention it in Silicon Valley but the fact remains that organic search is still one of the most effective ways to build authentic relationship with your customers — if you do it right. That fact, combined with how freaking volatile the whole thing can be at times keeps us on our toes and forces us, even as a small time, to figure out the best solution to really big problems. That’s what keeps me motivated every day.
The Coming Year
So, what does 2013 hold for us? We’re focused on growth. We still have a lot of work to do, and always will, on our product but we have something that we are proud of and customers who believe in us. We’re going after a big and growing market and we’re hungry.
One interesting realization we had late in the year was that there is a much bigger, and more diverse market than we realized. This was perhaps most surprising to me because I’ve been in this industry and thought I had a pretty good handle on all the different niches. However, probably because of how quickly this market is growing, we closed a number of deals from a surprising category of customers and realized that there is a large, growing and underserved market out there. As a result, we’re going to be continuing to add features to our platform that serves this segment and continue to grow.
On a macro level as well, there are big changes on the horizon. Just as I did last year with my SEO and Inbound Marketing Outlook, I will be providing a full update of the major trends that I see around rank tracking, analytics, mobile, content marketing and, of course, SEO. Just as last year was a year of big changes, I believe that 2013 will hold even more, bigger changes for the industry and things will look quite different for all of us a year from now.
Happy New Year. I wish all of you success and happiness in 2013.
Appendix: Tools & Technologies We Have Adopted
I’m always fascinated by the tools that people use to build things. So, here is what we ended up using in 2012 (and will likely continue to use in 2013):
Tools We Use as a Team
- git / Github (repository & wikis, nothing else)
- WordPress (migrated from Jekyll in order to allow guest blogging / contributors). We did quite a bit of work in order to manage our WordPress instances using Chef and Capistrano, partly in order to facilitate managing our theme in git and deploy updates from the command line.
- Dropbox – makes life very easy but I’m a little nervous about security, TBH. I keep critical data out of Dropbox.
- Skype – it’s basically our office. It’s simultaneously a lifesaver and frustrating to use because there is so much latency and weird unreliability around message deliverability. If I were to start a startup now, it would be an Over the Top messaging provider for the enterprise with built in encryption for every message and delivered on top of Google Apps
- Google Apps – I’ve gotta say — Google is good at building products that just work. It’s a little scary how much we rely on them but the Google Apps platform serves our needs perfectly. I’ve looked at Zoho and pretty much all of the other options out there and nothing comes close. It’s too bad too because I would easily pay thousands of dollars a year to move to a Google Apps clone that lived on our servers or even a different provider, just to distribute our reliance on platforms a little more. In the meantime, we’re happy customers.
- DynDNS – we switched to DynDNS after Zerigo got taken down due to a DDOS. I met Dyn’s COO at SXSW (he’s a very cool guy) and was very impressed. We’ve been very happy with them since switching over.
- Stripe – the majority of our revenue actually comes from directly invoicing our customers but we also accept credit cards and a growing number of customers choose to pay this way. Stripe makes this process as easy and simple as it always should have been.
- Tumblr – We created a new status blog that we could use to communicate the latest system issues and status for major issues as they occurred. Tumblr made it very easy to set this up and it has dramatically enhanced how customers views our support and readiness.
- HelloBar – this little app has been a lifesaver. As we’ve tried to be much more transparent with our users about system status, we needed an easy way to alert people to new issues and updates on the status blog. HelloBar has been the most painless way of managing these alerts and the simple statistics that it includes are enough to tell you when a message has run its course (in terms of clicks).
- Wufoo – after much trial and error and attempting lots of different landing page management systems, the simplicity of Wufoo won out for us. It’s how we manage demo requests and will probably also use it for signing people up for white papers, etc.
- Trello – we’ve tried lots of different systems for managing issues, including Github Issues and Pivotal Tracker. Github Issues didn’t scale well to our level of complexity and Pivotal became a mess for us pretty quickly. Trello has been a nice combination of clean, visual feedback and feature-rich functionality.
- Google Docs – we use it to manage our product roadmap and many other things
- Intercom – I’ll write more about this but I believe that user-centric analytics is the next big thing. There are many products and many variations out there now, but Intercom is one that has risen to the top in 2012. We use it mainly to get a quick snapshot of who is online.
- Mixpanel and KISSmetrics – in the same vein (user-centric analytics), in order to provide a good user experience to our customers, we need to understand how they use our product and where they get stuck. Both of these tools are great and we are in various stages of adopting all of the the capabilities they provide.
- Exceptional for bug reporting. We like to know about errors and bugs as soon as they occur so we can pro-actively email our users and let them know we’re working on it. While we’re not always able to achieve that goal, Exceptional is the way we do it. In order to make it really useful for us, we had to create multiple apps within Exceptional, with one specifically set up for tracking the UI. Otherwise, UI exceptions get lost in the noise of the warzone that is our backend architecture.
Technologies We Use
- Distributed data centers – For a number of reasons, we’ve migrated away from reliance on a single data center provider to a multiple location, multi-vendor distributed data center architecture. We tried many different versions of this but so far have settled on some clever uses of Resque and S3 to keep everything in sync.
- Redis is the shit. If I were building a new app now, I would do whatever I could to put as much data in Redis and make big assumptions about the entire app living in memory (with the appropriate backup / disaster recovery plans in place). Redis has its issues, of course, as does any technology but we’ve solved some really interesting and difficult problems through our use of it over the last year. If Redis ever adds additional data structures that support more OLAP-type querying, I’ll never look back.
- Resque – when it comes to queuing, we’ve tried a lot of different things. We started off with Delayed Job and had to hack it quite a bit to survive in our environment, which is pretty much a warzone. We then moved to RabbitMQ after DJ stopped working for us but had a lot of problems with it. We finally settled on Resque and it’s been good for us. Again, it’s not a silver bullet but it has, so far, held up nicely after making some configuration changes to the default deployment.
- Odin SSO – I mentioned Odin earlier but this has become a valuable technology for us just in the sense that it prevents the inevitable 2-3 minute context switch that happens due to logging on to the various monitoring technologies we use at Ginza.
- Chef and Capistrano (even for WordPress) – way back in the day, we automated our provisioning on EC2 using Rubber, a Rails-specific deployment technology. Since then, we’ve moved completely over to Chef and Capistrano for automated deployment. Maciej, our DevOps developer, continue to evolve our Chef system and it’s pretty badass. He even helped us configure our WordPress servers to run using Chef and now all of our templates live in git and are hosted on GitHub. This allows me to do proper development with branches, etc. and deploy those changes with a single command line entry.
- MysQL – we’ve used MySQL since the beginning and have no plans to switch any time soon. I’d probably look at Postgres now if we were starting anew. We were running on RDS until last month but had so many problems with it that we now run in a dedicated environment with multiple offsite slaves. We use Percona Server in production. We also have configured our app to use multiple databases to further distribue load / risk / etc.
- Ruby on Rails (v2, alas) – we’ll be upgrading at some point.
- API-based development – this is the obvious way to develop in 2013 but even 2-3 years ago, there wasn’t much out there on doing a good job of this. We’ve rebuilt our entire app infrastructure so that our UI is a layer of HTML / CSS / JS that talks to our servers via API. The first version of our API was developed for internal purposes so we have a lot of naming issues, etc. that we are in the process of evolving as we ready our new API.
In addition to the tools that our team uses, my own toolset has grown quite a bit over the course of 2012.
- Do.com – by Salesforce.com, I found this app completely by accident but I feel like it was custom built for small startup CEOs. I’ve tried almost every project management app out there and none of them worked for me. Do.com has the right combination of simplicity, tasks, notes and project organization tools that I need. It has great support for mobile too. I was hooked immediately.
- Pipedrive – I struggled for a long time to find a CRM app that I could live with. I have a Salesforce.com account and I tried many of the other options out there but all of them were either too complicated for me to use by myself, just clunky in general or didn’t provide any of the visualizations that I needed. Then I found Pipedrive. It allows me to look at my pipeline exactly the way I want to, organize deals, contacts, plans and companies very easily and is great to work with. I don’t know how well it will scale organizationally as our sales team grows, which will almost inevitably put us on to Salesforce, but I’m hopeful that they are going to nail that problem too.
- Google Plus & Google Reader – as write more as part of my job, I’m finding that I need better tools to subscribe to and organize the various sources of information out there. To be honest, I am drowning in information now but both Google Plus and Google Reader help me stay a little more organized that I would be otherwise.
- Buffer – in addition to Pipedrive and Do.com, Buffer is my new favorite app of the year. It is the first social sharing tool that I have used that has enabled me to share much more relevant content with my followers while also helping me to grow my audience. They are cool guys to boot. Expect big things from these guys in 2013.
- HootSuite – Aside from Buffer, I am fantastically un-enamored with pretty much every social management app I’ve tried. But HootSuite is at least easy to use and it’s free and basically gets the job done.
- iPad Mini – I’ve owned some version of the iPad ever since version 1 came out but I didn’t really get it until about two months ago. I was in Tokyo with my iPad 2 and it finally dawned on me that I could save my precious battery life on my MacBook Air by doing presentations and demos with my iPad. Since then, I reach for my iPad first for almost everything. When the iPad Mini came out, all I needed to do was hold it once in my hands before knowing I was going to order it right away. Indispensable.
- Keynote – I used to do all of my product spec work on a branch in our git repository, editing code but the problem was that I would get too far ahead of our team and the new UIs never got merged. I’ve switched to doing much smaller specs and doing them in Keynote. I love Keynote. I can design new UIs in 2-3 hours and our developers have no trouble using these screenshots for specs.
- Creative Cloud – it took longer than it should have but Adobe’s Creative Cloud offering has been a lifesaver. Yes, I may end up spending more money in the long run on individual licenses but I’m saving a lot more money and time on all of our licenses by being able to turn licenses on and off as needed.