Retour à l’accueil

Étude de cas

Altitude

D’une bêta à un terminal de trading prêt pour les investisseurs.

Altitude m’a fait venir pour améliorer son terminal de trading sur HyperEVM et développer les fonctionnalités qui manquaient. Je l’ai connecté au bot de trading et j’ai reconstruit le graphique et les données en direct pour la vitesse. Cinq mois plus tard, l’équipe avait un terminal rapide et complet à montrer aux investisseurs, avec ordres au marché et à cours limité en production.

Terminal de trading HyperEVM

Rendre un terminal de trading presque fini aussi rapide que l’exigent les traders.

Un terminal de trading entièrement fonctionnel

TOKEN / HYPE+85%
LimiteAAV
Rôle
Tech lead
Période
Juillet – décembre 2025
Focus
Trading, performance, nouvelles fonctionnalités
Produit
Terminal de trading pour HyperEVM

Contexte

Altitude est un terminal web pour trader des tokens sur HyperEVM. On trouve un token, on lit son graphique, et on l’achète ou le vend en un clic. Un bot de trading exécute les ordres en arrière-plan.

À mon arrivée, l’essentiel du produit était déjà construit. Mais l’expérience n’était pas encore au niveau qu’attendent les traders : graphiques et données en direct lents à charger, certains parcours peu fiables, et des fonctionnalités clés encore absentes, à commencer par le trading lui-même, puisque le panneau d’achat/vente n’était pas encore connecté au bot.

Altitude m’a fait venir pour améliorer le produit et prendre en charge les nouvelles fonctionnalités. L’objectif : un terminal de trading vraiment fonctionnel et optimisé, avec une expérience au niveau des meilleurs outils que les traders utilisent déjà.

Ce que j’ai fait

J’ai travaillé en deux phases : rendre le trading réel, puis rendre tout le terminal rapide. En parallèle, j’ai pris en charge les nouvelles fonctionnalités, puis intégré les ingénieurs arrivés à l’automne.

  • Prêt pour les investisseurs

    Altitude avait un terminal de trading à montrer et à mettre entre les mains des utilisateurs. Il a appuyé la levée de fonds.

  • ~6 000 lignes simplifiées

    La couche temps réel, le graphique et le store d’auth, réécrits plus légers et plus rapides.

  • Du vrai trading en production

    Ordres au marché, simulation des swaps, cotations en direct et ordres à cours limité.

Phase 1

Rendre le trading réel

  • Terminal connecté au bot

    Un backend NestJS qui dialogue avec le bot de trading en gRPC avec TLS mutuel : swaps, wallets, approvals et soldes. Par-dessus, le premier vrai panneau de trading : choix du wallet, slippage, priority fee et montants prédéfinis.

  • Données en direct reconstruites

    Un flux partagé par token, envoyé aux navigateurs en Server-Sent Events. Il se reconnecte automatiquement et ferme les connexions que personne ne regarde. Le code client est passé d’environ 1 200 lignes à moins de 100.

  • Des fondations solides

    Pipeline de production corrigé, dépendances de l’app et du backend figées, pages qui bloquaient le build nettoyées, et flux d’authentification simplifié.

Phase 2

Le rendre rapide

Les traders n’attendent pas. Un graphique lent ou une connexion qui bloque, et ils partent. J’ai donc mis le temps là où les utilisateurs le ressentent le plus.

  • Un graphique instantané

    Graphique réécrit (environ −2 500 lignes, le store passant de 609 à 82 lignes). L’historique du pool est préchargé avant l’ouverture, les bougies plus anciennes se chargent quand on remonte, et le mobile reçoit moins de bougies et une mise en page plus légère.

  • En direct, sans rafraîchir

    Les nouvelles transactions arrivent dans le graphique, le tableau des transactions et vos positions au fil de l’eau. Vos propres trades apparaissent sur le graphique sous forme de marqueurs d’achat/vente.

  • Une connexion sans friction

    Logique d’auth découpée en petits flux séparés pour Telegram et la connexion par wallet, et statut de l’utilisateur récupéré juste après la connexion pour une redirection instantanée. L’en-tête du token se charge aussi plus vite.

  • La confiance avant de cliquer

    Chaque swap est d’abord simulé et coté par un service de quotation dédié : vous voyez ce que vous allez obtenir avant de trader.

  • Ordres à cours limité

    Déclenchement à un prix ou à une market cap, avec une date d’expiration. Le statut se met à jour en direct quand l’ordre est exécuté, échoue ou expire.

J’ai aussi mis en place un process de mise en production régulier, avec des branches de hotfix et des migrations rejouables sans risque. Puis je suis devenu l’intégrateur des ingénieurs arrivés à l’automne.

Choix et arbitrages

  • La valeur centrale d’abord

    J’ai priorisé la vue de trading, le temps de chargement et la connexion. Ce sont les moments où un utilisateur reste ou part, et ceux que les investisseurs voient en démo.

  • Un flux partagé, pas une connexion par utilisateur

    Les données de marché ne circulent que dans un sens : les Server-Sent Events étaient plus simples et plus robustes que des WebSockets côté navigateur. En contrepartie, il fallait gérer des connexions amont partagées, d’où le comptage des spectateurs et le nettoyage automatique.

  • Livrer avant de couvrir

    Avec une levée de fonds en vue, j’ai choisi un produit qui fonctionne plutôt que des tests automatisés. C’était le bon choix à ce moment-là. C’est aussi la première chose que j’ajouterais : des tests sur l’exécution des ordres et les ordres à cours limité, plus de l’alerting.

Stack

Frontend
  • Next.js 15
  • React 19
  • TypeScript
  • Tailwind CSS 4
  • zustand
  • TanStack Query
  • lightweight-charts v5
  • wagmi
  • viem
Backend
  • NestJS 11
  • gRPC (mTLS)
  • Server-Sent Events
  • WebSockets
  • Bun
  • Drizzle ORM
  • PostgreSQL
  • Redis
Infra
  • Turborepo
  • GitLab CI
  • Docker
  • AWS
  • Kubernetes
  • Helm
  • ArgoCD

Résultat

Un produit fonctionnel que l’équipe pouvait montrer aux investisseurs.

En cinq mois, le terminal était connecté au bot, rapide là où les traders le ressentent, et en production avec ordres au marché et à cours limité.

Un produit construit, mais pas encore au niveau ?

Parlons-en lors d’un appel gratuit de 20 minutes. Je le rends rapide, fiable et complet, puis je le fais avancer.