# Paul Richez — Développeur Fullstack
Lille, France · 33 ans
Email : pro@paulrichez.fr · GitHub : https://github.com/PaulRichez · Site : https://paulrichez.fr
> Version lisible par IA (llms.txt) du portfolio https://paulrichez.fr — développeur fullstack Angular + Strapi, freelance, basé à Lille.
---
# Parcours
# Rewayz — Développeur Fullstack
**2023 → aujourd'hui · [rewayz.com](https://rewayz.com)**
- Lead développeur d'un SaaS B2B « copilote du manager » : architecture et décisions techniques de bout en bout
- Fullstack Angular (front) + Strapi (back) : produit, API, provisioning SCIM, emails transactionnels
- Intégration de l'IA : interface de chat et affichage du streaming temps réel
# E-Mothep Consultants — Développeur
**2020 → 2021 · [e-mothep.fr](https://e-mothep.fr)**
- Intégration de flux et d'API via webMethods (middleware / ESB)
- Développement de petits SaaS web : front Angular, back Firebase
# JetDev — Ingénieur d'études web et multimédia
**2019 → 2020 · [jetdev.fr](https://www.jetdev.fr)**
- Développement d'une interface web avec Angular2+
- Utilisation de Java (Spring boot) et de AgGrid
- Méthodologie agile
# Elosi — Développeur
**2017 → 2019 · [elosi.com](https://www.elosi.com)**
- Développement front AngularJS puis Angular2+ (sites web et cockpits)
- Intégration de flux et API REST via webMethods
- Back-end : notions Java / Elasticsearch, Node.js, Firebase
# CIM — Concepteur - Développeur
**2014 → 2016 · [sa-cim.fr](https://www.sa-cim.fr)**
- Correction et évolution d'un progiciel de gestion en Powerbuilder
---
# Formation
# 🎓 Université de Valenciennes
**Licence Professionnelle Informatique de Gestion**
2012 → 2013
# 🎓 Lycée Henri Wallon, Valenciennes
**BTS Informatique de Gestion Option Développeur d'Applications**
2010 → 2012
# 🎓 Lycée Paul Duez, Cambrai
**Baccalauréat STI Option Génie Electrotechnique**
2009 → 2010
---
# Projets
# Portfolio V2

Ce portfolio, repensé comme un **éditeur de code façon VS Code** : explorateur de fichiers, onglets, thèmes clair/sombre, et un **assistant IA agentique** qui lit mes fichiers en direct via des *tool calls* (`read_file`, `open_file`) pour répondre et ouvrir les projets dans l'éditeur. Contenus générés depuis Strapi (système de fichiers virtuel), CV PDF généré à la volée.
## Stack
Strapi · Zhipu AI · Docker
## Liens
- [🔗 Démo](https://paulrichez.fr)
- [💻 Code source](https://github.com/PaulRichez/portfolio-2)
# Easygroupware

Site web (frontEnd + backEnd) de type groupware avec gestion des mails, fichiers, contacts, calendrier.
## Stack
Node.js · PostgreSQL · PrimeNG
## Liens
- [🔗 Démo](https://demo-easygroupware.paulrichez.fr/)
- [💻 Code source](https://github.com/PaulRichez/easygroupware)
# Aimi — Assistant IA 100% navigateur

### Aimi — assistant IA privacy-first, 100% dans le navigateur
Un assistant IA qui exécute des modèles de langage **directement dans le navigateur** (Transformers.js + ONNX), **sans aucun serveur** : les données ne quittent jamais la machine de l'utilisateur.
- Moteur de chat en **web components vanilla** (zéro dépendance, ~10 kB gzip)
- Providers LLM interchangeables (Transformers.js, Ollama, Anthropic, Gemini…)
- **Fine-tuning LoRA** local du modèle (LFM2.5) pour spécialiser l'assistant
- Monorepo **NX + pnpm**, application de chat **Angular 19**
## Stack
Transformers.js · Angular
## Liens
- [🔗 Démo](https://aimi.paulrichez.fr)
# Plugin Strapi — Route Permission (v4)

Plugin **Strapi 4** qui **synchronise automatiquement les permissions de rôles depuis la configuration des routes serveur** — plus besoin de les redéfinir à la main dans l'admin à chaque déploiement.
## Liens
- [💻 Code source](https://github.com/PaulRichez/strapi4-plugin-route-permission)
- [📦 npm](https://www.npmjs.com/package/strapi-plugin-server-route-permission)
# Plugin Strapi — Route Permission (v5)

Version **Strapi 5** de mon plugin Route Permission : synchronisation automatique des permissions de rôles depuis la configuration des routes serveur. **Migré moi-même depuis la v4** en suivant les breaking changes de Strapi 5.
## Liens
- [💻 Code source](https://github.com/PaulRichez/strapi5-plugin-route-permission)
- [📦 npm](https://www.npmjs.com/package/strapi5-plugin-route-permission)
# Plugin Strapi — Upload Permission
%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22rgb(74%2C69%2C255)%22%2F%3E%3C%2FlinearGradient%3E%3C%2Fdefs%3E%3Crect%20width%3D%221200%22%20height%3D%22600%22%20fill%3D%22rgb(10%2C9%2C16)%22%2F%3E%3Ccircle%20cx%3D%221010%22%20cy%3D%2270%22%20r%3D%22300%22%20fill%3D%22url(%23g)%22%20opacity%3D%220.30%22%2F%3E%3Ccircle%20cx%3D%22150%22%20cy%3D%22560%22%20r%3D%22220%22%20fill%3D%22url(%23g)%22%20opacity%3D%220.16%22%2F%3E%3Ctext%20x%3D%2280%22%20y%3D%22300%22%20font-family%3D%22Segoe%20UI%2C%20Roboto%2C%20Arial%2C%20sans-serif%22%20font-size%3D%2298%22%20font-weight%3D%22800%22%20fill%3D%22rgb(255%2C255%2C255)%22%3EUpload%20Permission%3C%2Ftext%3E%3Ctext%20x%3D%2284%22%20y%3D%22362%22%20font-family%3D%22Segoe%20UI%2C%20Roboto%2C%20Arial%2C%20sans-serif%22%20font-size%3D%2233%22%20fill%3D%22rgba(255%2C255%2C255%2C0.72)%22%3EPlugin%20Strapi%20%C2%B7%20s%C3%A9curise%20les%20fichiers%3C%2Ftext%3E%3C%2Fsvg%3E)
Plugin **Strapi 4** qui **sécurise la route publique de téléchargement des fichiers** : il ajoute un contrôle de permissions sur l'accès aux médias, normalement ouvert par défaut dans Strapi.
## Liens
- [💻 Code source](https://github.com/PaulRichez/strapi-upload-permission)
- [📦 npm](https://www.npmjs.com/package/strapi-upload-permission)
# Strapi Models Relation Diagram

Plugin **Strapi 4** qui **génère un diagramme entité-relation** de vos collections et composants (champs + relations), directement dans l'admin Strapi. Affichage personnalisable : visibilité des éléments, mise en page, style des liens.
## Liens
- [💻 Code source](https://github.com/PaulRichez/models-relation-diagram)
- [📦 npm](https://www.npmjs.com/package/strapi4-models-relation-diagram)
# EasyTerminal

Un simple terminal écrit en vanilla JS sans aucune dépendance.
## Liens
- [🔗 Démo](https://easy-terminal.vercel.app/)
- [💻 Code source](https://github.com/PaulRichez/easy-terminal)
- [📦 npm](https://www.npmjs.com/package/easy-terminal)
# My Website

Un de mes premiers portfolios, réalisé en vue3.
## Stack
HTML · CSS
## Liens
- [💻 Code source](https://github.com/PaulRichez/MyAngVirtualCurriculumVitae)
# Nebula — AI Analytics Landing

### Nebula — AI analytics platform (concept landing)
A high-performance marketing landing page built with **Astro 4** and **Tailwind CSS**, shipping
near-zero JavaScript. It features a hand-coded product dashboard mockup (SVG area & bar charts),
a bento feature grid, scroll-reveal animations, a pointer-parallax hero glow and complete
SEO / Open-Graph metadata. Built for a perfect-Lighthouse, static-first delivery.
## Stack
Astro
## Liens
- [🔗 Démo](https://api.paulrichez.fr/nebula/)
- [💻 Code source](https://github.com/PaulRichez/portfolio-landing/tree/main/nebula-astro)
https://api.paulrichez.fr/nebula/
# Lumina — Creative Studio Landing

### Lumina — creative studio (concept landing)
An editorial landing page for a fictional design studio, built with **Next.js 14 (App Router)**,
**React** and **Tailwind CSS**, exported as a fully static site. Bold oversized typography, an
infinite marquee, animated project tiles, a pointer-following glow and accessible,
reduced-motion-aware scroll reveals.
## Stack
Next.js · React
## Liens
- [🔗 Démo](https://api.paulrichez.fr/lumina/)
- [💻 Code source](https://github.com/PaulRichez/portfolio-landing/tree/main/lumina-next)
https://api.paulrichez.fr/lumina/
# ng-cursor

### A simple Angular directive to choose the `cursor` CSS property
This Angular directive allows you to dynamically set the CSS `cursor` property on any HTML element.
By applying the directive with an input value, you can easily control the appearance of the mouse cursor
(e.g. `pointer`, `default`, `help`, etc.) based on context or interaction needs.
It’s lightweight, reusable, and integrates seamlessly with Angular templates.
## Liens
- [🔗 Démo](https://lib-creator.vercel.app/ng-cursor)
- [💻 Code source](https://github.com/PaulRichez/libCreator/tree/master/projects/paulrichez/ng-cursor)
- [📦 npm](https://www.npmjs.com/package/ng-cursor)
# animated sign pad

Module tout-en-un pour dessiner et générer facilement des signatures animées.
## Stack
JavaScript
## Liens
- [💻 Code source](https://github.com/PaulRichez/animated-sign-pad)
- [📦 npm](https://www.npmjs.com/package/animated-sign-pad)
# Pulse — Fitness App Landing

### Pulse — fitness app (concept landing)
A product landing page for a fictional fitness coaching app, built with **Vue 3**, **Vite** and
**Tailwind CSS**. Includes a fully hand-coded phone mockup with animated SVG activity rings, a
custom `v-reveal` scroll directive, a bento feature grid and pricing — responsive from mobile
to ultra-wide.
## Stack
Vue.js · Vite · Tailwind CSS · TypeScript
## Liens
- [🔗 Démo](https://api.paulrichez.fr/pulse/)
- [💻 Code source](https://github.com/PaulRichez/portfolio-landing/tree/main/pulse-vue)
https://api.paulrichez.fr/pulse/
# mini object path

Une petite bibliothèque pour obtenir ou définir un objet via le chemin.
## Liens
- [💻 Code source](https://github.com/PaulRichez/mini-object-path)
- [📦 npm](https://www.npmjs.com/package/mini-object-path)
---
# Compétences
```json
{
"frontend": [
"HTML",
"CSS",
"JavaScript",
"Angular",
"React",
"Vue.js",
"PrimeNG",
"Nebular",
"ECharts"
],
"backend": [
"Strapi",
"Node.js",
"Java"
],
"ai": [
"Transformers.js",
"ONNX Runtime",
"Zhipu AI"
],
"tools": [
"PostgreSQL",
"Docker"
],
"legacy": [
"Webmethods",
"Powerbuilder"
],
"languages": {
"français": "natif",
"anglais": "notions"
}
}
```
---
# ✉️ Contact
| Canal | Lien |
|---|---|
| Email | [pro@paulrichez.fr](mailto:pro@paulrichez.fr) |
| GitHub | [github.com/PaulRichez](https://github.com/PaulRichez) |
| Site | [paulrichez.fr](https://paulrichez.fr) |
📍 Lille