User
- role_id · society_id
- colonnes Stripe
- colonnes 2FA
- langue
- 1—n Nfc
- 1—n Contact
- 1—n Profile
Des cartes de visite NFC : on touche la carte, le contact arrive dans un espace où il s’exporte, se segmente et se relance.
Une carte de visite papier se perd, et le contact échangé sur un salon ne finit presque jamais dans un fichier exploitable. Egonix remplace la carte par une carte NFC : on la touche avec un téléphone ou on scanne son QR code, et le contact atterrit dans un espace où il peut être exporté, segmenté et relancé.
Transformer un contact pris en personne en prospect exploitable et exportable, sans perdre la carte papier.
Une seule application Laravel 13 : l’interface utilisateur en Livewire avec MaryUI, l’administration en Filament 4. Chaque carte est identifiée par un UUID qui sert à la fois d’URL publique et de cible de l’API de capture. Les règles métier vivent dans des services, les droits passent par des policies, et les quotas dépendent du forfait Free, Premium ou Entreprise.
En ligne, en français et en anglais : profil public avec vCard et QR code, éditeur de carte en cinq phases, espace entreprise avec invitations, rôles et kit de marque, campagnes e-mail, clés API et webhooks signés. Sécurité, CI, Sentry et tests Playwright ont été livrés lors de la relance de mars 2026.
CTO et co-fondateur
Utilisateurs
Application
Services externes
Une personne touche la carte : la puce ouvre /c/{uuid}, qui affiche le profil, redirige vers une URL ou télécharge une vCard selon le réglage de la carte.
Elle laisse ses coordonnées dans le formulaire, ou une intégration appelle l’API de capture avec une clé API.
La requête est validée, puis le quota du forfait est vérifié ; au-delà, l’API répond 422.
Le contact est créé et rattaché au profil de la carte.
L’événement contact.created part vers les URL du client, signé en HMAC, avec trois tentatives.
Le propriétaire retrouve le contact, l’exporte en CSV ou XLSX, ou l’ajoute à une campagne.
Les entités principales, leurs champs clés et leurs relations.
Modèles, palette, placement libre, annuler et rétablir, matériau, historique des versions.
vCard, redirection ou profil, et QR code.
Import CSV guidé avec dédoublonnage, export CSV et XLSX, tags et segments.
Invitations, rôles, kit de marque verrouillé, statistiques et commandes en volume.
E-mails et séquences, avec gestion du consentement.
Clés API et webhooks sortants signés.
ProblèmeLe mode strict de MySQL refusait un GROUP BY sur une expression ; SQLite ne le contrôle pas, les tests passaient.
SolutionRegroupement sur l’alias, corrigé en production le jour même.
ProblèmeL’alias global /icons/ d’Apache interceptait les requêtes du sprite.
SolutionSprite déplacé dans un dossier qui n’entre pas en conflit.
ProblèmeLa sauvegarde du design acceptait des identifiants modifiés côté navigateur.
SolutionContrôle de propriété et identifiants verrouillés côté serveur.
ProblèmeDes intégrations existantes appelaient l’API de capture sans clé.
SolutionActivation par phases, en-têtes Deprecation et Link, et une date limite configurable.
ProblèmeLes cartes pointaient vers un ancien domaine qui ne résolvait plus.
SolutionLe domaine des cartes est dérivé de APP_URL.
Relevé dans le code source et l’historique Git du projet le 8 octobre 2026. Aucun chiffre d’usage ou de revenu n’est publié.
Disponible pour missions PHP / Laravel / WordPress / Silverstripe en Belgique et remote EU.