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.