All case studies

Data engineeringSynthetic data demonstration

Show which education records a dashboard can trust

Using a fictional education programme, this demonstration makes rejected records, repeat loads and quality checks visible before data reaches a dashboard.

Contribution
Mehrab Mashrafi
Scope
Python, MongoDB, validation, analytical marts and Streamlit
Project context
Documented demonstration build

Synthetic demonstration input

12,246 records

Fictional programme data, not records collected from real schools or children.

Documented mart contracts

58 checks

Output shape and integrity checks, not evidence of a real education outcome.

Make a failed record visible

A manager needs to know whether a missing number reflects programme performance or a data problem. This project represents late, incomplete and inconsistent records using synthetic data.

Invalid records go to quarantine with their issue and batch context. Their rejection remains visible instead of silently changing the reporting sample.

Let an operator rerun the same batch safely

Record hashes distinguish unchanged records from updates and new inserts, preventing repeated loads from duplicating every source row.

Analytical marts feed a Streamlit dashboard that shows run status, change counts, quality issues and contract results. The operator can inspect the run before treating its output as complete.

How the work connects

  1. 01

    Synthetic records

  2. 02

    Repeat safe ingestion

  3. 03

    Validation & quarantine

  4. 04

    Analytical marts

  5. 05

    Dashboard & checks

What this work establishes

The documented run processes 12,246 synthetic records across 14 entity types and runs 58 contract checks on analytical outputs.

The Tanzania education programme and its data are fictional. This demonstrates engineering controls, not a commissioned NGO deployment or improved student performance.

Inspect the work or discuss the approach

Have a similar workflow to improve?

Tell us who uses it, which records it depends on and where the handoff slows down. We can discuss a practical implementation scope.

Discuss your use case

Project notes from Mehrab Mashrafi and AI Byters. Updated .