Kooki Logo

Kooki

Assistant culinaire IA - La cuisine, en plus malin

Projet personnel | 2025

Next.js 16React 19SupabaseN8NClaude APITerraformAnsibleDocker

Aperçu du Site

L'expérience de scroll sur la landing page Kooki

Captures d'écran

Interface complète en thème sombre et clair

Générateur de recettes

Générateur de recettes

Thème sombre
Mon Frigo virtuel

Mon Frigo virtuel

Thème sombre
Liste de courses

Liste de courses

Thème sombre
Recette générée par l'IA

Recette générée par l'IA

Thème sombre
Page de connexion

Page de connexion

Thème sombre
Générateur de recettes

Générateur de recettes

Thème clair
Mon Frigo virtuel

Mon Frigo virtuel

Thème clair
Liste de courses

Liste de courses

Thème clair
Mes recettes sauvegardées

Mes recettes sauvegardées

Thème clair

Projet Personnel

Kooki est un SaaS d'assistant culinaire propulsé par l'IA, conçu pour cuisiner plus malin et réduire le gaspillage alimentaire.

  • Recettes IA personnalisées via Claude Haiku 4.5
  • Frigo virtuel pour gérer ses ingrédients (anti-gaspi)
  • Listes de courses intelligentes par catégorie
  • Sauvegarde et favoris de recettes

Objectifs du Projet

Construire un SaaS complet de bout en bout, du frontend à l'infrastructure, avec un coût maîtrisé.

Livrables

  • Frontend Next.js 16 déployé sur Vercel
  • Backend N8N self-hosted sur VPS Hetzner
  • Infrastructure automatisée (Terraform + Ansible)
  • Coût total maîtrisé : 5-10 EUR/mois

Architecture Full-Stack

Du frontend Vercel au backend N8N sur Hetzner, en passant par Supabase

ComposantTechnologieRôle
FrontendNext.js 16 (Vercel)App React 19, SSR, Tailwind CSS 4, animations GSAP + Lenis
Auth & Base de donnéesSupabasePostgreSQL avec RLS, auth utilisateurs, stockage recettes/frigo/courses
Orchestration IAN8N (Hetzner VPS)Webhooks, workflows de génération IA, callback asynchrone vers Next.js
Intelligence ArtificielleAnthropic Claude APIGénération de recettes personnalisées (Claude Haiku 4.5)
ProvisioningTerraformServeur Hetzner, firewall, clé SSH, floating IP
ConfigurationAnsibleSetup VPS : Docker, Nginx reverse proxy, N8N, certificats SSL
ConteneurisationDocker + NginxN8N conteneurisé, reverse proxy HTTPS avec Let's Encrypt
PaiementStripe (scaffolded)Infrastructure de paiement préparée pour la sortie de beta

Flux de Génération de Recette

UserVercel (Next.js)SupabaseN8N WebhookClaude APICallbackPoll Result
  • Le frontend crée la recette (status: pending) puis envoie un webhook fire-and-forget vers N8N
  • N8N valide le secret, appelle Claude API, parse le JSON structuré
  • Le résultat est renvoyé via callback POST vers /api/internal/recipe-result
  • Le frontend poll GET /api/recettes/:id toutes les 3s jusqu'à status done/error

Fonctionnalités Principales

Trois piliers pour une expérience culinaire intelligente

Recettes IA

  • Génération via Claude Haiku 4.5 (Anthropic)
  • Personnalisation : cuisine, régime, temps, difficulté
  • Output JSON structuré : ingrédients, étapes, nutrition
  • 10 types de cuisine, 8 régimes alimentaires

Frigo Virtuel

  • Ajout/suppression d'ingrédients par catégorie
  • 8 catégories : légumes, viandes, produits laitiers...
  • Suggestions de recettes anti-gaspi depuis le frigo
  • Identification des ingrédients utilisés vs manquants

Listes de Courses

  • Organisation par 9 catégories (fruits, boucherie, etc.)
  • Check-off des articles achetés
  • Suppression en lot des éléments cochés
  • Tri manuel et gestion intuitive

Infrastructure & Automatisation

Infrastructure as Code de bout en bout

Provisioning Terraform

Hetzner VPSFirewallSSH KeyFloating IP
  • Serveur CX23 provisionné automatiquement (~4 EUR/mois)
  • Firewall restrictif : ports 22, 80, 443, ICMP uniquement
  • Cloud-init pour la configuration initiale
  • Inventaire Ansible auto-généré par Terraform

Configuration Ansible

DockerNginxN8NSSL
  • Installation Docker automatisée
  • Nginx reverse proxy avec Let's Encrypt
  • N8N déployé en conteneur Docker
  • Playbooks idempotents - secrets chiffrés via Ansible Vault

Compétences Maîtrisées

Intégration IA

Claude API via N8N - prompt engineering, génération de recettes, parsing structuré JSON

Infrastructure as Code

Terraform pour provisioning Hetzner, Ansible pour configuration serveur automatisée

Backend Serverless

Supabase PostgreSQL avec Row Level Security, auth intégrée, API auto-générée

Workflow Automation

N8N self-hosted avec webhooks, orchestration IA et callbacks asynchrones

Frontend Moderne

Next.js 16 App Router, React 19, Tailwind CSS 4, animations GSAP + Lenis

Sécurité & Auth

RLS Supabase par utilisateur, HTTPS Nginx, isolation des données multi-tenant

Next.jsReactTypeScriptSupabaseN8NClaude APITerraformAnsibleDockerNginxHetzner