David, Author at David Dada http://upe.dbv.temporary.site/website_f4952f50/author/admindavid/ Portfolio Wed, 26 Nov 2025 04:54:14 +0000 en-US hourly 1 https://wordpress.org/?v=6.9.4 https://daviddada.com/wp-content/uploads/2023/01/daviddada-512-50x50.png David, Author at David Dada http://upe.dbv.temporary.site/website_f4952f50/author/admindavid/ 32 32 MSc. Thesis – Lightweight Video Skimming https://daviddada.com/msc-thesis/ Wed, 26 Nov 2025 04:31:35 +0000 https://daviddada.com/?p=2839 I created MMVSkim, a lightweight AI system that automatically trims educational videos by detecting the most important moments using both audio and visual cues.

It generates accurate transcripts, scores each sentence for relevance, and removes filler sections, therefore making long lecture videos shorter while keeping the key learning content intact.

This helps educators save time on editing and deliver clearer, more focused video lessons.

The post MSc. Thesis – Lightweight Video Skimming appeared first on David Dada.

]]>

MSc. Thesis – Multimodal Video Skimming in Low Production Educational Environments

Summary

I created the MMVSkim architecture, a lightweight ML system that automatically trims educational videos by detecting the most important moments using both audio and visual cues.

It generates accurate transcripts, scores each sentence for relevance, and removes filler sections, therefore making long lecture videos shorter while keeping the key learning content intact. 

This helps educators save time on editing and deliver clearer, more focused video lessons.

Skills

Machine Learning • MSc. Thesis • Video Skimming • Video Processing

Key Highlights

Abstract

The explosive growth of educational video content has created both opportunities and challenges for educators and learners. While educational videos have become a cornerstone of modern education, particularly in asynchronous environments, the time-intensive nature of video editing and the cognitive load of processing lengthy content remain significant barriers. This thesis introduces MMVSkim, a novel multimodal video skimming architecture specifically designed for low-production educational environments, where critical information is often conveyed verbally rather than through sophisticated visual production. 

The MMVSkim architecture employs a dual-metric relevance assessment approach that integrates both textual and visual features. The system leverages advanced speech recognition for accurate transcript generation, deep learning-based text summarization as a reference point for sentence-level relevance evaluation, and shot detection for structural analysis. 

By assigning weighted importance scores to each sentence based on its semantic significance and visual context, the MMVSkim architecture identifies and preserves essential educational content while eliminating low-information segments such as filler speech, tangential discussions, and extended pauses. Empirical evaluation on the TVSum50 dataset, while not specifically suited for the educational domain, demonstrates the effectiveness of our approach, achieving an average AUC-ROC score of 0.6 for lecture-style videos. 

This performance, while modest in absolute terms, represents meaningful discrimination ability in educational contexts compared to random selection (0.5). Further analysis reveals that MMVSkim’s specialized design favours educational content, performing significantly better on lecture-style videos than on other video categories.
 
The primary contributions of this research include:
1. A lightweight multimodal architecture tailored specifically to educational video content
2. An adaptive weighting mechanism that balances textual and visual features according to content characteristics
3. A flexible deletion metric that allows for variable compression ratios while maintaining instructional coherence By providing both automation and customizable parameters, MMVSkim eliminates the time-consuming task of manual video editing while empowering educators to optimize the framework for diverse educational video styles. 

This contribution to educational technology allows instructors to focus on content creation and student engagement rather than post-production tasks, addressing a critical pain point in increasingly video-centric educational environments.

Interested in the full paper ?

The post MSc. Thesis – Lightweight Video Skimming appeared first on David Dada.

]]>
Wildfire Analytics Dashboard https://daviddada.com/wildfire-analytics-dashboard/ Mon, 20 May 2024 23:59:42 +0000 https://daviddada.com/?p=2695 This project uses Supervised Learning to predict customer retention by classifying customer behaviour.

Understanding and predicting customer behaviour is crucial for business analysis and contributes to growth.

The post Wildfire Analytics Dashboard appeared first on David Dada.

]]>

Wildfires: Past and Present Insights

Summary

This project utilizes wildfire data to offer insights through an interactive, real-time dashboard. Its primary objective is to provide valuable insights by examining and tracking both past and current wildfire incidents within Canada.

Amidst the era of climate change, there’s an increasing need to monitor and understand these events as well as their diverse causes–including human error.

Skills

Python • Pandas • Orchestration • BigQuery • ETL Pipeline Deployment • Google Cloud Storage • Docker • Mage • Terraform • DBT • Looker Studio • Data Visualization

Key Highlights

Real-time Dashboard: Offers insights through an interactive, real-time dashboard.

Analysis of Historical and Current Data: Examines and tracks both past and present wildfire incidents.

Utilization of Multiple Data Sources: Leverages real data from Alberta’s Historical Wildfire Data and Natural Resources Canada for comprehensive analysis.

Focus on Data Accuracy and Currency: Ensures accuracy and currency of data throughout the project’s development which is critical for making informed decisions.

Data Insights:

Tracking and showing insights and on current (Canada) and historic (Alberta) wildfires.

Interested in the full project ?

The post Wildfire Analytics Dashboard appeared first on David Dada.

]]>
NYC – Data Ingestion Pipeline https://daviddada.com/nyc-pipeline/ Thu, 14 Dec 2023 02:14:01 +0000 https://daviddada.com/?p=2481 This project uses Supervised Learning to predict customer retention by classifying customer behaviour.

Understanding and predicting customer behaviour is crucial for business analysis and contributes to growth.

The post NYC – Data Ingestion Pipeline appeared first on David Dada.

]]>

NYC Open City Data – Data Ingestion Pipeline

pipeline-banner copy
Summary

Deployed data ingestion pipeline that preprocesses and ingests data from a data lake into a data warehouse.

Skills

ETL Data Pipelining • Preprocessing • Docker • Data Ingestion • Data Warehouse • Scalability • Postgres • SQL • Data Lake

Key Highlights

Real Data: Using real open city data.

Scalability: Pipeline deployed in Docker which contributes to scalability and reproducibility.

Preprocessing: Preprocessing the data so it conforms to the data warehouse schema. This includes cleaning, dropping columns, etc. (Data cleansing/sanitation)

Data Management Efficiency: Deployed PgAdmin instance to manage ingested data.

Interested in the full project ?

The post NYC – Data Ingestion Pipeline appeared first on David Dada.

]]>
WalletWatch – Mobile Finance App https://daviddada.com/walletwatch/ Tue, 12 Dec 2023 21:03:54 +0000 https://daviddada.com/?p=2484 This project uses Supervised Learning to predict customer retention by classifying customer behaviour.

Understanding and predicting customer behaviour is crucial for business analysis and contributes to growth.

The post WalletWatch – Mobile Finance App appeared first on David Dada.

]]>

WalletWatch – Budget Tracker Mobile App

Summary

A simplified budget tracking application that empowers users to easily monitor expenses on a broad scale through intuitive interfaces and visual insights.

Skills

Mobile • Android • Java • Google Cloud Platform • FinTech

Key Highlights

Snap & Organize: Capture receipts and bills in-app, ditching paper clutter for organized records.

Visualize Spending: Understand your finances at a glance with WalletWatch’s visual spending insights.

Timely Alerts: Receive notifications to stay informed and in control of your financial status.

Prototyping & User Feedback: Refined the app through paper prototypes, focus group testing, and wireframe mockups.

Collaboration: Worked in a team of 5 to build and manage various aspects of the app, including user testing.

Contribution: I was responsible for overall UI design, the form to add Expenses, and photo management (uploading, database storage, deletion).

Application Demo:

Demonstrating key features, ran in an emulator

Login & Signup

Expenses, Budgets

Notifications

Interested in the full project ?

The post WalletWatch – Mobile Finance App appeared first on David Dada.

]]>
Movie Review Sentiment https://daviddada.com/movie-review-sentiment/ Sat, 02 Dec 2023 19:19:30 +0000 https://daviddada.com/?p=2419 This project uses Supervised Learning to predict customer retention by classifying customer behaviour.

Understanding and predicting customer behaviour is crucial for business analysis and contributes to growth.

The post Movie Review Sentiment appeared first on David Dada.

]]>

Movie Reviews – Sentiment Analysis using Naive Bayes

Summary

This project builds a Naive Bayes classifier completely from scratch to classify the sentiment for movie reviews.

The model is then deployed in Flask to Docker to make instantaneous predictions.

Skills

Python • Scikit-Learn • Data Preprocessing • Model Evaluation • Model Deployment • Flask • Docker • Sentiment Analysis • Naive Bayes • NLTK

Key Highlights

Deployment: A working model in a Jupyter notebook is only 10% of the battle. I focused on deploying this model to a Dockerized production environment for scalability, reliability, reproducibility.

Model Versioning: Model parameters were saved and versioned to provide model versioning

NB Classifier: building a Naive Bayes classifier from scratch to demonstrate robust understanding of the classifier.

Model Evaluation: With a balanced dataset of exactly 50% positive and 50% negative class (feeds into the Naive prior probability) and a custom NB model, we get weak results. Of course major improvements can be made by leveraging more powerful models that don’t have the inherent naivety of prior probabilities.

SWE: Taking this project farther by implementing an interactive avatar with animated emotions matching the classified sentiment.

Preprocessing: Using NLTK to remove stopwords, sanitizing input, text normalization.. etc.

Application Demo:

Demonstrating sentiment analysis with interactive animations.

Interested in the full project ?

The post Movie Review Sentiment appeared first on David Dada.

]]>
Detecting AI-Generated Text https://daviddada.com/detecting-ai-text/ Sat, 29 Apr 2023 23:21:10 +0000 https://daviddada.com/?p=1535 Detecting AI-Generated Text – NLP and Deep Learning Research  ♢ Summary This study builds upon the DetectGPT research paper by extending the application of the papers […]

The post Detecting AI-Generated Text appeared first on David Dada.

]]>

Detecting AI-Generated Text – NLP and Deep Learning Research 

Summary

This study builds upon the DetectGPT research paper by extending the application of the papers algorithm to new datasets domains, including Medical Research, E-Commerce Product Reviews, and Book Summaries.

Additionally, overall transparency was enhanced by thoroughly documenting the original algorithm, sharing insights on execution, and explaining how associated hyperparameters were fine-tuned.

Skills

Research • Deep Learning • NLP • Data Preprocessing

Key Highlights

Dataset Characteristics: Out of the three datasets, the Amazon Reviews dataset performed particularly poorly. From analysis, this is likely due to the significantly short, simple and generic nature of this domain, meaning any text of this nature will make AI detection much less accurate.

Prompt Engineering: With the advent of advanced prompt engineering, it’s evident that conventional AI text detection methods will be weak in this domain. This is another point of future exploration.

Results:

Reporting the accuracy of the model when trained with datasets on new dataset domains.

Interested in the full project?

The post Detecting AI-Generated Text appeared first on David Dada.

]]>
Speech to Code https://daviddada.com/speech-to-code/ Wed, 18 Jan 2023 04:43:29 +0000 https://daviddada.com/?p=1326 Speech to Code – A Streamlined Approach using Transfer Learning ♢ Summary This project serves as a proof-of-concept for integrating voice recognition into programming, with a […]

The post Speech to Code appeared first on David Dada.

]]>

Speech to Code – A Streamlined Approach using Transfer Learning

Summary

This project serves as a proof-of-concept for integrating voice recognition into programming, with a focus on overcoming a notable challenge in NLP: accommodating various accents in voice recognition.

Leveraging Transfer Learning, it showcases the ability to identify new limited-keywords with minimal fine-tuning, while also accommodating the accent inherent when training new words.

Skills

TensorFlow • NLP • Transfer Learning • JavaScript

Key Highlights

Innovative Approach: Applying Machine Learning concepts to address the practical challenge of enhancing speech recognition in the NLP sphere.

Transfer Learning: Skillfully implementing transfer learning, which significantly reduces the time and resources needed to develop accurate Machine Learning models for speech recognition.

Future Work: This proof-of-concept is an attempt at factoring in accents with voice recognition. A fully-built product could look like asking the user directly for 5 voice samples of a certain keyword, or a single long sample of a paragraph.

At the highest level, a single model would be deployed that is robust in understanding English that is heavily accented, such as countries where English is not the primary language.

Application Demo:

Demonstrating specific keyword recognition by programming and navigating the application menu.

Displaying possible actions, then executing "function" and "try-catch"

Using the "function" keyword while programming

Interested in the full project?

The post Speech to Code appeared first on David Dada.

]]>
Customer Behaviour Prediction https://daviddada.com/customer-churn-prediction/ Tue, 17 Jan 2023 08:17:04 +0000 https://daviddada.com/?p=1187 This project uses Supervised Learning to predict customer retention by classifying customer behaviour.

Understanding and predicting customer behaviour is crucial for business analysis and contributes to growth.

The post Customer Behaviour Prediction appeared first on David Dada.

]]>

Customer Behaviour Prediction – Supervised Learning

Summary

This project uses Supervised Learning to predict customer retention by classifying customer behaviour.

Understanding and predicting customer behaviour is crucial for business analysis and contributes to growth.

Skills

Scikit-Learn • Python • Data Preprocessing • Model Evaluation • Model Optimization • Feature Selection • Classification • Supervised Learning • Tableau

Key Highlights

Customer Value: Customers that stay longer tend to pay more monthly.
Significance: Businesses should prioritize brand loyalty by rewarding long-term customers with incentives like points, special offers, as they tend to have higher monthly spending.

Customer Retention: New customers are the most likely to leave.
Significance: Businesses should focus retention efforts on new customers.

Model Evaluation: Random Forest algorithm is used in a “grey-box” approach, achieving more explainability and control in contrast to the “black-box” nature of some commercial tools while having slightly better performance.

Data Source: Real-world dataset from IBM, representing telecommunications customer data, which still needed to be preprocessed

Data Insights:

Exploring the dataset to discover trends and correlation between features; namely monthly charges, and tenure.

Interested in the full project ?

The post Customer Behaviour Prediction appeared first on David Dada.

]]>
Web-App Portfolio https://daviddada.com/web-app-portfolio/ Tue, 17 Jan 2023 08:17:01 +0000 https://daviddada.com/?p=1186 Web-App Portfolio – Full-Stack Software Engineering ♢ Summary This full-stack web application serves as a portfolio platform, featuring a Content Management System (CMS) for users to […]

The post Web-App Portfolio appeared first on David Dada.

]]>

Web-App Portfolio – Full-Stack Software Engineering

Summary

This full-stack web application serves as a portfolio platform, featuring a Content Management System (CMS) for users to display their work. It employs over 10 technologies and tools, and follows the Software Engineering lifecycle, ensuring security. The application also includes a messaging database for user communication.

Skills

Angular • Firebase • Node • Express • CMS

Front End:

Angular 2+ – Bootstrap – SCSS – UI/UX Design

Designs using Sketch

“Plan before taking action; design before you build”

I planned the design and architecture of this web-app to streamline development in Angular.

 

Accessibility in mind

One sign of modern web development is accounting for accessibility.

Bootstrap was used to achieve responsive views for different device sizes, and for more advanced customization I used SCSS.

Mobile responsive view

Back End:

Firebase – Node JS – Express – Security Middleware

Contact form & Firestore Database

Serving, with Security: Unspammable, Unbreakable

I built this API to connect to my “Contact us” form and hosted on Google’s Firebase (Cloud).

Upon submitting, the form generates a token via Google’s captcha v3 API and that along with form values, are validated on my Node Server.

I used Express to build an endpoint to handle such a request.

As another security middleware layer I used CORS for domain whitelisting.

Finally, the valid form data is stored in a Firebase database.

Back End:

CMS – RESTful Web Services

CMS: Built for efficiency

I can dynamically add, edit and remove any project on my web-app portfolio by changing content on a separate site that acts as a server and CMS system.

This separate server is a WordPress website and uses WordPress API to transform it into a RESTful server.

Web-App project detail view & CMS content view

Interested in the full project?

The post Web-App Portfolio appeared first on David Dada.

]]>
Airplane Simulator https://daviddada.com/airplane-simulator/ Tue, 17 Jan 2023 08:16:04 +0000 https://daviddada.com/?p=1182 Airplane Boarding Simulator – What ordering of  passengers leads to the best boarding time ? ♢ Summary This stochastic experiment models the simultaneous boarding of up […]

The post Airplane Simulator appeared first on David Dada.

]]>

Airplane Boarding Simulator – What ordering of  passengers leads to the best boarding time ?

Summary

This stochastic experiment models the simultaneous boarding of up to 1000 airplane passengers and compares different pre-sorting of passengers to benchmark the performance based on pre-defined metrics.

Skills

Computer Modelling • Full-Stack Software Development • Data Visualization • Javascript • D3.js

Key Highlights

Random sorting: this sorting performed worse than others yet ranked among the best overall because of the practicality of not having to sort passengers.

Zone Sorting: This middle-ground approach ranks better than random sorting while being much less cumbersome than individually sorting passengers. This answers the question as to why airlines sort this way. 

Run many trials of the experiment instantaneously.

The simplified passenger boarding simulation was built using the D3.js library.

Passengers are represented by circles and the various states are represented with colours & numbers.

Time: The numbers in the circles represent time till the next action

Blue: passengers in the isle queue

Green: passengers stowing luggage and settling into their seat.

Red: Passengers who once boarded, had to get out of their seat to allow an adjacent passenger to sit down.

Orange: Passengers who had no such conflict as explained above (Red)

After a completed simulation, metrics are reported.
  • total time taken to board
  • average board time per passenger
  • # of conflicts

A fully loaded plane

1000 passenger simulation

Interested in the full project?

The post Airplane Simulator appeared first on David Dada.

]]>