Projects.
Most of the projects I’ve worked on are the property of the companies I’ve collaborated with, which means I can’t share the sources. However, I can describe some of the details so you can get an idea of what I’ve been working on.
I strive to make SaaS solutions both “developer-friendly” and “user-friendly”, with an emphasis on simplicity, durability and maintainability. I also draw on methodologies such as Agile and Double Diamond to ensure a clear view of project progress at every stage.
DIAMONDFORGE [ Personal ]
A few words about this project
DiamondForge is a personal project I've been working on for several months. It represents the culmination of everything I've learned over the course of my career. The aim is to design an innovative platform that revolutionizes project management by providing a clear structure and comprehensive support thanks to artificial intelligence. Based on the Double Diamond methodology, it connects all the disciplines involved, streamlines each key step - from discovery to delivery, through information gathering and alignment with strategic objectives (OKR) - and ensures process consistency, even for novice users. The entire platform is gamified to make the experience more engaging, drawing on strategies used in the DeFi world of crypto-currencies. This project is still under development, and more information will be available soon.
Product definition
GPT | Balsamiq | Notion [ until the MVP is ready ]
Like any well-designed product, DiamondForge has been developed by combining tools and methodologies to align strategy, collaboration, and execution.
With Chat GPT to assist and validate hypotheses, Balsamiq Mockups for wireframing, and Notion for task management (after extensive configuration work), each feature has been designed to meet the challenges of project management while remaining user-centric.
However, the plan is to move quickly from Notion to DiamondForge as soon as an MVP is operational, enabling users to test the platform by using it for their own developments, thus improving its relevance and efficiency.
UI & UX design
Figma [ UX/UI ] | MidJourney & GPT [ Illustrations ]
I used Figma to create a consistent design system, based on shadcn-vue (a front-end component library), simplifying development while maintaining the customization and flexibility offered by Tailwind CSS.
Visual identity and color palettes were also designed in Figma and saved as variables directly usable in Tailwind front-end configuration.
GPT and MidJourney were called in to help with the illustrations and overcome the creative obstacles I encountered.
Front-End
Vue3 | TypeScript | Urql | Vitest | Cypress | Storybook | Supermaven & GPT
DiamondForge front-end development is based on a modern, efficient stack. Vue3 and TypeScript provide a solid foundation for building modular, maintainable and high-performance applications. The use of Urql simplifies the management of GraphQL queries, guaranteeing a fluid and responsive user experience.
For quality assurance, Vitest and Cypress provide reliable unit and end-to-end testing, while Storybook streamlines development and component documentation (Tailwind + shadcn-vue), guaranteeing consistency and reusability.
For the time being, no store technology has been integrated, as this has not yet been deemed necessary. If the need arose, I'd probably choose Pinia, known for its TypeScript compatibility.
Finally, AI also plays a role: Supermaven boosts productivity, while GPT serves as a technical mentor in case of difficulties.
Back-End
Yoga server [ Node ] | TypeScript | Vitest | PSQL | KAFKA
To design the DiamondForge back-end, I was inspired by a proof of concept (POC) developed during one of my missions. I opted for GraphQL with Yoga Server because of its ease of use and flexibility, enabling a rapid integration process while remaining easily replaceable by Apollo if needed. One of the main advantages of GraphQL is its ability to generate dynamic, interactive API documentation using tools such as GraphiQL.
TypeScript improves code reliability, while PSQL ensures robust data management. In addition, Kafka, deployed using Docker Compose with Zookeeper (pending potential future decoupling), orchestrates asynchronous communications. Meanwhile, Vitest, combined with rigorous database management scenarios, guarantees regression-free pull requests.
As with the front-end, Supermaven and GPT support me every step of the way.
Architecture & CD / CI
Docker | K8s | Github | VPS Infomaniak (still to decide)
DiamondForge's architecture is designed to be scalable, resilient and easy to manage. All services will be "docked" and orchestrated with Kubernetes, while Helm Charts will standardize and simplify operations such as deployment, rollbacks or resource scaling.
This approach aims to reduce dependency on a specific hosting provider: Kafka was chosen over SQS, and AWS Lambda was avoided to ensure greater independence. The system is built to be easily migratable and auditable, whether to monitor performance or diagnose incidents.
For hosting, a VPS at Infomaniak is envisaged, combining flexibility and performance to support the project's evolution. What's more, their eco-friendly approach to energy consumption and their collaborative suite, which could potentially be useful if I set up a team, would reduce my dependence on Google, which will no doubt weigh in the decision.
DNDEDITOR / FACTORLY [ Numberly ]
A few words about this project
DNDEditor, integrated into Factorly, is a versatile drag-and-drop tool designed to simplify the creation of e-mails and web pages. Developed from scratch, it enables users to create visually appealing content effortlessly, while ensuring adaptability across different devices. By leveraging MJML for responsive design and combining intuitive UX principles, the editor has transformed workflows within Numberly, reducing development time and enabling teams to focus on creativity. Its impact has extended to securing key customers such as SNCF and Fnac, demonstrating its effectiveness in improving operational efficiency and customer engagement.
Product definition & UX design
Balsamiq | Figma | Gitlab
The DNDEditor was born out of a comprehensive product definition process that combined structured research, technical expertise and close collaboration with the Numberly teams.
My roadmap began with a detailed Excel document (a Santa Claus list, as they liked to call it) compiling all the needs identified by the teams involved - essentially a “wish list” of features and requirements. I conducted a discovery phase, analyzing existing alternative solutions to understand their strengths and weaknesses. Drawing on my technical experience, I explored tools and libraries likely to accelerate development while guaranteeing the quality of results.
On this basis, I designed a highly detailed version of the DNDE editor in Balsamiq Mockups, creating wireframes that captured all aspects of the envisaged tool. Working closely with the teams, we refined this vision to define the perfect MVP, balancing ambition and practicality. My front-end expertise enabled me to pre-structure the tool into modular components, streamlining the development process.
With tight deadlines - three months to deliver a functional version while competing for a high-stakes tender for SNCF, one of Numberly's biggest contracts - the DNDEditor was successfully developed and launched, meeting both internal and external expectations.
Front-End
Vue2 | Webpack | Axios | VuEx | CkEditor | ElementUI | Jest | Cypress | VuePress | Sentry
I designed the front-end architecture of the DNDE editor using Vue2, (vue3 had not yet been released at the time), exploiting recursive components to efficiently manage the complexities of the drag-and-drop editor. Communication with the back-end was facilitated by a robust REST API, ensuring seamless compatibility with the MJML rendering engine (JSON format).
With only a month and a half to deliver the MVP (for the technical part), I led the project both technically and organizationally, overseeing code reviews and integrating additional developers for the final sprints. Rigorous test pipelines using Jest and Cypress were implemented in the CI process, blocking any PR until all tests had been passed.
To improve functionality, I developed custom components and fixes for CKEditor, addressing specific user needs while contributing to its open-source library. I also introduced dynamic technical documentation via VuePress to streamline integration and collaboration for future developers.
As DNDEditor evolved to version 3.6.6, I maintained and enhanced the application while contributing to other SaaS products on the Numberly MarTech platform. In addition, I set up a debugging tool in development mode to ensure perfect alignment between the drag-and-drop editable interface and the MJML-generated models.
Back-End
HapiJS [ Node ] | Nodemon | Jest | MJML | Python | Black | Flake8 | LamAPI
The DNDEditor back-end consisted of three main elements.
A Python-based system, using LamAPI - a custom interface developed by Numberly and integrated with FastAPI—managed data extraction and storage for all the company's projects, although this was not my main responsibility.
I designed and implemented the MJML engine service using NodeJS and HapiJS, enabling the transformation of MJML JSON templates into HTML e-mails fully compatible with all major e-mail clients. These generated templates were then processed again via Django during the sending phase to apply dynamic personalization, building on the first custom component I developed for MJML.
In addition, I created a component editing service, allowing developers to design custom MJML components. This service established a framework around component creation, integrating tests and providing tools to streamline and facilitate their work.
To ensure reliability and stability, I integrated Jest tests into the CI pipeline, blocking any pull requests if all tests were not passed. Sentry was used to monitor errors in real time and maintain system reliability. I also ensured code robustness, managed production deployments and prepared each release & release notes.
Architecture & CD / CI
Docker | K8s | Gitlab | AWS | Helm | Graphana | Terraform
All services were containerized with Docker and orchestrated using Kubernetes (K8s), guaranteeing high availability and seamless scalability. Helm was as used to simplify deployment processes, efficiently manage resources and enable version-controlled deployments and rapid rollbacks.
CI/CD pipelines were implemented with GitLab, automating builds, tests, and deployments for consistent code quality and accelerated delivery cycles. A standardized Gitflow process (develop → staging → master) was implemented, initially for DNDEditor, then extended to other projects across the organization, to ensure clear branching strategies and streamlined collaboration.
The infrastructure was hosted on AWS, leveraging its robust cloud capabilities, with Terraform used to declaratively define and provision the infrastructure, ensuring consistent and repeatable deployments across all environments.
Grafana was integrated for real-time monitoring and performance visualization, providing detailed information on system health and enabling proactive incident management. This architecture has been designed to minimize downtime, support rapid iteration and adapt to changing project requirements.