Machine Learning Engineer

A camera. A CNN small enough to run on a wall-mounted board. One question: what is this person about to do? That was my thesis. No dataset existed, so I made one. A good model is only half of the product. The other half is software that keeps running, so I learned that half as a Java developer. In 2026 I put the two together: my thesis model is live on Hugging Face at 98.84% test accuracy, its preprocessing is a package on PyPI. AI is what I care about, and now I can also ship it.

Download CV
Portrait of Sahar Darafsh

2017 - 2023

A good model is only half of the product

  1. Sep 2017 - Jun 2020

    MSc, Artificial Intelligence and Robotics · Amirkabir University of Technology, Tehran

    Thesis: "Designing an Embedded System for Activity Recognition Using a Surveillance Camera"

  2. 2020

    Real-Time Activity & Intention Recognition

    Built an end-to-end video-to-decision pipeline: compresses a motion clip into a single time-encoded image, classified by a lightweight AlexNet-style CNN. Designed for embedded use: the CNN and image pipeline were simulated with Xilinx simulators for a ZCU102 FPGA board.

    Created the training dataset from scratch (no public dataset existed).

  3. 2021

  4. Jun 2020 - Mar 2022

    AI/ML Project Reviewer · Abadan University of Medical Science, Abadan

    Reviewed deep-learning projects in medical image analysis (model architecture, training procedure, evaluation metrics).

  5. Jun 2021 - Mar 2023

    Deep Learning Mentor and Teaching Assistant (Part-Time) · Maktabkhooneh, Tehran

    Taught and mentored 100+ students in Reinforcement Learning, CNNs, and Deep Learning.

    Co-developed the course curriculum with industry examples.

2022 - 2026

The other half is software that keeps running

  1. 2022 - 2026

    so I spent 4.5 years as a Java engineer in Munich learning that side properly: TDD, CI/CD, code quality gates, Docker.

    • Mar 2022 - Mar 2025Software Developer · TESTIFI GmbH, Munich: Built core QualityOps features with TDD from stakeholder requirements.
    • Mar 2025 - PresentFull Stack Developer · Convien GmbH, Munich: Lead code-quality initiatives against code smells, vulnerabilities, and technical debt.
    The software side of this story

2026

In 2026 I put the two together

  1. rebuilt 2026

    Real-Time Activity & Intention Recognition: MSc thesis to open-source system

    Rebuilt the system in 2026 as a tested Python codebase with a CLI for data prep, training, batch and live prediction.

    The released model on Hugging Face reaches 98.84% accuracy and F1 0.99 on the held-out test set.

  2. Sep 2026

    adaptive-motion-preprocessing: open-source Python package

    Python package that turns video frames into same-size motion images for neural networks (older frames dim, newer ones bright), with motion triggering, noise reduction and background subtraction as pluggable stages.

    Released on PyPI. CI runs the tests on Linux, Windows and macOS, and every release has to pass it first.

Background

Skills

ML / Deep Learning
Keras · TensorFlow · PyTorch · CNN training · fine-tuning · evaluation (accuracy, F1, confusion matrix) · Hugging Face Hub
Computer Vision
OpenCV · video/motion-based feature encoding · image classification · activity recognition · background subtraction · embedded CV design (Xilinx ZCU102, thesis)
Python & Tooling
Python · Git · pytest · ruff · CLI design · layered architecture · automated unit testing
Backend & DevOps
Java · Spring Framework · Docker · AWS · CI/CD (Jenkins, GitHub Actions) · SonarQube · MySQL · TDD/JUnit

Education

  • Sep 2017 - Jun 2020

    MSc, Artificial Intelligence and Robotics · Amirkabir University of Technology, Tehran

    Thesis: "Designing an Embedded System for Activity Recognition Using a Surveillance Camera" (see Research & Projects for the resulting repo, paper, and model)

  • Sep 2011 - Sep 2016

    BSc, Computer Engineering · Isfahan University of Technology, Isfahan

Certificates

  • AI for Medicine Specialization, DeepLearning.AI (Aug 2021)

  • Deep Learning Specialization, DeepLearning.AI (Jun 2021)

  • Reinforcement Learning Specialization, University of Alberta (May 2021)

  • Generative Adversarial Networks (GAN) Specialization, DeepLearning.AI (May 2021)

Languages

English (Fluent) · German (B1) · Persian (Native)

Let's build something.

The fastest way to reach me is email. I'm always happy to talk about interesting problems, collaborations, or roles.