PulpFiction.fr
React, TypeScript, FastAPI, PostgreSQL, AWS Cognito, AWS S3, CloudFront, App Runner, Tailwind CSS, Llama 3.1, RAG, vLLM
Pulpfiction.fr est une application web full-stack, conçue pour présenter et gérer la plus grande collection au monde d'objets de collection Pulp Fiction, avec mise en avant de liens d'affiliation. Elle intègre également un chatbot IA permettant de discuter avec les personnages emblématiques du film (Jules, Vincent, Mia, Marsellus, Butch, Winston Wolf).
Ce projet m'a permis de mettre en pratique, de bout en bout, la conception, le développement et le déploiement d'une application cloud-native en production : de l'architecture de la base de données à la mise en place du pipeline de déploiement continu, en passant par la gestion des accès et de l'authentification, ainsi que l'intégration d'un modèle d'IA générative fine-tuné.
Fonctionnalités
- Chatbot IA : discutez avec les personnages du film (Llama 3.1 8B fine-tuné, RAG pour la factualité)
- Galerie publique responsive de la collection
- Authentification et gestion de compte (AWS Cognito)
- Espace d'administration avec droits complets : création, modification, suppression et réordonnancement des objets, gestion de leur visibilité
- API REST sécurisée, avec vérification côté serveur des tokens d'accès
Architecture & technologies
- IA & Modèle : Llama 3.1 8B Instruct (fine-tuning QLoRA), RAG (pgvector)
- Inférence IA : vLLM sur infrastructure serverless Modal (scale-to-zero)
- Frontend : React 18, TypeScript, Tailwind CSS, React Router, Vite
- Backend : FastAPI, SQLAlchemy
- Base de données : PostgreSQL (AWS RDS) avec extension pgvector
- Authentification : AWS Cognito via AWS Amplify
- Hébergement : frontend sur S3 + CloudFront, backend conteneurisé (Docker) sur AWS App Runner via ECR
- CI/CD : déploiement automatisé via GitHub Actions
Points clés
- Pipeline complet d'IA : création de dataset sur-mesure (parsing du scénario original, traduction), fine-tuning sur le cloud (AWS SageMaker / GCP Vertex AI) et évaluation
- Intégration d'un chatbot RAG performant avec FastAPI et une base vectorielle (pgvector)
- Déploiement serverless et scale-to-zero de l'inférence LLM sur Modal, optimisant les coûts
- Conception et implémentation complètes du backend FastAPI, incluant la vérification des tokens JWT Cognito (JWKS) et la séparation claire entre lecture publique et écriture authentifiée
- Modélisation de la base de données (objets de collection, rôles utilisateurs) et gestion de l'ordre d'affichage
- Mise en place d'une infrastructure AWS complète (S3, CloudFront, RDS, Cognito, App Runner, ECR) avec un pipeline de build et de déploiement automatisé
- Attention portée à l'accessibilité, à la performance (code splitting, images optimisées) et à la compatibilité mobile