Son Nguyen Kim, Machine Learning Developer in Paris, France
Son Nguyen Kim

Machine Learning Developer in Paris, France

Member since June 17, 2015
Son is highly skilled with software engineering and ML algorithms, and always tries hard to tackle problems with a simple yet efficient approach, making the code maintainable in the long run. As an entrepreneur, he is devoted to his work and understands fully the importance of responsibility and proactivity. He can communicate efficiently with both business and technical sides.
Son is now available for hire




Paris, France



Preferred Environment

Android Studio, Xcode, PyCharm, Git

The most amazing...

...thing I've developed is a platform where people can meet, discuss, and share what they know to solve problems.


  • Founder

    2019 - PRESENT
    • Created a popular open-source email alias service that protects your email address.
    • Developed an OAuth identity provider that offers a privacy-focused "Login with Facebook/Google/Apple" button.
    • Built a Chrome/Firefox extension that allows the user to quickly create email aliases.
    • Coordinated a developer team to work on different platforms, including web, iOS, and Safari.
    • Handled customer support and managed the open roadmap.
    Technologies: Amazon Web Services (AWS), AWS, Vue, Ansible, Postfix, Python
  • Software Developer

    2019 - 2019
    Croscon (via Toptal)
    • Added features to GemSafe, an insurance company.
    • Moved the deployment to use Docker-compose.
    Technologies: JavaScript, Flask, Python
  • Director of Engineering

    2018 - 2019
    • Led an agile team of six developers.
    • Architected the back end and infrastructure for B2B product with big-name clients and a strong emphasis on security.
    Technologies: Amazon Web Services (AWS), AWS, Apache Kafka, Docker, Python
  • Software Architect

    2017 - 2018
    • Designed, implemented, and deployed reliable components based on Docker, hosted on AWS.
    • Participated in cross-team efforts to troubleshoot/determine the resolution for complex issues.
    • Integrated all work into our CI/CD pipeline so as to repeatably and reliably deliver updates to all environments, including production.
    Technologies: JavaScript, Python, Apache Kafka, Docker
  • Founder

    2016 - 2018
    • Led the tech team to create iOS, Android, and web apps.
    • Created and maintained the back end.
    • Managed content writers.
    Technologies: React, Python, iOS, Android
  • Software Engineer

    2016 - 2017
    Tulane University (via Toptal)
    • Created an internal tool that allows teachers and students to get information about their courses.
    • Added an export PDF feature: Users can export a given course into a PDF file.
    Technologies: Canvas, Python, C#
  • Software Developer

    2016 - 2017
    Kizen (via Toptal)
    • Added new features to the Kizen CRM.
    • Optimized code processes.
    Technologies: PostgreSQL, AngularJS, Django
  • Back-end and Machine Learning Developer

    2016 - 2017
    • Created an algorithm that provides personalized movie recommendations.
    • Used a third-party API to collect movie data.
    • Created and maintained the back end used by the app to provide Facebook and Twitter logins and save user interactions.
    Technologies: Amazon Web Services (AWS), Scikit-learn, AWS, Python
  • Freelance Developer

    2015 - 2017
    University of Wisconsin – Madison (via Toptal)
    • Built up a crowd-sourced "reverse engineering" tool to understand microtargeting in political campaigns.
    • Created and maintained the back end that receives and stores up to millions of ads.
    • Created an admin interface to facilitate analysis work.
    • Created algorithms to detect whether an ad is political and predict the candidates, the party supporting them, and more.
    Technologies: Amazon Web Services (AWS), AWS, MySQL, Python
  • CTO

    2014 - 2017
    • Defined and put in place software architecture and infrastructure.
    • Created a REST API written in Python/Flask supporting heavy traffic.
    • Created 3D native viewers for Android and iOS.
    • Managed the R&D team.
    • Created the ML stack to handle clothes recommendations.
    Technologies: Amazon Web Services (AWS), AWS, 3D, iOS, JavaScript, Android, Python
  • Freelance Python and iOS Developer

    2015 - 2015
    28 Billionaires (via Toptal)
    • Crawled workout products to get ingredient information such as protein quantity, sugar, etc. and saved them into a Parse database.
    • Created v1.0 of the iOS app that compares workout products using the above database.
    Technologies: Scrapy, Swift, Python
  • Software Engineer

    2012 - 2014
    • Developed a feature selection tool which aims at choosing automatically relevant features for a prediction algorithm. The tool enables the amelioration of the predictions' performance, reduces manual selections, and constitutes an important step in the model optimization process.
    • Developed a historical metrics feature to keep track of, detect, and quickly analyze the predictions' quality.
    • Implemented unit and integration (Selenium) tests to cover the predictions' critical code.
    • Modeled and optimized algorithms for new business models.
    • Resolved the latency problem of this new business model.
    Technologies: AngularJS, Hadoop, Java, C#
  • Developer

    2011 - 2012
    Bell Labs
    • Developed a PageRank simulator in Swing.
    • Studied possible extensions of PageRank and their relevance in comparison to classic metrics such as H-Index, G-Index, PR-A.
    • Implemented the new algorithm in the author and paper graph issued from DBLP (about 70,000 authors and 1.7 million papers).
    • Contributed to the article "Publication Induced Research Analysis (PIRA) - Experiments on Real Data."
    • Implemented Maven to better handle Java projects in the team.
    Technologies: Neo4j, Swing, Java


  • SimpleLogin

    Password manager for emails. SimpleLogin is an open source email alias solution to protect your email address.

  • Ban Co Biet (Do You Know?)

    "Ban co biet" (available in Vietnamese) is an Android, iOS, and web application that brings believable stories with proven sources to users. No more fake stories and Photoshop shocking pictures.

  • Flickle - Movie Recommendations

    Provide personalized movie recommendations.

  • SmsBackupReader

    A handy viewer for Android SMS backup apps like SMSBackupRestore.

  • Vloupe

    Vloupe is a platform where people can meet, discuss, and share what they know to solve problems.

    Vloupe is created with AngularJS on the front and Python/Flask on the back-end.

  • Dudoanbongda (Football Score Prediction)

    A web app that allows users to predict Euro 2016 scores.

    Functionalities: private/public competition group, user ranking, scores updated in real time using a third-party API.

  • Geoip-nodejs

    A small Node.js server returning the country, region, and city in the function of the user's IP.

  • Presentation of Node.js for VN-INFO Group

    The slides of the presentation can be found at:

  • JoggingTracker

    A small web app to keep track of your jogging sessions and see your performance statistics.

  • How to Create an SSO Button – A Flask Login Tutorial (Publication)
    Single sign-on is great for users, sparing them from memorizing yet another password; for businesses, removing frictio; and for developers, since less code means less things that can go wrong. In this Flask login tutorial, we’ll write a step-by-step guide to add a SSO login button into a Flask application with SimpleLogin and Facebook as an identity provider.
  • Python Logging: An In-Depth Tutorial (Publication)
    As applications become more complex, having good logs can be very useful, not only when debugging but also to provide insight in application issue/performance. The Python standard library comes with a logging module that provides most of the basic logging features and is very handy but contains some quirks that can cause hours of headaches
  • Integrating Facebook Login in AngularJS App with Satellizer (Publication)
    Integrating social network login in web applications directly using their SDKs can be a time consuming task. The fact that these SDKs keep changing every now and then doesn't help either. In this article, Toptal engineer Son Nguyen Kim provides us with an in-depth tutorial on how to use Satellizer, a feature-rich AngularJS library to integrate Facebook Login in an AngularJS web app.


  • Languages

    Java, Python, Swift, C#, JavaScript
  • Frameworks

    Flask, Django, ASP.NET MVC, Hadoop, AngularJS, Swing, Scrapy
  • Libraries/APIs

    SQLAlchemy, React, Scikit-learn, NumPy, Vue
  • Tools

    Git, PyCharm, Microsoft Visual Studio, IntelliJ IDEA, Xcode, Android Studio, Canvas, Postfix, Ansible
  • Paradigms

    Agile Software Development, Concurrent Programming, Test-driven Development (TDD)
  • Platforms

    Docker, Android, Apache Kafka, iOS, Amazon Web Services (AWS)
  • Storage

    MySQL, Databases, SQLite, Microsoft SQL Server, Neo4j, PostgreSQL, MongoDB
  • Other

    Architecture, Machine Learning, 3D Rendering, 3D, AWS
  • Industry Expertise



  • Master of Science Degree in Parallel Computing
    2010 - 2011
    Telecom - Paris, France
  • Master of Science Degree in Computer science
    2007 - 2011
    Ecole Polytechnique - Ile-de-France, France

To view more profiles

Join Toptal
Share it with others