Since the unveiling of their alpha at last year’s ETHWaterloo, an annual event coined “the world’s largest hackathon,” CryptoKitties has gone from an idea to leading the blockchain revolution in just nine months.
We sat down with one of CryptoKitties’ founding members, Frontend Engineering Lead Nick Salloum, to talk about the vision behind CryptoKitties, how they have been able to innovate blockchain technology, and the challenges that came with having to rapidly scale the business to meet growing demand (some cats selling for over $100,000!)
This interview has been edited and condensed for clarity.
Rachelle Brempong: Can you walk us through the vision, and how the idea of creating a cryptocollectible transformed into CryptoKitties?
Nick Salloum: Our vision was to introduce consumers to the blockchain. The challenges that surfaced were mostly around taking complex subject matter and delivering it to consumers without being esoteric.
The best way to help our audience understand what we had built was to simply have them experience it first hand. To accomplish that, we created a consumer-facing brand, a collectible that was only possible via blockchain technology, and gamified interactions that used delight to inform the overall experience.
We also saw numerous ways to innovate within the industry, from launching a practical product to pioneering a use for blockchain technology beyond currency. In fact, the non-fungible token we created is now the standard in cryptocollectibles.
Rachelle: For those of our readers who aren’t familiar with blockchain technology, can you explain the difference between fungible and non-fungible tokens?
Nick: Fungible tokens can be broken and distributed into smaller pieces. Whereas non-fungible tokens, like CryptoKitties, are whole entities which can’t be broken down and sold to consumers similarly to fungible assets such as art and real estate.
Rachelle: So why the appetite to bring this type of innovation to blockchain?
Nick: Our team genuinely believes in the potential of blockchain technology. Despite Bitcoin’s popularity, we hadn’t witnessed anything groundbreaking, we’d seen more ignorance and uncertainty. Initial Coin Offerings (ICOs) still weren’t trusted due to charlatans publishing forged whitepapers riddled with empty promises and very little delivery.
While this outlook on the space may have been critical, it allowed us to think “outside-of-the-box,” so to speak, to bring to market something completely new and innovative.
Rachelle: With the notion of thinking outside-of-the-box, what were some of the challenges CryptoKitties used to combat the lack of innovation already out there in the market?
Nick: We chose to build a product with a sustainable revenue model rather than relying on ICOs. We named everyone on the founding team as co-founders rather than a lone genius or team of advisors. We also brought this way of thinking to our marketing and how we approached DevOps.
Rachelle: That’s a perfect segue into the discussion around DevOps. How has CryptoKitties brought this spirit of innovation to the DevOps side of things?
Nick: Our founding team have always subscribed to the ideology of “done before perfect.” This is what set us apart to deliver things quickly rather making more empty promises. Moreover, we chose to break up the team into “pods.” These pods work autonomously to achieve a set of goals rather than features. Each pod operates as a small agile team with their own frontend and backend engineers, a designer, DevOps and product person. Each pod sets their own goals and methods (tactics), which are tied to each goal.
It should be noted that not all pods are created equal in that each pod picks and chooses aspects of agile methodologies that work best for them.
An example of this is shown within my pod, ‘Onboarding to Blockchain’, who doesn’t lean too heavily on sprint planning as we are most focused on research and discussions.
However, there are other pods who have adopted more agile schools of thought, working stringently within two-week sprints, using estimations to track their velocity, things like that.
Rachelle: At what point was it decided to bring in more structure, were there notable breaking points to warrant the change?
Nick: Once we grew the team from eight to over double that in a couple of weeks, our current structure started to show some rust. It became apparent that having a daily scrum with over 25 people was unproductive. It was at that point that we decided to break the team up into pods. As teams became more comfortable with the new structure we saw an immense increase in productivity and autonomy between pods. Pods were able to stay hyper-focused on their goals with the freedom to still test and iterate on projects.
Rachelle: Has the way pods manage their projects evolved once the teams started to develop more agility?
Nick: GitHub has remained as our main tool to manage source control. With respect to managing our projects we have used ZenHub since the beginning, going back from the planning of our alpha. Being able to create discipline-specific repositories within our wider-used ZenHub board has been instrumental in helping to simultaneously provide oversight and alignment across pods.
Having our engineers be close to the code allowed us to move at a rapid pace while staying transparent. Much of blockchain’s fundamental philosophies encompass transparency so to have all of the code we were building be transparent pre-launch, it was crucial to the product.
Rachelle: What other tools does CryptoKitties use?
Nick: Besides GitHub and ZenHub, we use Slack for real-time communication on simple things, otherwise we keep discussions related to each project within within our ZenHub boards.
Rachelle: How often does the team ship?
Nick: Previously we didn’t have set days of the week for shipping. Whenever a new feature or product was ready, we’d just ship it. What we noticed was that we started running into issues when shipping on certain days. Now, we ship on Tuesdays and Thursdays.
Every Wednesday, we would run a QA session to decide if we’re going to fix what’s shipped or if we’re going to prioritize it for the next sprint. We also use this time to determine if we’re ready to ship the following day.
Rachelle: Were there any technical challenges the team experiences as the business grew?
Nick: Much of the challenges came from the actual blockchain technology. Blockchain is inherently structurally deficient in being able to handle the number of transactions flowing through it. With the popularity CryptoKitties drew to the blockchain, there were times our customers weren’t able to complete their transactions. Our team had to become experts in Ethereum infrastructure, guiding our users through the growing pains of the blockchain technology.
Rachelle: With all of the hype CryptoKiities has been able build from, what’s next for the product.
Nick: We are continuously running new experiments though what has been most exciting for us to see is the possibility of extensibility with third-party applications. Since all of the genetic code for each kitty lives on the blockchain that means that anybody can build their own third-party application, take it and bring it to CryptoKitties’s API.