Dana Bam

I love data and I love machine learning, and generally building things that aid in understanding and exploring concepts. I build most of the things I build based on my own interests; when I find out how something is built, I want to descend into the hole and just see how far it goes.

When I'm not working on computer things, I enjoy music, perusing design concepts, and hanging with my cat.

Projects

Riyadh Domestic Air Trafficread more →

Domestic departures from Riyadh, using airport data from 2021 to 2026.

Movie Taste Universeread more →

13,816 movies mapped by shared traits instead of genres.

Fake Job Posting Detectionread more →

A machine learning web app for checking job postings.

Customer Churn Predictiongithub ↗
Spotify Mood Visualizationgithub ↗
← projects

Riyadh Domestic Air Traffic

Using King Khalid International Airport's open data, I looked at outbound domestic flights from Riyadh between 2021 and 2026.

Final report for Riyadh Domestic Air Traffic
Final report. Click to view it full size.

What I looked at

How the number of flights and passengers changed, which destinations were busiest, and whether there were monthly patterns.

How I worked with the data

I standardized destination names, combined the year and month into a date column, filtered for outbound flights, then compared traffic across time and destinations. I also mapped domestic routes from Riyadh.

Python, pandas, matplotlib

GitHub ↗ Read the article ↗

← projects

Movie Taste Universe

Movie genres always seemed a little too vague to me. So I tried describing movies by the traits they actually share.

I used MovieLens Tag Genome data: 13,816 films, each represented by 1,128 tag relevance scores.

Finding similar films

I tested cosine similarity using Interstellar. These were some of its closest matches:

Gravity92.6%
Arrival92.5%
The Martian91.9%
Gattaca91.2%
Sunshine91.0%

Making the map

PCA compressed the movies into a dense cloud. UMAP did a better job of showing nearby films. I also tested cluster counts using silhouette scores and settled on five groups.

The final Plotly map lets you zoom in, explore neighborhoods, and hover over films to see their titles and strongest traits.

Python, pandas, NumPy, scikit-learn, UMAP, Plotly

GitHub ↗ Interactive map file ↗

← projects

Fake Job Posting Detection

A machine learning web app my team built to explore whether a model could distinguish fake job postings from real ones.

You enter a job title and description. The site returns a Real or Fake prediction along with the model's confidence.

From text to prediction

We combined the title and description, cleaned the text, and used TF-IDF along with additional posting features. We trained and compared different classification models.

Putting it on the web

FastAPI handles incoming postings and applies the same preprocessing and vectorizer used during training. SQLite stores submitted postings and predictions. The app also includes feedback and admin functionality.

Machine learning, TF-IDF, FastAPI, SQLite

Try the website ↗ GitHub ↗

About Dana Bam

I’m 21, based in Jeddah, Saudi Arabia, and I’ve just always loved building and working with technology on the web. In particular, I am interested in the domains of data and machine learning.

I enjoy the challenges of projects which bridge technical and visual elements together.

Python SQL Pandas scikit-learn Jupyter Git

This is what I'm working on

Generally small-scale data & machine learning projects allowing me to try things out, learn something new, and turn the outcome into a real use case or something somebody might want to browse or interact with.

Let's connect

I'd love to chat about anything related to data science, what I've worked on, or if you simply feel like saying hello. Feel free to reach out by email.