Thomas Aynaud is a seasoned technology leader and CTO based in Paris with 15 years of experience building large-scale search, ML and data systems from research to production. He combines deep academic expertise in network/community detection (PhD-level) with hands-on engineering—leading web-scale search index efforts at Qwant, deploying multi-cluster Vespa systems, and running ML-driven ranking and document-understanding pipelines. A practical architect and people manager, he has run cross-functional teams, mentored ML domains, and owned CI/CD, monitoring and cost/tech roadmap decisions. An active open-source contributor to graph-analysis tooling, he has improved core modularity and Louvain community-detection implementations used by the Gephi and python-louvain projects, reflecting a focus on algorithmic correctness and reproducible QA. Quietly, his background in dynamic community research informs pragmatic production choices when designing scalable graph and NLP systems.
15 years of coding experience
13 years of employment as a software developer
Master Parisien de Recherche en Informatique, Informatique, Master Parisien de Recherche en Informatique, Informatique at Ecole Normale supérieure de Cachan
Mathématiques, Physique, Mathématiques, Physique at Lycée Thiers
Doctorat, Informatique, Doctorat, Informatique at Université Pierre et Marie Curie (Paris VI)
Contributions:30 commits, 26 PRs, 79 pushes in 9 years 3 months
Contributions summary:Thomas primarily contributed to the development of the `python-louvain` project, focusing on adding unit tests and improving the code's structure. Their work included implementing test cases for modularity calculations and the Louvain algorithm, demonstrating a focus on ensuring the correctness and reliability of the community detection functions. They also refactored the code, hiding utility functions and making minor changes for improved readability.
Contributions summary:Thomas primarily contributed to the `Modularity` plugin, focusing on improving its functionality and accuracy. They added features for handling weights, corrected issues related to self-loops, and incorporated a resolution parameter. Additionally, they removed debugging output and fixed a bug related to detecting connections with weights close to zero. These changes demonstrate a focus on refining the modularity algorithm and improving its performance.
graph-analyticsopenglgraphinteractivegephi
Find and Hire Top DevelopersWe’ve analyzed the programming source code of over 60 million software developers on GitHub and scored them by 50,000 skills. Sign-up on Prog,AI to search for software developers.
Request Free Trial
Thomas Aynaud - Chief Technology Officer at Software Heritage