Contact
Travaillons ensemble
Gradient Generator

Gradient Generator

Une application web avancée pour créer, personnaliser, previsualiser et exporter des degradees CSS sophistiques - avec génération par IA, ~980 presets, partage communautaire et 20+ mockups d'appareils.

Janvier 2026
3 jours
Développeur Solo, Designer & Architecte
Next.js 16React 19TypeScript 5Tailwind CSS 4Zustand 5Prisma 7SQLiteOpenAI APIshadcn/uiIndexedDBhtml2canvaslz-stringReact Hook FormZod

Lignes de code

51,186

TypeScript + React + Prisma

Composants React

142

87 métier + 55 shadcn/ui

Presets de degradees

~980

En 10 categories, 80+ sous-categories

Mockups d'appareils

20+

iPhone, MacBook, iPad, navigateurs...

Présentation du Projet

Ce qu'est Gradient Generator et pourquoi il existe

Gradient Generator est une application web conçue pour les designers, développeurs front-end et creatifs qui ont besoin de générer rapidement des degradees CSS sophistiques. L'outil supporte les degradees lineaires, radiaux, coniques et mesh avec previsualisation en temps réel, une bibliotheque riche de ~980 presets et l'export multi-format (CSS, SVG, PNG, JPEG).

Contrairement aux outils existants (cssgradient.io, webgradients.com), ce projet repousse les limités avec un système de calques avec modes de fusion, une génération par IA via OpenAI, des previsualisations sur mockups d'appareils et une plateforme de partage communautaire avec likes, forks et découverte. Il supporte 11 espaces d'interpolation de couleurs CSS incluant les standards de pointe OKLab et OKLCH.

Types de degradees supportes

Linear

Lineaire - Transitions de couleurs basées sur la direction avec contrôle de l'angle

Radial

Radial - Degradees circulaires avec contrôle de la position du centre et de la forme

Conic

Conique - Degradees angulaires tournant autour d'un point central

Mesh

Mesh - Degradees multi-points avec distributions de couleurs complexes

Fonctionnalités Clés
Éditeur interactif avec panneaux redimensionnables et previsualisation en temps réel
Color picker avance avec support HEX, RGB, HSL et opacite
Système de calques avec modes de fusion et opacite par calque
Génération de degradees par IA à partir de descriptions textuelles (OpenAI)
20+ mockups d'appareils pour previsualiser les degradees en contexte
Effets visuels : grain, vignette, fondu, animations CSS

Objectifs, Contexte & Risques

La vision stratégique derriere le projet

Le projet était porte par des objectifs clairs et ambitieux :

UX Intuitive

Qualité designer

Interface fluide, reactive et visuellement soignee

Couverture degradees

4 types

Lineaire, radial, conique et mesh

Bibliotheque de presets

~980

Organises en 10 categories, 80+ sous-categories

Intégration IA

GPT-4o-mini

Générer des degradees à partir de descriptions textuelles

Formats d'export

4 formats

CSS, SVG, PNG, JPEG

Contexte

Ce projet personnel a été conçu à la fois comme un outil de productivité pour designers et une démonstration portfolio de la maîtrise de React/Next.js moderne. L'application a été construite de zero en seulement 3 jours avec les dernières versions de la stack : Next.js 16, React 19, TypeScript strict, Tailwind CSS 4, Prisma 7. Le développement a été accéléré par le codage assisté par IA, Jose DA COSTA servant d'architecte, product owner et reviseur technique.

Enjeux

Le projet devait se differencier des outils existants par la complétude (mesh gradients, calques, IA, mockups, communauté) et la qualité visuelle. La performance était critique : l'éditeur devait rester fluide avec des degradees multi-calques complexes, des effets en temps réel et des animations sans aucun lag. Le projet servait egalement de démonstration concrète des capacités de développement rapide augmente par l'IA.

Risques identifies

Complexité de la gestion d'état

8 stores Zustand interconnectés gerant gradient, calques, historique, previsualisation, selections, degradees sauvegardes, communauté et presets.

Compatibilite navigateurs

Les mesh gradients et les espaces d'interpolation modernes (OKLab, OKLCH) ont un support navigateur limite.

Dépendance a OpenAI

La fonctionnalité de génération IA repose entièrement sur l'API OpenAI (modèle gpt-4o-mini).

Absence de tests

Zero fichier de test decouvert - un risque de regression important pour 142 composants et 12 endpoints API.

Les Étapes de Réalisation

Un parcours chronologique de 3 jours de développement intensif

Phase 1
Fondations
22 janvier 2026
  • Scaffold Next.js 16 avec App Router, TypeScript mode strict, Tailwind CSS 4
  • Mise en place de l'architecture de stores Zustand pour gradient, calques et historique
  • Implémentation de l'éditeur interactif avec support lineaire, radial et conique
  • Construction du color picker avance avec saisie HEX/RGB/HSL et zone 2D de couleur
  • Implémentation de la persistance IndexedDB pour la sauvegarde locale via la bibliotheque idb
Phase 2
Enrichissement fonctionnel
23 janvier 2026
  • Construction d'une bibliotheque de ~980 presets organises en 10 categories et 80+ sous-categories
  • Implémentation du moteur d'effets visuels : grain, vignette, fondu et modes de fusion
  • Ajout des ajustements de couleurs : luminosite, saturation, contraste, rotation de teinte
  • Création du module d'export multi-format : CSS, SVG, PNG (via html2canvas), JPEG
  • Construction de 20+ composants mockups d'appareils (iPhone 15 Pro, MacBook, iPad, iMac, navigateurs)
Phase 3
IA & Communaute
24 janvier 2026
  • Intégration de l'API OpenAI (gpt-4o-mini) pour la génération texte-vers-degradee avec prompts structures
  • Implémentation du support mesh gradient avec distribution multi-points de couleurs
  • Construction de la section communautaire "Explore" avec Prisma + SQLite (publication, likes, forks, vues)
  • Création du système de calques avec modes de fusion, contrôle d'opacite et reordonnancement
  • Ajout de 11 espaces d'interpolation CSS (sRGB, OKLab, OKLCH, Lab, LCH, etc.)
Phase 4
Finitions
25 janvier 2026
  • Construction des pages statiques : Contact, Confidentialite, CGU, Copyright, Changelog
  • Design de la section hero animee avec mise en avant communautaire
  • Implémentation des animations CSS : rotation, changement de couleur, mouvement, effets glow
  • Correction des bugs d'alignement et d'overflow sur les breakpoints responsive
  • Configuration du manifest PWA pour l'installation en mode standalone
Chronologie de développement - Livraison des fonctionnalités
Fonctionnalités livrées par jour

Les Acteurs & Interactions

L'écosystème humain et technologique

Il s'agit d'un projet solo conçu, désigné et livré par Jose DA COSTA. Le développement a suivi un workflow "human-in-the-loop" : spécification et décisions architecturales par le développeur, génération de code assistee par IA via Claude Code, et revue manuelle et validation de tout le code généré.

La phase de brainstorming a implique 4 assistants IA différents (ChatGPT, Gemini, Grok, Mistral) pour l'ideation et l'analyse concurrentielle, avec des exports stockes dans le depot du projet. Le code de production a été principalement généré via Claude Code, Jose DA COSTA dirigeant les spécifications via un CLAUDE.md detaille.

Répartition estimee des contributions
Attribution quantitative du code
SourceLignes% du totalDetail
Scaffold (create-next-app)~3360.7%Next.js boilerplate
Committed code~1,5603.0%3 commits (page, configs, modal)
AI-assisted code~49,47696.7%142 components, 8 stores, 12 APIs
Total~51,186100%

Dépendances externes

Les intégrations externes clés incluent l'API OpenAI (gpt-4o-mini pour la génération de degradees), Radix UI (25 composants primitifs via shadcn/ui), html2canvas (export d'docs) et idb (abstraction IndexedDB pour la persistance locale).

Les Résultats

Résultats mesurables pour le projet et pour la croissance personnelle

Pour le produit

Métriques du code

Fonctionnalités livrees

20

Ensemble complet en 3 jours

Presets de degradees

~980

10 categories, 80+ sous-categories

Espaces de couleurs

11

Dont OKLab, OKLCH, Display-P3

Endpoints API

12

7 GET + 5 POST

Tables en base

3

Author, PublicGradient, Like

Dépendances

66

54 production + 12 développement

Distribution des fichiers
Bibliotheque de presets - Distribution par categorie
Radar des capacités

Pour moi

Ce projet a renforcé et élargi plusieurs compétences clés :

  • Maîtrise React/Next.js moderne - expérience pratique avec les toutes dernières versions (Next.js 16, React 19) et leurs nouveaux patterns
  • Expertise CSS avancee - compréhension profonde des spécifications modernes de degradees CSS, espaces d'interpolation (OKLab/OKLCH) et mesh gradients
  • Gestion d'état complexe - architecture de 8 stores Zustand interconnectés avec persistance, undo/redo et coordination inter-stores
  • Patterns d'intégration IA - prompt engineering structure pour la génération de contenu creatif, parsing des réponses OpenAI en structures typees
  • Prototypage rapide avec assistance IA - validation qu'une application complexe et riche peut être construite en 3 jours avec le développement augmente par IA
  • Création de design system - construction d'un système complet de tokens CSS avec themes éditeur/site/partage supportant les modes sombre et clair

Les Lendemains du Projet

La vie après le sprint de développement initial

Suites immédiates

L'application était fonctionnelle en local après 3 jours de développement. Cependant, plusieurs éléments manquaient pour un lancement en production : une stratégie de base de données robuste (SQLite est insuffisant pour les accès concurrents d'une plateforme communautaire), une couverture de tests adequat et des pipelines CI/CD. Le projet est resté en état de développement avec seulement 3 commits git et un working tree largement non-commite.

A moyen terme

Le projet a rempli son objectif principal en tant que pièce de démonstration portfolio, montrant la capacité à construire une application complexe et riche en fonctionnalités rapidement. Les ~980 presets et la génération IA représentent une propriété intellectuelle réutilisable qui pourrait être extraite en bibliothèques autonomes ou intégrée dans d'autres outils de design.

État actuel

Le projet est fonctionnel en local mais non déployé en production. Il resté une démonstration convaincante de ce que les outils de développement web modernes et le codage assisté par IA peuvent accomplir dans un délai extrêmêment compresse. L'architecture et les patterns etablis (composants feature-driven, multi-store Zustand, backend communautaire Prisma + SQLite) fournissent une base solide pour un futur déploiement en production.

Mon Regard Critique

Une analyse rétrospective honnete

Points forts
  • Richesse fonctionnelle exceptionnelle pour un projet de 3 jours - éditeur, calques, IA, mockups, communauté, presets
  • Stack de pointe : Next.js 16, React 19, Tailwind CSS 4, Prisma 7 - toutes les dernières versions
  • Système de types TypeScript exhaustif (479 lignes pour les types gradient) offrant une excellente sécurité
  • Design system cohérent avec tokens CSS, themes sombre/clair et theming spécifique à l'éditeur
  • ~980 presets offrent une valeur immédiate - les utilisateurs peuvent créer sans apprendre l'interface
  • Architecture de composants feature-driven permettant la maintenabilité indépendante par module
Points d'amélioration
  • Zero couverture de tests - aucun test unitaire, d'intégration ou E2E pour un codebase de 51K lignes
  • Seulement 3 commits git - quasi aucune traçabilité des décisions et changements
  • SQLite inadequat pour les fonctionnalités communautaires en production (accès concurrent, scalabilité)
  • Aucun pipeline CI/CD configuré - pas de portes qualité automatisees
  • README par défaut de Next.js sans documentation spécifique au projet
  • Pas de rate limiting ni d'authentification réelle (hash navigateur seulement) sur les routes API

Enseignements durables

  1. L'outillage moderne maximise la productivité - shadcn/ui, Zustand, Prisma et Next.js App Router eliminent le boilerplate et permettent de se concentrer sur la logique métier
  2. L'architecture feature-driven passe à l'échelle - organiser par fonctionnalité (color-picker, mockups, presets, layers) maintient chaque module autonome et maintenable
  3. Le typage fort est un investissement - le fichier de 479 lignes de types semble coûteux mais previent des categories entieres de bugs dans l'application
  4. Les outils riches en contenu gagnent les utilisateurs - les ~980 presets rendent l'outil immédiatement utile, prouvant que le contenu pre-construit a autant de valeur que l'éditeur lui-même

Architecture

Architecture de l'application
Monolithe Next.js 16 avec séparation client/serveur via les API Routes
Modèle de données
Base SQLite avec 3 tables, 7 index et fonctionnalités communautaires

Parcours associe

Experience professionnelle liee a cette realisation

Competences mobilisees

Competences techniques et humaines appliquees

Galerie d'images

Captures et visuels du projet

Page d'accueil du Gradient Generator avec la bibliotheque de presets
Page d'accueil avec bibliotheque de presets et navigation par categorie
Éditeur de degradees en pleine page avec contrôles de calques
Vue complète de l'éditeur avec calques de degradees et panneau de previsualisation
Vue rapprochee des contrôles de l'éditeur de degradees
Arrets de couleur, contrôle d'angle et reglages de mode de fusion
Page du journal des modifications listant les mises à jour recentes
Historique des versions et journal des nouveautes
Page de contact avec formulaire de retour
Formulaire de contact pour retours et demandes de fonctionnalités