profile picture


I use this page to keep track of my main personal and professional projects.
A lot of these projects are not available online, but it can give an idea of the technologies I have experience with.

Personal projects

2018: TerrainVer(
JavaScript(ES6) library to generate Worms-style cartoon terrain. It uses various canvas and WebGL methods to generate a random terrain quickly(about 1 second on a normal computer). Also with Hqx depixelizing and Halton sequences. See the link for a full explanation.
JavaScript(ES6), WebGL, image processing
2017: jijimaku(
Java application for inserting dictionary definitions inside video subtitle files(for learning a foreign language). I used an open-source parsing library based on deep learning that works with many languages. Also with a clean GUI and YAML configuration.
Java 8, natural language processing
2009-2014: Memobuild(
A fully scalable web application to write books and large documents collaboratively. Interestingly, I organized documents in "components" that each had some JavaScript "props" and a template that would be redrawn on prop change(this model recently became ubiquitous thanks to ReactJS).
Google App Engine, Python, NoSQL, Javascript, jQuery, CSS, Ajax
2014: SoftID
To help a friend's project, I made a simple web application to manage city services like school attendance and canteens, based on Django Admin and with an interface to a RFID card reader. Currently being used by one school in France.
Python, Django, SQL
2010: Framigami
Javascript application to position picture frames on a virtual wall. This was part of a website on DIY picture frames.
Javascript, jQuery, CSS
2008: Cellule(
Major contributions to Cellule, an open-source project to generate procedural textures. In particular I introduced B-splines to smooth the rendering of our Voronoi-based cells. See the link for some examples of generated textures.
C++, OpenGL
2006: Virtual keyboard scripts
Script to generate a JavaScript virtual keyboard(similar to google keyboard) from Windows IME config files. I designed an Automata-based solution for supporting korean language.
C++, ICU lib, Javascript

Professional projects

2017: CMX documents API
A REST API for company-wide document storage and search, replacing legacy software. In particular I was in charge of API design, logging, and error handling. We used Java interfaces to be able to switch transparently between several databases and blob storage providers.
Java 8, NoSQL, ReactJS
2016: Agex Online
I migrated an old online subscription application based on Microsoft Access to a secure modern web application, delivering the changes by batches without downtime. Currently being used by thousands of insurance brokers across France.
.NET, SQL Server, Bootstrap, JavaScript
2015: Couchbase bulk import
I wrote a bulk document importer for Couchbase to assess database performance, using the reactive programming model.
Couchbase, NoSQL, RxJava
2014: popIn Discovery
Online application that news websites can use to manage targeted advertising. I rewrote the rather unstable prototype toward a clean MVC architecture that used a nano framework(doo PHP).
PHP, MVC, MongoDB, Javascript, CSS, Bootstrap
2013: popIn Action
Online application that e-commerce brands can use to manage targeted ad campaigns for their mobile website.
PHP, MongoDB, Javascript, CSS, Bootstrap
2012-2013: popIn Bannerbuilder
Online application to create customized banner ads. The user can choose between several banner templates, upload custom images, and modify CSS rules through a simple interface. The choices are then compiled to banners stored in Amazon S3 ready to be served.
PHP, MongoDB, Javascript, jQuery, CSS, Amazon S3, Ant build
2012: Text classification
Program that automatically categorizes news articles(Sport, Business, Politics,...). I used an in-house library for segmenting Japanese text, and the classification part was done using code from the book Algorithms of the intelligent Web. With our test dataset, the accuracy rate was 92%.
Machine learning, Java, Eclipse, Javascript, jQuery, CSS, Amazon S3
2012: Compute similarity between articles
Program that analyzes the relations between articles of an online shopping website to compute the information "...". The C/SQLite script that processed our logs to feed the Mahout library could process 67000 lines per second.
Machine learning, Mahout, Java, C, Sqlite
2011: Simple login
For a project with Reuters Japan, I developed a simple login system based on cookies. Cookie authenticity was verified using HMAC.
PHP, Javascript
2008: Analytics and CSS sprites
Script that analyzes our Apache server logs and generate an HMTL page with analytics information. Also a script to automatically generate CSS sprites from a directory containing images.
Ruby, CSS
2008: 3D muscles
Research and implementation of a high performance method to display muscles movement in real-time 3D. My method using cylinders and vertex arrays was 50 times faster than the method based on spheres that was previously used in the company.
C++, OpenGL
2007: Rehabilitation games
Worked on an application used in musculoskeletal rehabilitation that was running on a real-time Linux distribution. Developed the user interface and simple rehabilitation games based on OpenGL. The client was a rehabilitation center based in Osaka.
C++, OpenGL, wxWidgets
2007: Camera calibration and AR
Worked on camera calibration methods, and developed an algorithm to track in real-time an object with a specific pattern, with a few Augmented Reality features.
C++, OpenCV

University projects

2006: Kanji/sinograph indexation
Developed two web applications: one to read and write a simple database of sinographs and their components. The other to retrieve sinographs from a list of components.
html, CSS, Javascript, Ajax
2005: GPURec(
Program that uses the computational power of GPUs to reconstruct volumetric data from the output of a medical scanner(OSEM algorithm). Final grade: 17,25/20.
GPGPU, C++, OpenGL
2004: Java compiler
For a university project, I wrote an entire compiler(scanner, parser, abstract syntax tree, code generation) for a Java-like language slightly simplified. Support of class inheritance, priority of operators, and other advanced features. Final grade: A (maximum grade).