profile picture

Projects

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.

(NOTE: originally in French, currently being translated)

Personal projects

2018: TerrainVer(https://juliango202.com/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(https://github.com/juliango202/jijimaku)
Java application for inserting dictionary definitions inside video subtitle files(for learning a foreign language). I used an open-source Japanese parsing library that I try to map to Universal Dependencies(UD). Also with a clean GUI and YAML configuration.
Java 8, natural language processing
2009-2014: Memobuild(www.memobuild.com)
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(https://github.com/juliango202/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(http://www.popin.cc/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: Classification de textes
Programme pour trouver automatiquement à quelle catégorie(Sport, Business, Divertissement,...) appartient un article d'actualité. Pour la segmentation de textes japonais j'ai utilisé notre librairie maison, et pour la classification le code du livre Algorithms of the intelligent Web. Sur nos données de test, le taux de réussite était de 92%.
Machine learning, Java, Eclipse, Javascript, jQuery, CSS, Amazon S3
2012: Calcul de similarité entre articles
Programme analysant les relations entre articles d'un site de vente en ligne afin de calculer l'information "Les visiteurs ayant vu cet article ont également vu ...". Le script C/SQLite qui transformait les masses de données dans un format compréhensible par la librairie Mahout pouvait analyser 67000 lignes de logs par seconde.
Machine learning, Mahout, Java, C, Sqlite
2011: Simple login
Pour un projet avec Reuters Japan, développement d'un simple système de login entièrement basé sur des cookies. L'authenticité des cookies était vérifiée via HMAC.
PHP, Javascript
2008: Analytics et CSS sprites
Script qui analyse les fichiers logs du serveur Apache et génère des pages web présentant des graphes d'analytics. Également un script pour générer automatiquement des sprites CSS à partir d'un répertoire d'images.
Ruby, CSS
2008: Muscles en 3D
Recherche et implementation d'une méthode haute performance pour afficher un rendu 3D temps-réel de muscles en mouvement. Ma méthode utilisant des cylindres et vertex arrays était 50 fois plus rapide que la méthode utilisée précédemment par la compagnie et basée sur des sphères.
C++, OpenGL
2007: Jeux pour réhabilitation
Travail sur une application utilisée pour la réhabilitation musculoskeletal, et tournant sous une version temps-réel de Linux. Développement de l'interface utilisateur et de simple jeux de réhabilitation basés sur OpenGL. Le client était un centre de réhabilitation à Osaka.
C++, OpenGL, wxWidgets
2007: Calibration caméra et AR
Travail sur les méthodes de calibration de caméra, et développement d'un algorithme pour reconnaître et suivre en temps-réel un motif spécifique, avec quelques fonctionnalités de Réalité Augmentée.
C++, OpenCV

University projects

2006: Indexation de kanjis
Développement de deux applications Web: une pour lire et écrire dans une simple base de données de sinogrammes et de leurs composants. L'autre pour retrouver des sinogrammes à partir d'une liste composants.
html, CSS, Javascript, Ajax
2005: GPURec(https://github.com/juliango202/GPURec)
Programme qui utilise la force de calcul des processeur graphiques(GPGPU) pour calculer des reconstructions volumétriques à partir des résultats de scanners médicaux. Note finale: 17,25/20.
GPGPU, C++, OpenGL
2004: Compilateur Java
Pour un projet d'études, j'ai ecrit un compilateur complet(scanner, parser, abstract syntax tree, code generation) pour un langage type Java légèrement simplifié. Support de l'héritage de classes, de la priorité des opérateurs, et d'autres fonctionnalités avancées. Note finale: A (le maximum).
Java

Home