I am a software engineer with more than 13 years of experience. I had multiple roles throughout the years: developper, architect, documentation writer and support engineer. I have a complete overview of what it means to build products and I can provide insights that will help you grow your business further with tech.

My current technical stack is around React / Gatsby.js / AWS. I also have a strong expertise building search UIs with Algolia: I built the core of the UI libaries and did technical support during the whole experience.

Skills

frameworks

  • Gatsby

  • Play framework

  • Play framework 2

languages

  • javascript

  • css

  • java

  • Processing

  • scala

libraries

  • react

  • redux

methodologies

  • kanban

  • Pair programming

  • scrum

  • DevOps

products

  • Algolia

  • AWS

  • Stripe

tools

  • git

  • github

  • npm

  • Excel

  • webpack

Experiences

Noima

Since November 2019

Noima is the company that hosts my freelance activities and the products we create in an indie fashion.

Related projects:

Sqreen

From February 2019 until July 2019

Sqreen is a security company that delivers a unique solution to detect malicious behavior on a web application. The solution integrates directly in the web applications which offers a huge granularity, as well as few false-positives. I was part of the Dashboard team. I was building the UI controlling the agents.

Related projects:

Algolia

From February 2015 until November 2018

Algolia is a SaaS company delivering the best user-facing search experience. It is behind the search of thousands of websites, in a wide variety of industries from e-commerce to media. My mission there was to bring JS developer tools to life. I have created and maintained JS libraries that helped thousands of developers build search UI in minutes rather than days. I have also contributed my dataviz experience to the dashboard, and I have tried myself at product management when there was none.

Related projects:

Zengularity

From January 2011 until January 2015

Zengularity, formerly Zenexity, is an intesting mix of web agency and consulting company with a startup mindset. This company initiated Play Framework and created Play Framework 2. Both of them are references in the java and the scala ecosystem for web application backend.

I worked on missions first as a consultant and then as a developer. On these missions, I was always in a fullstack position. I was also the organizer of the monthly hackdays, and a mentor of a study group following Functional programming in Scala on Coursera.

Related projects:

Accenture

From November 2006 until November 2010

Accenture is an international consulting company. It helps the biggest companies with their technological challenges.

As part of the technological services branch, I helped many companies with different profile on technology questions: from successful startups to international energy groups or local insurance companies. I have mainly worked in JEE environments, and by the end of this experience I had integrated some front-end experience too.

Related projects:

Projects

creative code daily

Since January 2020

https://www.bobylito.dev/

Animation and visual coding has long been a topic of interest for me. This project allows me to create and develop this passion. Every day, I do a new animation with the following constraints:

  • output is a video
  • only outside of business hours
  • something different
  • must be a perfect loop

All the animations and their source code is presented in a website built with Gatsby.

Technologies used:
  • Processing
  • Gatsby

La carte étoilée

Since August 2019

https://www.carte-etoiles.com/

This project is a single product e-commerce website. With this website, clients can create a map of the stars for the night of their most cherished events in life: first kiss, a baby or anything meaningful. It is an indie / solo project and as such I do everything.

Technologies used:
  • React
  • Pupetteer
  • AWS Lambda
  • Gatsby
  • Stripe
  • Jest

Sqreen - Dashboard

For 4 months – started in February 2019

Sqreen offers a new way to protect web applications from inside. The product has two parts, one is the agent loaded in the web applications backend and the other part is the Sqreen dashboard. The dashboard visualize what the agents reports: threats, activities and other signals. The dashboard also allows to configure the behavior of the agents if a threat is detected. I was part of the front-end team and I also had the chance to give two internal talks, one about conventional commits and the other about front-end tests.

Roles:

  • feature implementation
  • design system implementation
  • tech stack improvement
  • knowledge sharing

Technologies used:
  • React
  • CSS Modules
  • Jest
  • enzyme

Playlist detective

Since July 2017

Playlist Detective is an attempt to ease music discovery with playlists. Back in the days, people were sharing mixtapes: some songs we knew and others we did not, therefore expanding our musical horizons. Playlists are the same, and playlist detective lets you search for songs or artists you like in order to stumble on your new favorite songs. During the release of the "search for facet values" feature at Algolia, I realized that searching for playlists could be a good use case for a Spotify playlist search engine. It started as a prototype with InstantSearch.js and no other libraries. Since then, it has been rewritten using Gatsby, React and React-InstantSearch

Technologies used:
  • Algolia
  • JavaScript
  • mongoDB
  • InstantSearch.js
  • React
  • React-InstantSearch
  • Gatsby
  • Tailwind.css

Algolia - Search for facet values release

For 3 months – started in January 2017

Algolia is a search as a service company. The search engine constantly evolves and the team implements new features over time. However, Algolia is more than just an engine sitting in a datacenter, it is a complete ecosystem of tools and libraries.

The mission here is to make sure that the feature is ready:

  • it is configurable in the dashboard
  • it has a UI pattern (validated by user testing)
  • this pattern is available in the UI toolkits
  • the blog post is ready with a demo

Blog post: https://blog.algolia.com/search-for-facet-values/

Roles:

  • release planning
  • UX design
  • QA
  • product management
  • implementation / prototyping

Technologies used:
  • JavaScript

Algolia - Dashboard visualizations

For 4 months – started in February 2016

Algolia is a search as a service company. The search engine can be configured and monitored directly from the dashboard. At this point of the company, the dashboard was still missing some key elements.

The purpose of this project is to understand what the different stakeholders (users and SEs) wanted from the charts, make some propositions and implement them.

Roles:

  • business analysis
  • data visualization design
  • implementation

Technologies used:
  • react
  • NVD3

Algolia - instantsearch.js

For 2 years and 11 months – started in April 2015

https://www.npmjs.com/package/instantsearch.js

Algolia is a search as a service company, and as such it is fundamental that developers can implement a new search as quickly as possible, correctly and with the least amount of learning on their hand.

InstantSearch.js is the first widget library offered by Algolia. The widgets are pre-packaged UI elements that are used for building the search UI. The library is made to be easily extensible. Over the time, InstantSearch.js has evolved and is now the core library for UI libraries specific flavors.

This library is a key asset for convincing developers to use the Algolia search engine, as it makes the UI implementation trivial compared to the competition.

Roles:

  • technical lead
  • API design
  • architecture
  • maintainance
  • planning

Technologies used:
  • JavaScript
  • Jest
  • enzyme
  • react
  • preact
  • metalsmith

Algolia - Algolia-search-helper

For 3 years and 1 month – started in March 2015

https://www.npmjs.com/package/algoliasearch-helper

Algolia is a search as a service company, and as such it is fundamental that developers can implement a new search as quickly as possible, correctly and with the least amount of learning on their hand. The algoliasearch helper handles the search state and allows an event-based programming style, which is common for modern UIs. The state datastructure is immutable and the wrapper holds the most up to date reference to the state. This library is the core of all the UI widget libraries of Algolia and it is used by thousands of websites implementing Algolia.

Roles:

  • technical lead
  • API design
  • architecture
  • maintainance
  • planning

Technologies used:
  • JavaScript
  • Tape
  • lodash
  • JSDoc
  • metalsmith
  • documentation.js
  • browserify

Pellucid analytics - data visualizations

For 6 months – started in July 2014

Pellucid analytics helps investment banks to be more reactive and precise in the analysis and offers. To realize that they are building a solution that aggregates market data in an app for building presentation decks. The application offers several data visualizations. Some of those visualizations are specific to the industry. The end-goal of this applications is to provide the end-users with actual PowerPoint files. Since there was no support for SVG, the visualizations are rendered in bitmap formats on the backend.

Roles:

  • data visualizations implementation
  • library API design
  • library architecture
  • visual regression tool implementation

Technologies used:
  • scala
  • Java2D

Little shooter 2

For 6 months – started in May 2014

http://bobylito.me/littleshooter2/

React emerged as one of the most interesting game changer in the JS industry. As part of my learning process I chose to make a sequel to my first game with this technology.

Technologies used:
  • JavaScript
  • React
  • underscore
  • Canvas 2D
  • Grunt
  • browserify

Scala study group

For 2 months – started in June 2013

Zengularity is one of the leading consulting company for Scala and everyone was eager to get up to speed with the language, I proposed to organized study groups for the EPFL backed course on Coursera.

Roles:

  • plan and organize the sessions
  • animate each session with Q/A and whiteboard explanations

Technologies used:
  • scala

Pellucid analytics - mobile app

For 1 year and 2 months – started in May 2013

Pellucid analytics helps investment banks to be more reactive and precise in the analysis and offers. To realize that they are building a solution that aggregates market data in an app for building presentation decks. The application is a slide editor with steps tailored for investment bankers. This application needs to feel native on the one hand, and usable on IE8 desktop on the other. Because of the state of the UI libraries back then, the front-end created its own view library. The library had to be fast (mobile-friendly) and handle smoothly transition based animations.

Roles:

  • feature implementation
  • library implementation
  • library API design

Technologies used:
  • JavaScript
  • Q (promises)
  • underscore
  • Browserify
  • Stylus
  • CK editor

Hackday

For 1 year and 11 months – started in January 2013

Zengularity culture is very influenced by the californian startup culture. The HackDay allows to immerse everyone into this culture. It happened once a month, with informal meetings beforehand for pitching ideas and team creations.

Roles:

  • lead the initiative
  • animate the meetings with the whole company
  • organize the hack day (food, theme, etc)

Pellucid analytics - data integration

For 4 months – started in January 2013

Pellucid analytics helps investment banks to be more reactive and precise in the analysis and offers. To realize that they are building a solution that aggregates market data in an app for building presentation decks. The data are aggregated from several trustworthy sources. Those sources do not share the same structure and they need to be normalized as part of the data pipeline. Also the data is big enough so that it is not efficient to download everything and then do the aggregation.

Roles:

  • build a data pipeline to integrate market data

Technologies used:
  • Scala
  • PlayFramework 2
  • Datomic

Foyer assurance

For 8 months – started in February 2012

Foyer is one of the leading insurance companies in Luxembourg. Zengularity has helped them modernize their technical stack. This change was also very much a process migration with a focus switch towards the end-users.

Roles:

  • Technical consulting on PlayFramework / JavaScript / Web.
  • Design system implementation
  • Development

Technologies used:
  • Java
  • Play Framework
  • JavaScript
  • underscore
  • less.css

functionXplorer

For 1 year and 4 months – started in July 2011

http://bobylito.me/functionXplorer/

While working on video games and animations, I realized how important math functions analysis was. I made a plotter so that I could do a quick analysis of the math I was using.

Technologies used:
  • JavaScript
  • backbone.js
  • underscore
  • jQuery
  • local storage

LCL

For 12 months – started in January 2011

LCL is a french bank. There are several teams working on websites. As part of one of the dev support team, we were providing the expertise and tools necessary to have a smooth dev cycle.

Roles:

  • technical consulting on JavaScript / Java / Web.
  • implementation of a reporting dashboard

Technologies used:
  • Java
  • JavaScript

little shooter

For 9 months – started in November 2010

http://bobylito.me/little-shooter/

Little shooter is my first complete and playable game. It is vertical shooter.

Technologies used:
  • JavaScript
  • canvas 2D

ONP

For 5 months – started in May 2010

ONP is the french administration project responsible for the pay of everyone in the french state. The team I joined was responsible for making the internal web portal.

Roles:

  • prototyping
  • dev tools implementation
  • general specifications and meetings with the stakeholders

Technologies used:
  • JEE Portal (Oracle Portal and Liferay)
  • JavaScript

Open Source community of practice

For 12 months – started in October 2009

Knowledge sharing is important within Accenture. This work can be organized as a community of practice around a theme. The OSS CoP is responsible for spreading knowledge about OSS, as well as web standards. This is work done on top of my daily responsabilities.

Roles:

  • internal talks about web technologies (HTML5 and jQuery)
  • business collateral contribution (open source blueprint)

Vente-privée

For 10 months – started in July 2009

Vente-privée.com (now vipee) is a leading french e-commerce website. The core business is based selling unsold invetory as part of a special private sale. Each sale is a project with human and physical resources to assign. The project implements a solution to make this process as efficient as possible.

Roles:

  • architecture of the solution
  • implementation of the data pipeline
  • technical documentation
  • knowledge transfer to the client

Technologies used:
  • Java
  • JAXB / Jersey
  • SQL server
  • CA Clarity

Intériale

For 5 months – started in February 2009

Intériale is a french insurance company for administration personel. The project is a complete revamp of the website with a modern stack.

Roles:

  • architecture
  • feature implementation
  • technical lead
  • technical documentation for ops

Technologies used:
  • JEE portal (Liferay)
  • jQuery
  • Java

EDF - Oasis

For 3 months – started in October 2008

Within EDF (former french national electrical company), platforms are renewed and clients are migrated to the new ones. This project is a dashboard to understand the progression of a migration. This mission was realized almost completly by myself.

Roles:

  • architecture
  • planning
  • implementation
  • tests
  • unit test library implementation
  • documentation
  • knowledge transfer to the new team (meetings with slides)

Technologies used:
  • PHP4
  • smarty (template engine)
  • jQuery
  • HTML
  • CSS

GDF - portail client

For 10 months – started in December 2007

In 2007, GDF (former french national gas company) is splited from its electrical counterpart. Therefore it has to rebuild its own information system from the ground up. I joined the team responsible for the customer relationship portal.

Roles:

  • release management tooling and planning (scripts, CI, merges, guides for ops)
  • Specification writing
  • Implementation of new features

Technologies used:
  • Ant
  • Hudson (former name of Jenkins)
  • JEE Portal (WebLogic Portal)
  • WebLogic Integration (JEE integration pipeline)

CDC - Fast

For 9 months – started in December 2006

CDC Fast is a SAAS platform for local administrations. It provides them with secure way to transfer official paperworks with each other. It works as a secured third party. This project takes place after a security audit and implements the recommendations of this audit.

Roles:

  • DB connection pools implementation (JEE and JSE)
  • Unit and integration testing setup (JUnit and DBUnit)
  • Concurency bugs investigation
  • Architecture refactoring using the Service Locator pattern
  • Implementation of new modules

Technologies used:
  • Java
  • Commons DBCP
  • JUnit and DBUnit
  • maven 2