
Show HN: Coderoulette, a pair programming game for developers - arielcamus
Hello everyone,<p>We just launched a side-project we have been building over the last couple of months -- Coderoulette is a pair programming game for developers, like a Chatroulette for hackers.<p>We match developers in real time and give them coding challenges they have to solve doing pair programming using a collaborative IDE and video conference.<p>You can check it out here:
https:&#x2F;&#x2F;www.coderoulette.com&#x2F;<p>We also published an article explaining how we built it. I&#x27;d love to hear your feedback.<p>https:&#x2F;&#x2F;medium.com&#x2F;@miriammuros&#x2F;how-we-built-coderoulette-a-collaborative-learning-experiment-cc023bbff88f
======
arielcamus
Coderoulette: [https://www.coderoulette.com/](https://www.coderoulette.com/)

How we built it: [https://medium.com/@miriammuros/how-we-built-
coderoulette-a-...](https://medium.com/@miriammuros/how-we-built-coderoulette-
a-collaborative-learning-experiment-cc023bbff88f)

------
wingerlang
I just tried it out a bit some feedback.

\- I selected objective-c but got C++, not the worst thing but still.

\- It would be nice to have a warmup to read the instructions, reading
something 'technical' like this is kinda hard when you've got a stranger
looking at you in the webcam, waiting.

------
diegorbaquero
The AJAX for users/ping could be benefited with a websocket and/or http2

~~~
miriammuros
What do you mean exactly? :)

------
wlamartin
I can't quite figure out if PHP is the only language that you can collaborate
with and I don't want to start a session to let someone down. Maybe you could
update the website or any of the blog posts with this info?

~~~
arielcamus
Hey wlamartin. PHP is not the only option, we support dozens of programming
languages. When you sign up you pick which languages you already know. The
other people will do the same. When you are matched we randomly pick one
language from the a list that combines both of your languages. What this
guarantees is that at least one person will know the language. If that's the
case, one person will have to learn from another, and that's precisely what we
want to happen.. collaborative and peer to peer learning!

It's super interesting to see how easy it is to learn the basics of a new
programming language when you are coding with someone else that already knows
it. It's like having a teacher just for you.

In any case, we have removed PHP from the list... everyone hates it haha.

~~~
Kaizyn
This is a mistake. The list should be the set of languages both people already
know. Letting syntax learning be a barrier to problem solving will not be fun
and it will create an initial imbalance in the pairing.

You will eventually want to move to an ELO-ranking like system to make sure
the pairs are roughly balanced. Otherwise, there's no way it would be fun for
an expert-level C developer to pair with a newbie JavaScript programmer and
have to spend the whole time explaining what pointers are, etc.

~~~
arielcamus
We are also asking people about their programming level to make sure we don't
have anyone who knows nothing about programming. Our purpose with this project
is precisely to explore peer-to-peer learning, so we want to force those types
of interactions.

