Le projet et les débuts
Ovet est une application mobile innovante fondée par Antoine Meunier et Florence Laforest Garon, avec l’objectif d’aider les propriétaires d’animaux à mieux organiser et suivre la santé de leurs compagnons. Florence, vétérinaire de profession, avait constaté un besoin criant d’une solution numérique pour centraliser les informations de santé des animaux, tandis qu'Antoine, avec son expertise dans la tech, a vu l'opportunité de répondre à ce besoin avec une application bien conçue. Ensemble, ils ont approché Apollo13 pour les aider à bâtir une application complète et fonctionnelle.
Contrairement à d'autres projets qui démarrent souvent par un MVP (produit minimum viable), Ovet visait un produit fini, avec une grande attention au détail dans le design et les fonctionnalités. Antoine, en tant que designer et product manager, avait déjà préparé les maquettes sur Figma, et l’équipe backend, avec une expertise sur Firebase, avait des exigences claires en matière de sécurité et de scalabilité.
Le mandat initial de la v1 incluait :
- Permettre aux parents d’animaux d’ajouter des informations de santé sur leurs animaux de compagnie via une application mobile
- Permettre aux vétérinaires d’ajouter facilement des informations de santé sur les animaux de compagnie
- Intégrer l’intelligence artificielle dans la manipulation des données
Avec Ovet, il y a eu pas mal de “rapid iterations” et pas mal de undo/redo. La vitesse à laquelle François a été capable de développer nous a permis de valider rapidement nos concepts et ensuite passer en mode “polishing”.
La stack no-code
L’équipe avait déjà choisi Flutterflow pour ces raisons :
- Développer un front-end mobile fidèle aux maquettes Figma, sans compromis sur le design
- Intégrer Firebase/Firestore comme base de données backend
- Permettre une publication rapide de l'application sur l’App Store
Let's go ! 🚀
{{h3-1}}
Flutterflow est un outil low-code pour bâtir une application mobile native déployée sur les Stores. Comme l’équipe avait choisi cet outil, les maquettes Figma étaient pensées pour utiliser les composantes natives de Flutterflow.
On a pu recréer chaque écran des maquettes Figma au pixel près, incluant les interfaces essentielles comme l'onboarding, le FTUX (first-time user experience), le profil de l’animal, les dossiers de santé, le wellness tracker et les paramètres de l'application.
Flutterflow permet d’ajouter tous les fournisseurs d’authentification de Firebase. Les utilisateurs d’Ovet peuvent se connecter via email, Google et Apple. Le point fort est que tout au long du développement de l'app, les informations des utilisateurs sont toujours accessibles dans toutes les écrans.
En ce qui concerne la gestion des données, une fonctionnalité clé d’Ovet est la création d’un username unique lors de l’inscription, permettant aux vétérinaires et aux utilisateurs d’envoyer des documents directement à l’application. Via des cloud functions dans Firebase, ça permet d’importer automatiquement les documents dans la base de données pour simplifier la gestion des dossiers de santé. À partir de Flutterflow, on fait un appel API à la fonction et on reçoit un username, qui est le même que celui envoyé ou un username unique avec des chiffres.
Il y a tout de même quelques calculs ou fonctions qui restent dans le front-end, comme le calcul de l’âge d’un animal à partir de sa date de naissance ou la désactivation du mode paysage sur mobile.
Par rapport au wellness tracker, l’équipe a d’abord implémenté des fonctionnalités de base, comme l’ajout de notes générales sur la santé de l’animal, avant d'ajouter des suivis plus spécifiques, comme l’énergie, le poids, ou encore les selles. Ça permet de tester et valider chaque composante de l’application, tout en assurant une évolution continue en fonction des retours des utilisateurs.
{{h3-2}}
Retool est un outil low-code pour bâtir des applications internes dans les entreprises, le plus souvent utilisées par les employés.
C’est l’équipe backend d’Ovet qui a développé les apps Retool. On tenait à l’ajouter dans l’étude de cas pour montrer comment le no-code & low-code peuvent s’infiltrer dans une équipe de dev expérimentée. On aime tous sauver du temps !
Plusieurs apps ont été créées, dont une app pour pouvoir CRUD (create, read, update and delete) plus facilement la base de données Firestore. De cette manière, des membres de l’équipe moins techniques peuvent modifier les informations d’un utilisateur sans passer par Firestore, qui n’est pas très intuitif.
Aussi, comme il est possible d’envoyer un email à Ovet pour ajouter des informations de santé sur son animal, une intégration a été faite avec Retool x Missive. Missive est un outil de courriel all-in-one. L’intégration permet à l’équipe de modifier la base de données directement à partir de Missive dans la vue d’un courriel.
{{ligne}}
Les itérations
Au départ, on incluait plus de fonctions et de tâches back-end dans Flutterflow. On a fait ça pour builder rapidement et voir les effets à court terme. Avec le temps, on les a retirées pour se fier la plupart du temps sur des Cloud Functions, développées par leur équipe backend. Aussi, c’est plus sécuritaire de cette manière et mieux pour l’optimisation à long terme.
On a réalisé plusieurs versions de l’app. C’était quand même incroyable de recevoir une version sur Figma et, quelques jours plus tard, la voir vivre sur ton téléphone, publiée dans TestFlight via Flutterflow.
De manière générale, le développement de l’app a été réalisé de manière itérative, en intégrant les fonctionnalités les unes après les autres, en fonction des priorités définies par l’équipe. Cette approche a permis d’évoluer rapidement tout en maintenant un haut niveau de contrôle sur la qualité du produit final.
Chaque fonctionnalité, comme la possibilité de suivre l’énergie d’un animal ou de gérer ses dossiers de santé, a été déployée étape par étape. Ça a permis de valider chaque étape avant de passer à la suivante, garantissant une expérience utilisateur cohérente et fluide.
Le résultat
L’app a 25 écrans et 25 composants Flutterflow.
Une version alpha a été lancée avec des ami-es et connaissances de l’équipe d’Ovet. Le but étant de valider l’idée et les fonctionnalités requises pour la v1 de l’app.