Projects

Below you will find some of my latest projects. As you may notice, I have been focusing on HTML5 game development for the past few years, but I can do a lot of other things, which you will find in my resume.

Kik Bots

Kik Bots

Since February 2015, I have been part of the Bots team at Kik. The goal was to create a platform that anybody could use to create chat bots.

My duties have consisted in creating new APIs for developers, creating a highly tested and scalable platform that should be able to handle millions of requests every day, maintaining it, setting up moderation measures in order to prevent malicious use cases, as well as developing the frontend for the dashboard, and integrating the designs.

During my spare time, I also wrote two bots that receive hundreds of thousands of messages every day: Space Adventure Bot and Zurvival.

Technologies & Tools

  • Python
  • Google App Engine
  • Docker
  • Codeship
  • Travis CI
  • AngularJS
  • CSS
  • Node.js

HTML5 game portal

HTML5 game portal

For the past few years, I have been enjoying making HTML5 games for fun on my free time. Eventually, I had to create my own company in order to be able to handle various partnerships and sell licenses.

The games are designed mainly for mobile browsers, and are distributed through various marketplaces, including my own game portal, Tap2Play.io.

I make them without using any game engine, in order to reach better performance. I occasionally use specific libraries such as buzz.js or howler.js for the sound.

These games allowed me to participate in various competitions. I made third at Clay.io's Got Game? 2014, third at JS13K Games 2014 in the mobile category (eighth overall), and sixth in JS13K Games 2013 in the mobile category.

I also monitor the games' popularity and reception using Google Analytics.

Making games has been my primary focus because it involves a large variety of skills. I use different coding styles, complex data structures, algorithms, and a back end system. I also need to create the graphics, as well as handling the business development side of it, while still making sure users will like them.

I particularly enjoy creating AIs within the games, because they involve more complex algorithm and require to be customized and fine tuned a lot.

Technologies & Tools

  • HTML5
  • Javascript
  • CSS3
  • jQuery
  • Cordova / Phonegap
  • CocoonJS
  • Google Analytics
  • Clay.io's API
  • Kik API
  • Gimp

Analyzing action movies' plots since 1950

Analyzing action movies' plots since 1950

For my last semester at school, I had to make a project dealing with graph vizualisation using Gephi.

The subject was free, so I decided to analyze american action movies' plots from 1950 to 2009, based on IMDb. By doing that, I was able to create a graph of keywords and relationships between them.

Finishing that project took me several months. Most of the problems I encountered were related to filtering. Indeed, it was difficult to know which words were relevant to the final output, especially since I was dealing with a huge amount of text to analyze.

In the end, I am pretty happy with the result. It allows people to navigate through the graph and see which movies are related to every keyword.

You can read more details about the project in my article.

The final project consists in six graphs: 1950-1959, 1960-1969, 1970-1979, 1980-1989, 1990-1999, and 2000-2009

Technologies & Tools

  • Gephi
  • GEXF
  • XML
  • IMDbPy
  • MySQL
  • PHP
  • Sigma JS

HTML5 games back end

HTML5 games back end

Even though the front end side of my HTML5 games is the most obvious, most of them include leaderboards, which require a back end. All my websites use the same system, including my portfolio and Tap2Play.io. For that back end, I created my own PHP framework in order to suit my very particular needs. The framework is highly inspired by Symfony 2, and the code is available on Github.

I'm also using a MySQL database to store the game data that I have to administrate. The database is about 400 MB big and some of the tables have more than a million rows, which requires both monitoring and optimization. I find handling the back end about as exciting as making the games and websites that use them. Creating a flexible, maintainable and fast architecture is not always easy and introduces me to new challenges constantly.

Technologies & Tools

  • PHP
  • MySQL
  • Twig
  • Swift Mailer
  • composer

GameMix

GameMix

While working at GameMix, I was able to keep practicing my game making skills, but I did perform tasks that required other skills.

I wireframed and oversaw the development of the new GameMix experience, created the native version for Android, developed an algorithm to recommend games based on past users behaviors, developed over 12 games by working closely with a designer, monitored their reception, created a cross promotion system, among many other projects.

I also worked a lot on the back end using Google App Engine for Java, Google Cloud SQL, Google Datastore, and Google Cloud Storage.

Technologies & Tools

  • HTML5/CSS3/Javascript
  • Google App Engine for Java
  • Google Datastore, Google Cloud Storage, Google Cloud SQL
  • Google Analytics
  • Google DFP
  • Flurry
  • CocoonJS
  • Cordova / Phonegap