- Nature
- Produit en ligne
- Statut
- En production
- Stack
- Extension ChromeWebSocketNestJSNext.jsStripeTemps réelSaaS
Sur les bonnes affaires, tout se joue dans les premières minutes. Les outils existants scrapent depuis leur cloud — coûteux en proxies, fragile face aux anti-bots, et juridiquement exposé. Choppy prend le problème par l'autre bout.
L'invariant qui tient tout
La session d'un client ne quitte jamais sa machine. eBay, qui a une API officielle (Browse), est interrogé depuis le cloud. Vinted et leboncoin, qui n'en ont pas, sont interrogés par une extension Chrome (Manifest V3) installée chez l'utilisateur, avec la session anonyme de son propre navigateur — celle que tout visiteur reçoit. Aucun identifiant stocké, aucune requête vers ces sites depuis nos serveurs, aucun code de contournement d'anti-bot : un captcha remonte à l'humain.
Architecture
apps/api— NestJS 11, Prisma 7, PostgreSQL : authentification, tenants, Stripe, quotas, scheduler qui décide quoi surveiller et quand, passerelle WebSocket vers les agents.apps/extension— extension Chrome compilée avec esbuild, connectée au cloud par un WebSocket sortant (aucun port à ouvrir chez le client), contrat versionné en Zod danspackages/agent-protocol.apps/web— Next.js 16, Tailwind, shadcn/ui, SWR : vitrine, tunnel d'inscription, dashboard, facturation, admin.- Notifications ntfy, email, Discord et web push ; filtres locaux précis :
"phrase exacte",-exclusion, fourchette de prix, âge de l'annonce, avis vendeur.
Ce qui a été difficile
- Une première version de l'agent (Node + Playwright, Chromium piloté par CDP) a été abandonnée : les protections anti-bot repèrent un navigateur automatisé bien plus vite qu'un vrai onglet ouvert par l'utilisateur. L'extension est la seule bonne réponse, et elle est distribuée sur le Chrome Web Store.
- Le premier passage d'une recherche n'alerte jamais : il mémorise l'existant, sinon créer une recherche enverrait cinquante notifications d'un coup.
Exploitation
Isolation multi-tenant fail-closed, abonnement à 4,99 €/mois via Stripe avec quotas par plan, erreurs et métriques dans GlitchTip / Grafana / Loki. Compte de démonstration et pile Docker locale en une commande pour essayer sans rien configurer.
Installation sur votre infrastructure
Cette application peut être déployée sur votre propre serveur — VPS, cloud privé ou on-premise — en instance dédiée : votre nom de domaine, votre base de données, vos données chez vous. Je prends en charge l'installation, le durcissement du serveur, les sauvegardes, la supervision et la maintenance, ainsi que les adaptations fonctionnelles à votre métier.