Erfan Pirjahandideh.

// Computer vision · applied machine learning

Every good idea starts as a small signal.

I research computer vision at Fraunhofer IGD. My background spans AI studies at TU Darmstadt and eight years in telecom IT.

Follow the signalDownload CV
Cartoon portrait of Erfan
DopamineReturn to the question
SerotoninFinish a test
OxytocinShare the finding

Illustration: a metaphor for how I work.

EndorphinsEnjoy the result

Computer vision · applied machine learning

Every good idea starts as a small signal.

I research computer vision at Fraunhofer IGD. My background spans AI studies at TU Darmstadt and eight years in telecom IT.

Fig. 01  ·  The six steps Illustration notes ↓

01 / Capabilities

Technical skills.

The tools I use and the decisions they help me make.

Computer vision

Build image pipelines, align faces and compare biometric embeddings.

Python · PyTorch · CUDA · OpenCV · Diffusers

Model evaluation

Test on unseen participants, compare simple baselines and examine where a model fails.

Held-out testing · error rates · reproducible experiments

Software engineering

Design web applications and APIs that handle retries and protect workflow state.

Django · PostgreSQL · JavaScript · PHP

Service operations

Connect monitoring and ticketing so a team can see what broke and act on it.

Service monitoring · Jira · ITIL workflows · automation

02 / Project index

Selected projects.

Three independent builds, each with a working demo and notes on what it can show.

EEG evaluation viewer

Machine learning / EEG

Brain Signals Lab

Tested imagined hand movement on 50 people. A participant-held-out evaluation scored 61.8% against a 50.4% baseline.

Support ticket and approval workflow

Applied AI / Support

OpsDesk

Compared rules and a local model on 60 fictional tickets. Changing a draft cancels its approval.

Campaign workflow demo

Software engineering / Django

Reachboard

Built a campaign workflow where quotes stay fixed and a repeated submission leaves the audit history intact.

More demos Recall Studio ↗Commonnest ↗

03 / Career highlights

Recognition & impact.

Recognition · April 2018

MTN CEO Special Award for Innovation

Received during my years in telecommunications IT.

Team leadership
Led a seven-person service desk at Behsa handling more than 2,000 tickets a month.
Service reliability
Led the implementation of monitoring for more than 30 services at NAK.
Research publication
Co-authored a 2017 conference paper on recognizing personality from text using recurrent neural networks.

How I work.

One example, from the first observation to a result someone else can explore.

  1. 01

    Notice

    Look for the part that is easy to overlook.

    The EEG average hid how differently the model performed across people.

  2. 02

    Make sense

    Find the question behind the symptom.

    Would the model work on someone whose data it had never seen?

  3. 03

    Decide

    Choose one useful comparison.

    Hold out whole participants and keep a most-frequent-class baseline.

  4. 04

    Build

    Make the decision inspectable.

    Put the five folds, participant scores and saved outputs into a viewer.

  5. 05

    Test & improve

    Look for what the average missed.

    The participant median was 57.8%. Some people scored below chance.

  6. 06

    Enjoy it together

    Share the result so others can question it.

    Anyone can open the viewer, sort the scores and explore the differences.

About the illustration

These four motifs illustrate how the work feels to me.

Experience & education.

Computer Vision and AI Research Assistant

Fraunhofer IGD · Darmstadt. Reproducible identity synthesis, face alignment and biometric evaluation on GPU infrastructure.

Artificial intelligence and machine learning studies

Technical University of Darmstadt (TU Darmstadt).

Telecommunications IT

NAK, Behsa and AHS. Service monitoring, ticketing integration, team leadership and reporting automation.

Freelance software development and web design

Web applications, responsive websites and workflow automation.

Download my CV PDF · 2 pages

I used AI coding assistants on these independent portfolio projects; each repository README describes scope, local-only pieces, and what the public demo does not run.

Career record / 2005–2026

Progress log.

Selected milestones in software, operations and research.

  1. Portfolio

    Published this portfolio and its skills-focused CV alongside public project demos.

  2. Research

    Joined Fraunhofer IGD to work on computer vision and biometric evaluation.

  3. Education

    Began studies in artificial intelligence and machine learning at TU Darmstadt.

  4. Training

    Completed training in software testing (ISTQB) and DevOps Foundation.

  5. Recognition

    Received the MTN CEO Special Award for Innovation.

  6. Publication

    Co-authored a conference paper on personality recognition from text.

  7. Operations

    Began eight years in telecommunications IT across AHS, Behsa and NAK.

  8. Development

    Started building websites and web applications as an independent developer.

Brain Signals Lab

Does the model work for someone it has never seen?

Erfan's choice
Participant-held-out cross-validation on public PhysioNet motor imagery — five folds, 50 people, CSP + LDA.
Baseline / failure mode
Most-frequent-class label at 50.4%; random trial splits would inflate scores when the same person appears in train and test.
Result
Mean accuracy 61.8%; participant median 57.8%. Saved reports in the static viewer — no retraining in the browser.
Limits
One public dataset; engineering comparison only, not clinical or neuroscience evidence.

OpsDesk

When should a support assistant stop and ask?

Erfan's choice
Expire approval when a ticket draft changes; require explicit re-approval before simulated execution.
Baseline / failure mode
Rules-only proposals vs a local model on 60 held-out fictional tickets — neither is production support software.
Result
Rules: 37/60 fully correct proposals; local model: 25/60. Duplicate execution requests return the first receipt.
Limits
Browser fixture simulates the workflow; the Python service runs locally. No real tickets or customer systems.

Reachboard

What happens when someone submits a campaign twice?

Erfan's choice
Fix quotes at submission, scope drafts per advertiser, and keep audit history unchanged on retries.
Baseline / failure mode
A repeat submission could change a quote or create a second audit entry; a draft must belong to the advertiser who opened it.
Result
Django backend enforces ownership and locked totals; public static fixture shows fictional placements at draft (75 RB credits).
Limits
The GitHub Pages demo is a browser simulation. The Django app is separate and local; the fixture does not run that backend.