Adrien Poupa

Full-Stack Developer

About Me

I am a developer based in Montreal, QC, Canada.

As far as I remember, I have always been interested by computers and programming in general. I started playing around with programming at 13, mainly hacking PHP scripts.

I am currently working for Turbulent on Star Citizen’s e-commerce website.

I am also interested in DevOps, the AWS platform, and the cloud in general.

Open-source software is really important for me, so I try to give back to the community as much as I can by creating new packages, sharing the knowledge I have on my blog, submitting pull requests or reporting bugs.

I enjoy working with a variety of languages and frameworks and I am always eager to try something new.

Born and raised in Toulouse, France, I moved to Montreal in 2017 to pursue a Masters degree in Software Engineering at Concordia University. Before that, I was studying Software Engineering at Efrei near Paris.

Experience

Turbulent

Technical Lead

Since January 2023

https://turbulent.ca

Leading a team of developers and devops responsible for Star Citizen’s website infrastructure, e-commerce backend and developer tools.

  • Leading the infrastructure migration from Salt to Kubernetes using Kustomize and ArgoCD
  • Creating on-demand test environments with ArgoCD
  • Maintaining the e-commerce backend and developing new features (PHP 8, MySQL, GraphQL)

Turbulent

Senior Backend Developer

October 2020 - December 2022

https://turbulent.ca

I am working on Star Citizen’s e-commerce website. Backend technologies are PHP, Node.js + TypeScript; frontend is based on React + TypeScript.

I improved the cart flow performance resulting in stability during major sale events, and reduced pipeline duration by half leading to increased developer productivity. I migrated the codebase from PHP 7.2 to PHP 8.1 and implemented static analysis tools (PHPStan, PHPCS, Rector).

SimplyPHP

Full-Stack Developer

March 2019 - October 2020

https://www.simplyphp.com

Worked on PHP applications based on Laravel and Vue.js, also sometimes on WordPress, Zend Framework, jQuery and other related technologies and languages.

I am also very interested in the DevOps side of those applications as I created an complete architecture on AWS to host them. The details are present on my blog.

I mostly worked on two projects:

  • A financial application built on Laravel and Vue.js used by financial advisors. I wrote the export engine that is responsible for generating PDF files that are handed out to the client. I also wrote a generic integration engine that allows fetching financial data from various external providers. I am the principal maintainer of the application so I am responsible for bug fixing and developing new features as well.
  • A multi tenant legacy PHP application for which I created the AWS infrastructure mentioned above. There were discrepancies between the tenants’ databases that I fixed. I created a new Laravel application that runs next to the legacy application that is used to create new features using a modern technology stack, using the strangler pattern.

KDS

R&D Intern

April 2017 - August 2017

https://www.kds.fr

KDS is a global provider of a corporate travel management software solution. During my internship, I worked on their software written in C# and Ember.js.

I refactored the internal API to comply with REST architecture.

I migrated the mocking framework from RhinoMocks to Moq.

I prepared the repository for a migration from SVN to Git by removing unnecessary files from the Git history.

SepEfrei

Web Developer

January 2016 - June 2017

https://www.sepefrei.fr

During my time at Efrei, I worked as a freelancer for Efrei’s junior enterprise, SepEfrei.

I developed a few projects, including BlockPharma, a Laravel application that uses the blockchain to fight against drug counterfeiting by associating the datamatrix present on each drug’s package to a unique blockchain transaction by using additional data. That way, the drug’s history cannot be altered.

Diagamter

Intern Web Developer

June 2016 - September 2016

https://www.diagamter.com

Diagamter’s main activity is to screen housing properties. That includes checking for issues such as the presence of asbestos or termites, but also getting information about the property such as the surface or the isolation. Such checks are mandatory when selling or renting a property in France. Diagamter’s customers include technicians, notaries, real estate agencies and end customers.

Diagamter sells its brand and IT platform, called monDiagamter, to franchisers. This platform is based on Laravel, and I gained my first professional experience developing new features on the platform.

Once my internship was over, I kept working for them as a freelancer when needed; I helped building the end customer website as well as the careers website.

Orange

Intern Web Developer

June 2015 - August 2015

https://www.orange.fr

During my first internship, I worked for Orange, the biggest telecom service provider in France.

I worked on a PHP application called Part Variable Vendeur - Orange Promotion, responsible for calculating the variable part of sellers. It was built on the Orange Framework & Tools, an homemade framework based on components from Zend Framework 2 and Symfony.

Projects

Simple Docker Compose NAS featuring Sonarr, Radarr, Prowlarr, Jellyfin, qBittorrent, PIA VPN and Traefik with SSL support

After searching for the perfect NAS solution, I realized what I wanted could be achieved with some Docker containers on a vanilla Linux box. The result is an opinionated Docker Compose configuration capable of browsing indexers to retrieve media resources and downloading them through a WireGuard VPN with port forwarding. SSL certificates and remote access through Tailscale are supported.

It currently has over 700 stars on GitHub.

Light and slick material design music player for Android

This is a local music player for Android, written in Java. Forked from Phonograph, it is easy to use and customizable (multiple themes including a dark one). It supports folder browsing, sleep timer and a tag editor.

It currently has over 10,000 installs on the Play Store and over 700 stars on GitHub. Because I care about open-source, it is also available on the F-Droid application store.

Travel certificate Android application during France's COVID lockdown

At the peak of the epidemic wave, the French government mandated the usage of travel certificates to curb the number of cases. Those certificates were required to run errands including going to the grocery store. The application provided an official form as well as a website to fill it, but no native mobile application.

I created a clean, simple and permissionless application to fill the form from a native application. It was very successful as it reached 1 million of active devices in December 2020 on the Play Store alone.

I am glad to have been able to help many people through a difficult time.

Customizable Docker-compose template made for Laravel

Laradose aims to bring a light yet powerful and configurable Docker-compose configuration to run a Laravel application locally.

Installation and configuration are made easy with the provided Bash script. Custom settings are saved in Laravel’s .env.

Doodle alternative built using Laravel

This is a Laravel application that provides an alternative to the well-known proprietary service Doodle.

It is a rewrite of Framadate. I plan to refactor the frontend to use Vue.js or React.

Education

Concordia University

MEng Software Engineering

September 2017 - December 2018

https://www.concordia.ca

It is a 2-year program dedicated to Software Engineering. aimed at enhancing analytic and design skills as well as improve one’s ability to present technical material in written form. Throughout the program, I was trained to work on all aspects of the software product life cycle and learned how to develop high-capacity computer software in a controlled, systematic and quantifiable manner and ensure it is reliable, efficient and economic.

Here is the list of the courses I have taken:

Efrei

Bachelor and Master of Software Engineering

September 2015 - August 2017

https://www.efrei.fr

I started to study computer science and software engineering full-time at Efrei (Engineering School of Information and Digital Technologies), where I prepared an engineering bachelor and masters degree in software engineering.

I obtained my undergraduate degree in software engineering there, and took advantage of the dual-degree program they had with Concordia University to move to Montreal. This means that graduating in Montreal made me also graduate from Efrei with a Masters.

I did some interesting projects, most notably a C# chat that uses TCP sockets and an Android application to show pollen forecast.

APU

April 2016 - June 2016

https://www.apu.edu.my

Exchange semester done while I was studying at Efrei. This is when I discovered what living abroad was like for the first time and that played a major role in my decision to move to Canada.

I took the following courses there:

  • Entrepreneurship
  • Operating Systems
  • Introduction to Web Programming
  • Object Oriented Methods with UML

Icam

September 2013 - August 2015

https://www.icam.fr

Two-year undergraduate intensive course in mathematics, physics, engineering sciences and computer science.

Icam (Institut Catholique des Arts et Metiers) is a general engineering school, with a focus in mechanic.

At the term of this two-year formation, I passed a national exam (Banque PT) and entered Efrei, which was my top choice as I wanted to prepare a software engineering degree rather than a mechanical one.

When I'm Not Programming

When I’m not behind a computer, you can usually find me devoting myself to one of my hobbies.

In the summer, it is leg day everyday as I bike everywhere. I find biking to work very rewarding. Some day, I will also bike during the winter!

In the winter, as I still need to exercise, I play badminton.

I like to discover Quebec’s nature when I go on hikes, especially during Fall when temperatures drop and the foliage turn from green to auburn and gold.

Cooking is my way relax, it is usually a good recipe to clear my mind.