Ali Abdel Aal, Deep Learning Developer in Cairo, Cairo Governorate, Egypt
Ali Abdel Aal

Deep Learning Developer in Cairo, Cairo Governorate, Egypt

Member since June 28, 2018
Ali is a passionate computer engineer with expertise in software engineering, machine learning, and natural language processing. He has hands-on experience in Python and machine learning libraries including sklearn, TensorFlow, and PyTorch. With a profound understanding of AI techniques and algorithms, Ali's implemented several machine learning production-ready projects.
Ali is now available for hire


  • Mawdoo3
    Software Development, Natural Language Processing (NLP), Sentiment Analysis...
  • Grata
    Machine Learning, JSON, Pandas, Dashboards, Parallel Programming...
    Regex, Software Development, Natural Language Processing (NLP)...



Cairo, Cairo Governorate, Egypt



Preferred Environment

Jupyter Notebook, Git, Ubuntu, Visual Studio Code

The most amazing...

...project I've developed is Switch-bot. It is used to target customers on social media platforms based on their feed analysis using natural language processing.


  • Machine Learning Engineer

    2020 - 2021
    • Designed and implemented a custom entity extraction model and integrated it with Salma's, an Arabic virtual assistant, existing pipeline.
    • Enhanced model latency time using batching techniques.
    • Co-implemented an NLU back end that supported fast and accurate multi-intent classification, with context support and custom entities extraction for a custom chatbot builder platform.
    • Implemented a concept tagging model using Joint BERT.
    • Created a disambiguation-resolving model with high accuracy and very low latency.
    • Built an automatic evaluation and reporting system for our models.
    • Conducted lots of experiments, literature reviews, and reports on the state-of-the-art models for different NLP tasks.
    Technologies: Software Development, Natural Language Processing (NLP), Sentiment Analysis, Data Science, NLTK, Deep Learning, Chatbots, Python 3, Flask, Machine Learning, Artificial Intelligence (AI), Scikit-learn, Regex, Python
  • NLP/Machine Learning Engineer

    2020 - 2020
    • Worked on key phrase extraction using data-driven and statistical approaches.
    • Enhanced the ETL system making it 10 times faster using multiprocessing.
    • Handled processing of gigabytes of JSON documents on small machines using batching techniques.
    • Implemented a dashboard using Streamlit to showcase the model's capabilities and to modify it on the run.
    • Conducted key phrase extraction experiments using state of the art models.
    Technologies: Machine Learning, JSON, Pandas, Dashboards, Parallel Programming, Scikit-learn, Natural Language Processing (NLP)
  • Machine Learning Engineer

    2019 - 2020
    • Implemented and deployed a few-shot text classification model that needs (<30) examples to train.
    • Built a real-time dashboard to monitor, train new models, and test them in real time.
    • Enhanced the data collection and labeling process by building a slack bot that is able to retrieve documents and simplify the labeling process via a simple Slack interface.
    • Implemented and deployed an entity extraction model to help recognize dates, places, and names.
    Technologies: Regex, Software Development, Natural Language Processing (NLP), Sentiment Analysis, SpaCy, Web Scraping, NLTK, Deep Learning, Chatbots, Python 3, Flask, Machine Learning, Artificial Intelligence (AI), Azure, IBM Watson, Python
  • Machine Learning Engineer

    2017 - 2018
    • Designed and implemented a social media monitoring bot that supported sentiment analysis, topic detection, and ad recommendation based on the users' profiles and content.
    • Implemented a multi processing social media scraper from the ground up.
    • Conducted lots of experiments on text classification for the Arabic language.
    • Designed and implemented a user profiling system to monitor users over Twitter.
    Technologies: Regex, Software Development, Natural Language Processing (NLP), Twitter API, Sentiment Analysis, Web Scraping, Data Science, NLTK, Deep Learning, Chatbots, Python 3, Flask, Machine Learning, Artificial Intelligence (AI), Pandas, Scikit-learn, Python
  • Data Analyst Intern

    2017 - 2017
    • Obtained experience working in Blue mix.
    • Built multiple products using IBM Watson.
    Technologies: Data Science, Bluemix, IBM Watson
  • Software Engineering Intern

    2017 - 2017
    Crowd Analyzer
    • Built a gender detection module using Node.js.
    • Integrated gender detection APIs.
    Technologies: Software Development, Git, Visual Studio Code, Node.js


  • ATKSpy

    A Python package that supports SOAP interface to communicate with the Microsoft ATKS, enabling the Python community to use the ATKS tool in their natural language processing based apps.

  • Twitter Dash

    A dashboard for any custom query with simple analysis tools.

  • SwitchBot

    A project that had the purpose of targeting customers based on their social media feed using natural language understanding.

  • Masri

    An Arabic Egyptian voice assistant with a chat-bot extension on Facebook.

    My graduation project is a virtual assistant that interacts with you using your voice commands that are in Egyptian Arabic.

    A variety of tools were integrated into the system to enable high accuracy and performance.

  • Mwaslaty

    Mwaslaty is an Android application that helps the user find the shortest path and minimum time and cost to reach their destination. It was designed to minimize the effort of the user when trying to get directions to a new destination.

    My role was to clean the data that is processed by the algorithm.

    Using Python, I was able to achieve a good level of data cleaning, provided project-ready data that included translations and finding matched words in Arabic, and uploaded the data to a database.

  • Road Fraud Detection

    The system monitors the car's balance. When the car drives over a manhole or bump, the system detects the change and sends the location from a Skylab GPS. The modules used in the system include the accelerometer, gyroscope, ultrasonic, and GPS. The system was built using an Arduino environment.

  • Financial Model

    a classification model that classify whether the EURUSD stock exchange will go up or down next day based on historical data.

  • Flask Tutorial

    A tutorial on how to deploy a Flask app on Heroku server.

  • Telegram Bot Tutorial Code Base

    learn how to make a telegram bot and deploy it on a Heroku server, the bot will be up 24/7, and you can inject your own brain and responses into it.

  • Autoencoders for Image Reconstruction in Python and Keras

    Learn how to compress and decompress images using Keras.

  • Salma the First Arabic Personal Voice Assistant

    The world's first Arabic voice assistant. My responsibility included delivering new features to Salma, from modeling the idea and doing a literature review on the idea to delivering it fully coded and functional.
    Together with a wonderful team, we were able to deliver the first Arabic voice assistant.

  • AraPlagDet

    Detects plagiarism in Arabic documents using distance function and machine learning.

    The system model the relation between two articles by calculating multiple distance metrics and a machine learning model is trained on these metrics to classify whether there is a plagiarism or not.

  • Authorship Verification

    Verify a tweet’s author by constructing a vector representation for the user by averaging the tweet's vectors that were created using word2vec.

    The vectors are weighted with TF-IDF to enable sort of attention to the vectors that are important and a classifier is trained on the weighted vectors to predict the user.

  • EGBot

    Match user input with the correct semi-generated response for a chat-bot that is mainly focused on restaurants, based on TF-IDF and other similarity calculations.

    The bot was provided as an API that you can send new data to it to train on and sample of the required responses.

  • Building Your First Telegram Bot: A Step by Step Guide (Publication)
    Chatbots are revolutionizing the way people interact with technology. In recent years, their simplicity and low cost have helped drive adoption across various fields and industries. In this article, Toptal Natural Language Processing Developer Ali Abdel Aal demonstrates how you can create and deploy a Telegram chatbot in a matter of hours.


  • Languages

    Python, Regex, Python 3, SQL, C++, C
  • Frameworks

  • Libraries/APIs

    Scikit-learn, NumPy, Twitter API, NLTK, PyTorch, Matplotlib, SpaCy, Pandas, Keras, TensorFlow, SciPy
  • Other

    Artificial Intelligence (AI), Natural Language Processing (NLP), Machine Learning, Software Development, Data Engineering, Chatbots, Web Scraping, Recommendation Systems, Deep Learning, Sentiment Analysis, AWS, Dashboards
  • Tools

    Git, IBM Watson
  • Paradigms

    Data Science, Parallel Programming
  • Platforms

    Jupyter Notebook, Bluemix, Amazon Web Services (AWS)
  • Storage



  • Bachelor's degree in Computer Engineering
    2013 - 2018
    Helwan University - Cairo, Egypt


  • Natural Language processing
    JUNE 2020 - PRESENT
  • Deep Learning
    APRIL 2020 - PRESENT
  • Machine Learning Specialization
    JULY 2017 - PRESENT
  • Algorithmic Toolbox

To view more profiles

Join Toptal
Share it with others