Made with Le Collectif 40

MALT : Malloc Tracker (Inria)

Vue.jsTypeScriptD3.js
View site
MALT : Malloc Tracker (Inria) — interface screenshot 2 (Vue.js, TypeScript)
MALT : Malloc Tracker (Inria) — interface screenshot 3 (Vue.js, TypeScript)

Context

Full rewrite of MALT, an open-source memory profiling tool developed by INRIA to track malloc/free allocations in C/C++ programs. Migration of the interface from Angular to Vue 3 + TypeScript, with substantial work on the D3 visualizations.

My approach

The brief: move a scientific tool from Angular to Vue + TypeScript without degrading the experience of the researchers who use it daily. Once the base was stable and plugins refreshed, rework the readability of the graphs and add the interactions that were missing.

  • Full migration Angular → Vue 3 + TypeScript, plugins updated, existing behavior preserved 1:1 to avoid breaking users' habits.
  • Source code visualizer rebuilt from scratch: per-file navigation, annotated lines, detailed popups on memory allocations per line and per function.
  • D3 graphs reworked (legibility, design, interactions) + TanStack Query to cache calls — essential on profiling datasets that quickly weigh several MB.

Stack & technical choices

Vue.js + TypeScript required by INRIA — a strong fit for a tool that spends its time rendering data: typing cuts down on silent errors. D3.js kept from V1, perfect for highly custom visualizations like an annotated code viewer. I added TanStack Query for caching: on this kind of dataset, you never want to fire the same request twice.

Vue.jsTypeScriptD3.js

Outcome & takeaways

Live on the official memtt/malt repo — open-source, used by the C/C++ community doing memory profiling. The maintainers' feedback: interface and source code clearer and more readable than V1. On a personal level, this is the project that forced me to dig deep into D3 on genuinely complex visualizations — territory you rarely encounter on standard web projects.

Tell me about your project — I'll be straight with you about whether I can help.

Senior fullstack developer — I help startups and tech teams build the right thing, and build it right.

Based in France — fully remote or on-site depending on the project. Lyon, Grenoble, Annecy, Paris…