Skip to content
UH.
Skills

What I can do,
and what I'm learning.

Skills for Ubayd Hattas, tied to shipped work: Cross-City Building Age Classification, Digital Minds, AfriGuard, SA Data Hub, and this site. No inflated expertise claims.

Programming

Languages used across research pipelines, data products, and this site.

Python

Feature engineering, Random Forests, CORAL adaptation, and evaluation scripts for Cross-City Building Age Classification; AfriGuard and Digital Minds pipelines.

TypeScript / JavaScript

This website and SA Data Hub, both typed React/Next.js applications in production.

Machine Learning & Statistics

Supervised learning, evaluation design, and transfer under distribution shift.

Supervised classification

Four-class building-age prediction from Landsat features; stylometric author identification baselines in Digital Minds.

Random Forests & scikit-learn

Class-balanced RF (500 trees) as Stage-1 Madrid model; local few-shot forests in the Hack4Dev transfer pipeline.

Feature engineering

~108 per-pixel features from multi-period spectral statistics, indices, change timing, and neighbourhood averages.

Domain adaptation (CORAL)

Pooled and class-conditional CORAL for Madrid→Amsterdam zero-shot transfer (0.36 → 0.65 macro-F1).

Model evaluation & cross-validation

Madrid 5×5 CV, macro-F1 transfer curves, McNemar tests, and capability-controlled 2×2 designs across 9,269 LLM trials.

Spatial analysis

Neighbourhood features, inverse-distance smoothing, and a spatial-adjacency audit of few-shot support/query leakage.

Data Engineering & Databases

Getting data in, cleaned, validated, and into reproducible pipelines.

ETL & automated processing

AfriGuard end-to-end evaluation pipeline (1,120 responses); SA Data Hub automated update scripts; Landsat parquet loading and feature builds.

Pandas & NumPy

Core stack for AfriGuard analytics, Digital Minds scoring logs, and the building-age feature matrix.

Public-data ingestion

SA Data Hub ingests and documents Stats SA, SARB, and other official South African sources with methodology pages.

Data validation & reproducibility

Fixed seeds, logged API calls with prompt hashes, and deliverable tables/figures regenerated from notebooks.

Research & AI Evaluation

Experiment design, baselines, and honest diagnostics. Not just leaderboard numbers.

Multilingual AI safety evaluation

AfriGuard: 7 languages, 4 frontier models, ASR analysis showing guardrail collapse outside English.

LLM introspection research

Digital Minds: capability-controlled self-prediction probes versus cheap surface baselines.

Experiment design & baselines

Crossed 2×2 designs, length-only and stylometric comparators, and organiser-notebook baselines for transfer.

Bias & leakage diagnostics

Surface-leakage gate, response-bias checks, and spatial-adjacency audits of few-shot evaluation.

Web Development

Shipping interfaces for research results and public data.

Next.js & React

Personal site (ubayd.me) and SA Data Hub (sadatahub.tech).

Tailwind CSS

Responsive UI systems across both sites, including dark/light themes.

Recharts

Interactive visualisations on SA Data Hub dashboards and explorers.

Streamlit

AfriGuard live analytics dashboard for language and harm-category exploration.

Vercel

Hosting and deployment for this website and SA Data Hub.

Tools

Day-to-day development and collaboration tooling.

Git & GitHub

Version control across AfriGuard, Hack4Dev, Digital Minds, and personal projects.

Command line

Running transfer notebooks, evaluation scripts, and local build/deploy workflows.

VS Code

Primary development environment for Python and TypeScript work.

APIs

OpenRouter and frontier-model APIs for Digital Minds and AfriGuard evaluation collection.

Currently Learning

Skills I am actively developing. Not yet core evidence on shipped work.

SQL & PostgreSQL

Learning relational querying and database design for a future SA Data Hub backend.

Algorithms & data structures

Strengthening foundations through UCT Computer Science coursework.

Approach & working style

Analytical Thinking

I break problems into testable pieces and check whether the evaluation itself is cheating before celebrating a number.

Project-Based Learning

Coursework becomes concrete when it shows up in a pipeline, benchmark, or public product.

Leadership

Former Head Boy and volunteer mathematics tutor. Comfortable coordinating people as well as code.

Communication

Writing, tutoring, and research slides aimed at making methods and limitations understandable.

Skills are a lagging indicator of effort. The most important thing I'm building right now is a deep understanding of mathematical and statistical foundations. Everything else builds on top of that.