Hi Gabriel! What's your background, and what are you currently working on?
I’m Gabriel Benmergui, 34, and currently, a Senior Product Engineer at CircleMedical, a YC backed startup in the Medical space. Recently, I’ve designed, managed and implemented an end-to-end EMR - the software used by doctors to document and treat patients.
Before becoming a Software Engineer, I was an aspiring professional Go Player and became the #1 player of my generation in all South America.
The Game of Go was my passion in my teens and 20’s. I wanted to make a living with the game and making it professionally was extremely competitive: thousands of players would play tournaments every year and less than 15 people world-wide would achieve the title of professional.
So I decided to build a Go Server that rivaled the current king, that was implemented with borderline expired technology. I founded Kaya.gs along with a partner: from nothing to a playable server in about 2 months back in 2011.

One of the biggest challenges was the business model. Playing on a server is free, so most servers live by the Freemium model. Some features and services would be unlocked with a membership.
Because we would take a long time to build a competitive freemium model and to bootstrap with that strategy, we chose to crowdfund the project. There was a huge need for a new space, that would develop new features faster and be more modern than the current options: the crowdfunding campaign let us get funding in the order of 20.000U$S.
What motivated you to start Kaya.gs?
In 2011 I went to Korea to study Go while secluded in the mountains. That was my last chance to become the first Go professional player in South America. At one point the opportunity was offered to me, a dream I had had for a decade. But I thought that I would be so far off-the-top of the game that it wouldn’t be my best contribution to the game and the community. I wanted to use my software skills to build something for everyone, not only for myself to compete.
At one point I was building an online Go school and had dozens of recurring paying users, but I ran into a huge roadblock: It was very hard to extend services officially to the biggest Go server in the West. This happened because the live servers of the time had been built a decade before and had a very limited vision of what could be done: they didn’t see themselves as a platform for the expansion of Go activities as much as a technical feat of being able to play the game online.
Kaya.gs was a very unique project for many reasons, but what got people really excited was the vision: the idea that something new and exciting would happen and that the community would be able to thrive with new community-oriented features. We had huge participation from the users in what had to be built, and even extended an Open Source part of the project for other developers to build AI’s, time systems and tournament systems.
Back then I had had only about 1 year of web software engineering experience which will be an important piece of information later on. I had worked with startups and loved the ethos of building something for people that wanted it.
How did you build it?
The first step was building an architecture for it and a demo for ourselves: could we feasible build the first responsive HTML real-time GO server?
The tools were very new at the time: socket.io for Websockets, node.js for event emitting/channel management, Ruby for the server (with a microframework called Cuba). The front-end was made with jQuery, but a funny thing for the Front-end Geeks is that we build a React-like rendering engine to only update the correct components instead of re-drawing the entire page.
With my partner we sat down together, we picked the tools and the design, and we started coding as fast as possible. One of the most magical moments in the process was the first time that we could place a stone in the board and it worked real-time: like hearing your baby speak!
Technically there were many obstacles: WebSockets was not reliable enough for many browsers and browser setups: the javascript community did not offer nearly as many tools and projects as it did later on so you had to build a lot from scratch. And games are *hard*. And real-time games with time-sensitivity are even harder.
We wanted to crowdfund the project in Idea.me, a Kickstarter-like company that was made in Argentina (because Kickstarter was not available for Argentina, and I think still isn’t). The day we launched the campaign since most of our users were outside the country, their donations were blocked by credit card companies and the sort. Nobody could pay. So we shut the project down from the idea.me website, and built one on our own website overnight, with Paypal.
One of the fondest memories was naming the funding section on the website “Candy” with pink colored cues and icons. People found it hilarious that their curiosity led them to find that “Candy” was actually us asking them for money.
We priced much like a Kickstarter campaign, different Tiers meant different perks and benefits, but mostly subjective. It was borderline a donation, because what people wanted was to see a new player in space more than anything else.



