depuis la création du compte
Confiez votre projet à Tom
Faites appel à l'expertise de Tom pour faire avancer votre projet, ou découvrez d'autres freelances pour trouver celui qui correspondra parfaitement à vos besoins.
Je suis développeur full-stack indépendant. Je crée des sites et des applications web, de bureau ou mobiles. J'automatise aussi ce qui n'a pas d'API, et j'installe des serveurs que les petites structures peuvent garder sans informaticien.
Parcours :
Avant de me lancer, j'ai travaillé trois ans comme développeur full-stack chez Moody's. J'y ai fait le front-end de la refonte d'une pipeline et j'ai conçu et développé seul une application de supervision (Angular, front et back). J'ai aussi mis en place et maintenu des chaînes CI/CD. Aujourd'hui je travaille en freelance sous le nom Exzitech.
Ce que je peux faire pour vous:
Un site vitrine rapide sur téléphone, en plusieurs langues si vos clients le demandent. J'ai par exemple réalisé le site d'une traductrice jurée en quatre langues, dont le farsi : toute la mise en page se retourne pour la lecture de droite à gauche.
Une application sur mesure : outil interne, tableau de bord, application de bureau ou Android. L'interface reste simple et la logique derrière est testée.
Récupérer des données là où il n'y a pas d'API : un logiciel fermé, un écran, des documents scannés. J'ai par exemple calculé le coût réel des plats d'un restaurant en lisant directement l'écran du logiciel de son grossiste.
Un serveur chez vous pour vos fichiers, vos mots de passe et vos documents. Les sauvegardes sont testées et vous recevez une alerte si quelque chose ne va pas.
Compétences :
Front : TypeScript, React, Angular, Tailwind, Vite.
Back et applications : Rust, Tauri, Node.js, Python, PostgreSQL.
Infrastructure : Linux, Docker, Proxmox, CI/CD, Nextcloud.
Ma méthode :
Je commence par comprendre votre besoin réel, puis je propose la solution la plus simple qui y répond. Je teste ce qui compte, et chaque bug corrigé laisse un test pour qu'il ne revienne pas. Je mesure avant d'optimiser. Je livre un code lisible et documenté : quelqu'un d'autre peut le reprendre sans moi.
Je réponds sous 48 heures.
Une application Android de musculation que j'ai créée pour moi, et que des amis utilisent depuis mi-octobre. Les apps du marché savent noter ce qu'on a fait, mais aucune ne dit vraiment quelle charge mettre sur la barre la prochaine fois. ExziFit répond à cette question.
La saisie se fait debout entre deux séries, avec 90 secondes de repos et peu d'attention. Une série s'enregistre donc en deux gestes au maximum : la charge et les répétitions sont préremplies, un toucher suffit pour valider. Tout s'utilise d'une main, avec de grandes zones tactiles. L'app fonctionne sans réseau, parce qu'une salle en sous-sol n'en a souvent pas. Pendant la saisie, elle affiche l'échauffement, les disques à mettre de chaque côté de la barre et les dernières séances sur le même exercice.
La couche RPG : un personnage dont la force, l'endurance et la constance sont calculées à partir de l'historique réel. On ne gagne pas de points à dépenser. Les stats montent quand on progresse et redescendent quand on arrête. Le jeu reflète l'entraînement au lieu de pousser à faire du volume inutile.
Des années d'historique ne se remplacent pas, donc les données ont été traitées en priorité. Elles sont stockées sur le téléphone dans un format lisible, exportables, et sauvegardées chaque jour. Chaque copie est relue et vérifiée avant d'être conservée. Une valeur anormale (1050 kg au lieu de 105) demande une confirmation avant d'être enregistrée.
Pour les tests, il y a plus de 140 tests automatiques (TypeScript et Rust). Des parcours complets sont rejoués avant chaque publication, et une publication s'arrête si l'un d'eux échoue. J'ai aussi construit un agent de test piloté par une IA qui tourne sur mon PC : il explore l'app tout seul et essaie de casser les formulaires. Il a trouvé un vrai bug, que j'ai corrigé avec un test pour qu'il ne revienne pas.
L'app est disponible en trois langues et la publication sur Google Play est en préparation.
Technologies : Tauri 2, Rust, React, TypeScript, Vite, Vitest, Playwright.
Le site vitrine de Neda Mesgari, traductrice-interprète jurée farsi, dari et français en Belgique. Ses clients sont des administrations, des avocats et des particuliers, et ils ne lisent pas tous la même langue. Le site existe donc en français, néerlandais, anglais et farsi.
Le farsi se lit de droite à gauche : en farsi, toute la mise en page se retourne (menus, alignements, icônes, ordre des éléments), avec une police prévue pour l'écriture persane.
Avant chaque mise en ligne, un script vérifie que les quatre langues ont exactement les mêmes textes. Si une traduction manque, le site ne se construit pas. Les images sont optimisées par un script pour que le site reste rapide sur téléphone.
Le site présente ses services, les langues traitées et son parcours, avec un formulaire de demande de devis où le client indique le service voulu et la langue de départ. L'identité visuelle reprend son métier : un document officiel traduit, avec la conversion d'une date du calendrier persan vers le calendrier occidental.
Technologies : React, TypeScript, Vite, Tailwind, i18next.
Un modèle pour héberger soi-même, sur un seul mini PC, les outils de base d'une petite entreprise ou d'une famille : fichiers partagés et synchronisés avec les PC et les téléphones, mots de passe partagés, documents scannés et classés automatiquement. Tout vient d'une installation qui tourne au quotidien chez moi.
L'installation elle-même, on la trouve partout. Ce qui compte, c'est que ça tienne dans la durée, et c'est là-dessus que j'ai travaillé.
Les sauvegardes se font sur trois niveaux : un export propre de chaque application, une copie sur un disque séparé, puis une copie chiffrée hors site. Seules les données utiles sont copiées : quelques centaines de Mo au lieu de centaines de Go. La restauration a été testée, pas seulement la sauvegarde.
Pour la surveillance, chaque tâche envoie un signal. Un échec, ou simplement un silence, déclenche une alerte par e-mail et sur le téléphone, même si le serveur est éteint. Toutes les 5 minutes, le serveur vérifie aussi ses services, ses certificats, ses disques et sa carte réseau.
Côté sécurité, un seul port est ouvert sur internet. Les interfaces d'administration ne sont joignables que depuis le réseau local ou par VPN, et la connexion SSH se fait par clé uniquement. Le coffre de mots de passe est chiffré et ne fonctionne que sur invitation. La partie exposée à internet ne peut ni lire ni effacer ses propres sauvegardes.
J'ai écrit un compte rendu pour chaque incident. Exemple : un serveur allumé mais injoignable après un gros import. J'ai trouvé la cause, rendu le correctif permanent et ajouté la détection à la surveillance.
Les limites sont écrites aussi : une seule machine, donc une panne matérielle coupe les services le temps de la restauration, sans perte au-delà de la dernière nuit. Et la messagerie, il vaut mieux la confier à un prestataire.
Technologies : Proxmox, Docker Compose, Nextcloud, Vaultwarden, Paperless-ngx, Nginx Proxy Manager, restic, Linux.