What I’m doing now, and how it happened.
In 2016, while on vacation in Scotland, I got really bored looking at the lake, and I went to the App Store to look for a strategy game — my favorite genre.
I must’ve downloaded at least 20 strategy games, and within it is a game called Clash Royale.
In order to play the game better, I decided to figure out how I could find the best strategy for it using data analytics.
With no official API available at the time, I initiated a partnership with a contact I made on Discord, and we rolled out a public API. That was the genesis of RoyaleAPI.
We opted to make the API accessible for public use, to allow more developers who don’t have the know-how to reverse-engineer the game to also be able to create apps and tools for the game.
Screenshot: RoyaleAPI Documentations for Developers
Supercell — the game developer of Clash Royale — released an official API in 2018, and eventually we concluded the API element of our business was no longer sustainable. We discontinued that aspect of our site but retained the name due to its existing brand equity.
Screenshot: RoyaleAPI Blog: Discontinuing API service for developers, will not affect website, published on January 24, 2020.
Our user-facing website was originally just a proof-of-concept, mainly developed to show what developers can do with the API that we published.
Screenshot: RoyaleAPI Decks
But its deep data analytics capabilities have attracted the advanced users — particularly the professional players and their analysts who are involved in esports — where winning/losing each game could be a difference of $50k prize fund — all within 5 minutes.
Screenshot: RoyaleAPI Battle Replay
RoyaleAPI started out as a personal project that’s only used by myself and a few small circle of friends. Little did I know, it would evolve into my full-time commitment with millions of monthly active users.
Because of this project, I have come full circle back to what I have always loved — combining design and technology at the same time. This way of working is unique to me. I call it synergy, and it represents a step toward realizing my childhood aspiration of becoming a Renaissance man.
Source: SML Identity
The RoyaleAPI logo was designed over a weekend. I needed a visual identity of the product quickly, such that we could create a consistent identity on the Discord server for developers. It was intended originally mainly as an FPO (for placement only) logo, but I never changed it.
Even with the intention of changing it, I never really have time to truly reimagine it. The font I picked for the brand, which you could see on the RoyaleAPI brand guide is Whitney, but I made the logo with Base 9, designed by Zuzana Licko at Emigre (Wikipedia).
I used Base 9 because it’s technically a monospaced font, designed at a time with Zuzana experimented with monospace, and as a result, suggests the idea of a computer terminal, or really the tools that developers use, thus fitting. See Base 9 & 12 on Emigre
This logo kind of stuck. I have always wanted to change it, but we’ve been using it for so long that I eventually just registered it as a trademark, and so now I really don’t want to change it anymore because it took two years to get the trademark registered. See Twitter 1, Twitter 2, Twitter 3.
There are several parts of this identity that may be interesting:
I usually put a lot of thought in my designs, but I understand that visually it could feel somewhat garish. There are parts of it that I don’t really like.
Specifically, this is the only logo that I have ever designed where there are no mathematical proportion to anything. That is, I literally just drew it by hand with gut feeling.
Usually, for any logos that I would design, after having a semi-finalized form, I would then “unify” and “finalize” the design with math, such that I could describe the proportions of the different parts in a more logical way. This is common practice. The idea is so that even designers without access to the source files would be able to construct the logo again by measuring the proportions.
But I didn’t do any of that to this logo. I just kept using it. I actually tried to do a bit of that, but alas.
I will write more about this in the future.
This site was never intended to be one used by millions of players, and as with all of my personal projects, I utilized it as an opportunity to test out frameworks and technologies that I’m interested in. So it’s built with a lot of things that might not even be ideally suited for the task.
I learned a lot about the different technologies that were relatively new at the time, and based on my dependency on several Python libraries, I found myself being involved and became part of the core team of a Python async web framework. Sanic used to be a tiny library, but through the dedication of the team lead Adam Hopkins, it has since grown to become one of the most popular async framework available.
As a single team of one, doing design, technology, marketing, and all the social media, video animation, of this brand, it’s my baby in every sense — but I also had to make lots of compromises in terms of fully realizing my vision of what could be. One of the regrets is that I don’t know how to write mobile apps from scratch, so while I recognize the need for it, I can’t very easily create one without hiring someone to develop it.
For many years, per the Supercell fan content policy, third-pary sites were not allowed to derive revenue other than display ads, which greatly diminished the potential to offer premium services to offset the costs. This part has now greatly changed, thankfully after I raised this issue with Supercell when they invited me to look at some new games in development in June 2023.
But not being able to monetize easily means that hiring a developer for a mobile app just doesn’t seem like a wise business decision. It’s very hard for me to justify the cost. I take zero salary from RoyaleAPI, so for me, the spend is 0. As soon as I hire a developer, that adds tremendous financial pressure to the company that doesn’t make any business sense.
There are many other aspects of the site that I plan to write about — such as the gift of being able to chat with the end users on a daily basis, and the gift of being able to chat with kids and young adults in the 16-25yo demographic.
I know that I will never have kids on my own, so this sudden availability to interact with young people has been one of the greatest gifts of all — not all of them are very pleasant, but I really appreciate the opportunity to talk to them when I want to — not because I have to.
Some of them would send me questions when they’re applying for universities, their first jobs, etc. Many of them have such talented and kind souls that I truly feel blessed that they would seek me out to ask for advice. I plan on writing more about this aspect in the future.
I posted this to remind myself that everyone starts as a n00b. Because I look at decks so often now, I can tell if a deck would work purely through pattern recognition. And looking at this deck, I was reminded how ridiculous it is, that I would even try to play this.
Often, I see pro players commenting on new players and judging other people’s deck choices as being dumb. I wish that they would also look at the decks that they played when they were just a beginner.
It’s not really helpful to new players if all you do is tell them how n00b they are, or how “classic challenges” have no intrinsic values because they are “dumb”.
The reality is that everyone starts with something. Even the most seasoned players playing at the CRL World Finals started playing the game with a deck that didn’t make any sense.
I hope that you would appreciate how far you have come along, and to inspire the beginner players of how far you’re able to evolve, instead of giving them the criticisms they don’t deserve.
Everyone can be as good as everyone else — but they need encouragement and support from the people that surround them. Your n00b friends will be thankful for the support you have given them if you only had the humanity to care.
Your positive reactions could have inspired so many new players to continue to play the game, in such way that — guess what — new players usually mean more opportunities and incentives for Clash Royale to add new content.
Win-win — you’d be indirectly helping yourself for new exciting features in the game, just by being nice. How wonderful is that?