Fatima AlSaadeh profile picture

Fatima AlSaadeh

Staff Software Engineer | Search & Applied AI Systems

7+ years building and evaluating AI and search systems across the US, UK, and Middle East. At Harbour, shipped the company's first production generative-AI feature and built the contract search engine underneath it — legal documents, where a wrong extraction is a real cost to a real customer. Before that, ML pipelines at Expedia Group that raised recommendation accuracy by 45%, and large-scale graph visualization research at DIMACS. Fulbright Scholar, UK Global Talent, MS in Data Science and Machine Learning from Rutgers.

Experience

Principal Software Engineer · Harbour

May 2021 – May 2026

San Francisco / Remote, UK

  • Designed and deployed Harbour's first generative-AI feature on Google Gemini, automating legal-document insight extraction and form-field detection; iterated on prompts and evaluated model outputs for accuracy and reliability on domain-specific contract data.
  • Built and scaled an intelligent contract search engine combining Elasticsearch with ML-driven metadata enrichment, enabling structured analysis of large, complex document datasets.
  • Led full-stack design and architecture end to end across GCP, Python, Elasticsearch, and Vue.js.
  • Partnered with executives, sales, and client stakeholders to define data-product strategy and shape the AI roadmap.

Graduate Research Assistant · DIMACS — Rutgers University

Jun 2020 – Aug 2020

New Jersey, USA

  • Conducted applied research under Prof. James Abello on semantic extraction and large-scale graph-data visualization within visual analytics.
  • Built 3D interactive analytics tools with Node.js, three.js, and WebGL to explore and interpret massive network datasets.

Software Development Engineer I · Expedia Group

May 2017 – May 2019

Amman, Jordan

  • Built ML pipelines that improved recommendation accuracy by 45%, designing and evaluating models against large-scale user-engagement data.
  • Migrated the last-minute deals platform to AWS, reducing load times by 4x.
  • Helped grow the Amman office from 7 to 100 engineers; collaborated across UK, US, Hungary, and India in an Agile environment.

Java Developer · EtQ Inc.

Feb 2016 – Apr 2017

Amman, Jordan

  • Developed enterprise web applications in Java 8 (JSP, JSF), improving customer-satisfaction scores by 75% and delivering 12+ releases that saved clients $50K annually.

Software Engineer Intern (IAESTE) · Vrije Universiteit Brussel

Jun 2015 – Sep 2015

Brussels, Belgium

  • Integrated three web applications in Python to give users access to flexible numerical models of electrochemical processes.

Currently exploring

Actively building hands-on depth across the frontier of applied AI.

Retrieval

Hybrid search, reranking, and chunking strategies that hold up when the answer spans sections.

Evaluation

Gold sets, per-field precision and recall, and calibrating an LLM judge against human labels.

Agents

Multi-step, tool-using agents, and the harder question of how to score a trajectory.

Entity resolution

Matching messy real-world entities at scale with no ground truth to check against.

Selected work

One platform over UK public procurement data from Find a Tender and Contracts Finder, published under the Open Government Licence. Three surfaces and a library. All four are in design and none are shipped, so none of them claim a number yet.

Contract intelligence engine

Planned
RetrievalExtractionEvals

UK public bodies publish every tender and award notice. Tens of billions of pounds, technically public and functionally unsearchable, with the terms that matter buried in free text and attached PDFs. The plan: idempotent ingestion of the daily OCDS feed, hybrid retrieval with a cross-encoder reranker, extraction of six fields per notice, and a hand-labelled gold set that gates every prompt change.

Done when: Someone can search it, the eval numbers are in the README, and I can defend every one of them.

Verifiable analyst agent

Planned
AgentsTool UseVerifiability

Chat-with-your-data tools fail the same way every time: a confidently wrong number with no way to check it. The hard part is making every figure checkable. The plan: a multi-step agent working over both the structured store and the retrieval layer, where each figure is traceable to a source row or document span by construction, and questions the data cannot answer get refused rather than guessed.

Done when: A question needing three joins and a document lookup returns an answer where every figure clicks through to its source.

Supplier network graph

Planned
Entity ResolutionGraphWebGL

Procurement data says who won a contract. It does not say that four apparently separate suppliers share a director, or that one framework routes most of a region's spend through two firms. The plan: resolve supplier names against Companies House officer and ownership records, model the result as a graph, and make it explorable rather than merely renderable.

Done when: It renders a large graph smoothly, and I can point at one cluster and tell a specific, true story about it.

Doc eval toolkit

Planned
Open SourceEvaluationMCP

Everyone building extraction over long documents rebuilds the same evaluation scaffolding, badly. The plan: lift the eval harness out of the contract intelligence engine into a domain-agnostic library with a gold-set format, per-field scoring, fuzzy matching for values and dates, and LLM-judge calibration against human labels. Proven on a second corpus outside procurement, so the portfolio is not one dataset wearing four hats.

Done when: Someone else can install it and evaluate their own extractor in under 30 minutes.

Earlier work

Graduate research and coursework in NLP, computer vision, and graph visualization.

Human-computer graph exploration and tele-discovery

Archived
Graph VisualizationSemantic Extraction

DIMACS/Rutgers research internship under Prof. James Abello. Interactive 3D exploration of a folklore knowledge graph in WebGL, with semantic summarization to keep dense neighborhoods readable.

Emoji prediction beyond the text

Archived
NLPBiLSTMBERT

BiLSTM with label-wise attention, benchmarked against BERT, predicting emoji from tweet text plus hashtag and source signals.

Emotion recognition from images

Archived
Computer VisionCNN

CNN models for facial-expression recognition on the KDEF and CK+48 datasets.

Emotion recognition from audio

Archived
Pattern RecognitionCNN

CNN models for speech-emotion recognition on the RAVDESS and Emodb datasets.

Reducing plastic pollution in oceans

Archived
Data ScienceARIMA Forecasting

ARIMA forecasting and visualization of US beach-cleanup events, 2015-2019, for volunteers and event organizers.

Skills

Retrieval & document understanding

  • Hybrid search (BM25 + vector)
  • Reciprocal rank fusion
  • Cross-encoder reranking
  • Chunking strategy
  • Structured extraction
  • Entity resolution

Evaluation

  • Gold-set construction
  • Per-field precision / recall
  • recall@k, nDCG
  • LLM-as-judge calibration
  • Regression suites for prompt changes
  • Trajectory evaluation for agents

Applied AI

  • RAG & grounded generation
  • Citation verification
  • Multi-step agents & tool use
  • Prompt & context engineering
  • Production GenAI features

Models

  • Anthropic Claude
  • OpenAI
  • Google Gemini
  • Cohere rerank
  • BERT

Data & infrastructure

  • Postgres + pgvector
  • Elasticsearch
  • Neo4j
  • GCP
  • AWS
  • MongoDB
  • Hadoop

Languages

  • Python
  • Java
  • Scala
  • JavaScript / Node.js
  • SQL

Engineering

  • Flask
  • Spring Boot
  • Vue.js
  • Next.js
  • CI/CD
  • WebGL