CheckiO is game for coders. It helps improve code with the help of their community. CheckiO is been there for couple of years and they are about to launch something new. Read to know more.
Alex, my co founder, started CheckiO as his hobby. When he was working in a bank as a software developer and solving all the same coding challenges every day, he wanted to see how other people solve the same challenges as well as what kinds of tasks developers in other areas work on. That’s why he launched a platform where he’d post some coding missions and see how his friends would tackle them. Later he saw that without any advertising coders from all over the world started joining the site, in search of this coding creativity. We had one user from China, for example, who solved all our missions each with one line of code. The community couldn’t stop talking about his approach for a month.
Our goal was building the most entertaining environment for coders to exchange their experience and learn something new from each other. Thus we focused on 2 main components: gamification and community. Gamification helped us quite a lot in actually building the community as well as in promoting the culture of contributions and support. But what we learned from the last 2 years is that gamification =/= gaming. Gamification does help to motivate users, but not as much as a real game, where the border between the game and obtaining a new skill is blurred. One feedback that we kept receiving from users was “there is no goal in this game” , since it was not a game, but a gamified platform to exchange experience. And I’ll probably spill some beans but we are about to launch a real game, where coding is just your extra weapon - Empire of Code. We have not announced it anywhere yet, so stay tuned for the news.
UI/UX has been our biggest pain points at CheckiO. When we launched it about 3 years ago in this shape we simply wanted to test the idea, and the idea started growing really big. But before the product took its shape, we needed to experiment with a lot of features to learn what we really want to build for our community. And with all that feedback integrated we are getting ready to launch Empire of Code. You’ll be able to see even from the landing page that UI as well as design graphics are totally different. This time from the beginning we are implementing all the feedback that we collected from our users in this new product.
Our servers are located on AWS. As you’ve mentioned, we use Django for data processing, which is stored in Postgres. We use Tornado for websockets. Redis uses all this for cashing and RabbitMQ for communication. We actively use Docker to launch and test user solutions in isolated, specific for every challenge environment. Docker communicates with the rest of the world through Tornado and TCP. On the client side we mainly use React and Phaser
Community support. I was very surprised seeing how supportive and helpful the community grew. We are so lucky to have some of the best Python coders in the world come regularly to CheckiO and do code reviews for beginners and more advanced users, help with a piece of advice to others, get into friendly arguments, and always stay friends. Sometimes we have Guido coming over and writing code reviews to CheckiO users, and believe me, we’ve seen all sorts of reaction to that from the happy ones to very very upset reactions - they did not envision that Guido will see their particular solutions and they were not very happy about.
Thank you for writing such a wonderful blog and building around it inspired PyCommunity!
Ankur has coded and deployed numerous Python software over the last 10 years, at three venture funded startup and a fortune 10 company. He currently heads Numerate Labs. ImportPython is his side project with Python being his go to programming language.