William DA SILVA
Front-end Developer

Curriculum Vitae

Learn more about my previous work positions, but also my many projects I often do during my spare time.

Career

DGFiP

From 2023 to 2024
https://www.economie.gouv.fr/dgfip

As a front-end developer, I am currently working on a project that involves building a web builder using Vue.js and Grapesjs. My responsibilities include:

  • Developing the front-end of the web builder using Vue.js and Grapesjs
  • Ensuring that the web builder meets strict accessibility rules and standards
  • Implementing new features and improving existing ones to make the web builder more user-friendly
  • Collaborating with other developers and UX designers to ensure consistency and code quality
  • Conducting tests and debugging to ensure the web builder is fully functional and meets relevant standards
  • Optimizing the performance of the web builder to ensure fast load times

Through my work on this project, I have gained valuable experience with:

  • Developing web builders using Vue.js and Grapesjs
  • Collaborating with other developers and UX designers to create user-friendly interfaces
  • Implementing and testing new features
  • Conducting tests and debugging to ensure the web builder is fully functional
  • Ensuring strict adherence to accessibility rules and standards

Overall, my role involves contributing to the development of a web builder that will enable users to easily create and customize websites without requiring extensive coding experience while ensuring that the builder is accessible to all users.

Chronotruck

From 2018 to 2022
https://www.chronotruck.com

At Chronotruck, I was responsible for developing a new SPA in VueJS 2.x along with another front-end developer. This involved designing new interfaces based on mockups created by our UI/UX designer and the PHP APIs of the back-end developers. During this project, we implemented new features using a variety of technologies, including:

  • Map views using Leaflet & VueLeaflet
  • CSS migrations from VueBootstrap to TailwindCSS, component documentation with Storybook
  • Payments with StripeJS
  • ICU i18n localisation

I also implemented advanced, automated interface tests on CircleCI, which included vulnerability audits, static tests on the code (ESLint, Stylelint, bundle size), component unit testing with Jest, functional (integration) tests with Jest, Puppeteer & Cucumber, and E2E tests with Nightwatch, Wiremock, and Browserstack. Later, I was responsible for migrating those tests to Github Action.

In addition to my work on the SPA, I also developed Chronotruck's developers website using Ruby and Jekyll. During this project, I discovered AlpineJS. I also worked on a Vue app that displayed real-time bookings on the office's screens using WebSockets (socket.io).

During my spare time at Chronotruck, I worked on a DevOps assignment. This involved improving our Capistrano deployments, building and improving our Docker images on CD, and implementing our infrastructure from scratch using Terraform/Ansible scripts. Additionally, I implemented an API documentation for developers using APIBlueprint and Gridsome.

While at Chronotruck, I had the opportunity to mentor front-end interns, collaborate with new front-end developers, and join external teams with Theodo to build new projects for GEFCO. During these projects, we developed two new apps using Vue 3, Pinia, and Typescript. I also implemented an advanced CI & CD on Github Action for those two apps and discovered new organization processes.

My Cuistot

From 2016 to 2018
https://www.mycuistot.com

As a member of a three-person team at a startup, I was responsible for designing and implementing the backend architecture of the platform. This involved utilizing a range of technologies, including:

  • Ruby on Rails with a PostgreSQL database and ActiveAdmin on Docker
  • MJML for creating responsive email templates
  • SendGrid for sending emails

As the platform evolved, I created new APIs and adapted existing models to fit the new features that were requested.

Later on, I was charged with developing the My Cuistot mobile application for both Android and iOS platforms. This involved utilizing Ionic 1.x / Angular 1.x and Google Firebase for push notifications. Additionally, I was responsible for:

  • Designing the application's user interface using both Photoshop and Figma
  • Integrating the design in HTML / CSS & Javascript
  • Utilizing previously created backend endpoints
  • Implementing tooling for building, publishing, and linters on CircleCI to optimize the development process

I also designed and developed a new website for My Cuistot, which previously ran on WordPress. To enable customers to book meals, I utilized VueJS 2.x and a range of other technologies such as HTML, SCSS, JS, and Webpack. To improve the project architecture, performance, and SEO performance of the landing pages, I migrated to NuxtJS with server-side rendering. As part of this process, I was responsible for:

  • Designing both the desktop and mobile interfaces using Figma
  • Integrating the design in VueJS
  • Integrating various APIs with the backend

Finally, I made several optimizations to reduce bounce rates and improve performance, ultimately achieving an optimal score on various performance audits.

Overall, my responsibilities included:

  • Utilizing a range of technologies to develop both the backend and frontend of the platform
  • Creating new APIs and adapting existing models to fit the platform's evolving needs
  • Designing both the mobile application and website's user interfaces
  • Making optimizations to improve performance and reduce bounce rates

Limeet

From 2015 to 2016

As a freelance developer, I was responsible for developing a mobile application for meeting Erasmus students. This involved utilizing Ionic to create both an Android and iOS application. Additionally, I worked with an external backend developer who used Express to provide endpoints for the application.

During the project, I gained experience with a variety of technologies and processes, including:

  • Building applications for iOS
  • Implementing Facebook sign-in functionality
  • Developing with AngularJS

Although this project is no longer maintained, it provided me with valuable experience and knowledge that I have since applied to other projects.

Projects

Shortener.to

  • NuxtJS
  • Rails

Project discontinued or no longer affiliated with.

https://www.shortener.to

YoTeacher

  • Symfony
  • NuxtJS

Project discontinued or no longer affiliated with.

https://www.yoteacher.fr

Arbitrium

  • NuxtJS
  • Rails

Project discontinued or no longer affiliated with.

https://www.arbitrium.app

Changelog.xyz

  • NuxtJS
  • TailwindCSS
  • AdonisJS

Project discontinued or no longer affiliated with.

https://www.changelog.xyz

Chroma.gg

  • VueJS

Project discontinued or no longer affiliated with.

https://www.chroma.gg

Eris The Gatherer

  • VueJS
  • Netlify

Project discontinued or no longer affiliated with.

https://www.eristhegatherer.xyz

Agrivillage

  • Rails
  • VueJS

Project discontinued or no longer affiliated with.

https://www.agrivillage.fr

FrontAudit

  • Node.js
  • VueJS

Project discontinued or no longer affiliated with.

https://www.frontaudit.com

Ani'Meaux

  • NuxtJS
  • Rails

Project discontinued or no longer affiliated with.

https://www.animeaux.org

Tech

A non-exhaustive list of technologies and languages that I master, and with which I often work

  • HTML
  • CSS
  • Javascript
  • Typescript
  • NodeJS
  • Webpack
  • Vite
  • VueJS
  • NuxtJS
  • Ruby
  • Rails
  • Apache Cordova
  • Ionic
  • Python
  • MJML
  • Lua
  • Electron
  • React
  • NextJS
  • PostgreSQL
  • Terraform
  • Ansible