Tech

Projects

I’m an MS Computer Science student at Northeastern University focused on data engineering. These are the projects I’m building toward data engineering and data analyst internships for Summer 2027.

Open to Summer 2027 internships
In progress

Product Analytics ELT Pipeline

A metrics-first product analytics pipeline: Python ingestion, dbt models from staging to marts, Airflow scheduling, a warehouse star schema, data tests, and a dashboard on top.

  • Python
  • SQL
  • dbt
  • Airflow
  • Star schema
  • Data tests
  • Dashboard
In progress

OmniRAG Data Platform Upgrade

My solo Python data-engineering layer on my fork of OmniRAG: corpus-scale incremental ingestion, Postgres + pgvector storage, data quality and lineage, and evaluation analytics.

  • Python
  • Postgres
  • pgvector
  • Incremental ingestion
  • Data quality
  • Lineage
  • Eval analytics

Earlier work

Summer 2026

JOIN Order Optimization

A chain-query join-order optimizer that uses the same Θ(n³) dynamic program as matrix-chain multiplication, compared against greedy and left-to-right heuristics on four real SQLite databases (Northwind, Chinook, Sakila, F1DB). Every row count and block size is checked against the actual SQL joins. Built with teammate Yanglin “Elliot” Hu.

150.88× less intermediate work than left-to-right join order on the Sakila database

  • Python
  • SQLite
  • Dynamic programming
  • Query optimization
View on GitHub (opens in a new tab)

Spring 2026

OmniRAG

A domain-aware Retrieval-Augmented Generation (RAG) engine built with Java 21 and Spring Boot with teammates Rui Song and Siyuan Liang. Upload documents, ask questions in natural language, and get grounded answers with source citations.

  • Java 21
  • Spring Boot
  • RAG
View on GitHub (opens in a new tab)

Spring 2026

jivec

My solo, from-scratch compiler in C for Jive, a small teaching language, targeting x86-64 NASM assembly. Built stage by stage: lexer, parser, stack-machine IR, symbol table, function calls, control flow, then strings, heap allocation, and arrays.

  • C11
  • x86-64 NASM
  • Compilers
  • Linux / WSL
View on GitHub (opens in a new tab)

Toolbox

Languages

  • Python
  • SQL
  • Java 21
  • C

Analysis

  • pandas
  • NumPy
  • Streamlit

Data engineering

  • dbt
  • Airflow
  • Postgres
  • pgvector
  • SQLite
  • Star schema
  • Data quality
  • Lineage

AI

  • RAG
  • Spring Boot
  • IBM AI Engineering cert.

More code on GitHub.

Coursework, experiments, and everything in progress live at github.com/johnha912.

Esc