Skip to content
Denxhinjo Labs

Research

Applied research

Technical investigations into privacy, parallel computing, distributed systems and optimization — focused on the problems that matter when building real data and AI systems.

Privacy-Preserving Machine Learning

Completed
Research question
How much predictive utility must be sacrificed to achieve meaningful, empirically-verified privacy guarantees when training credit-default models?
Contribution
A team coursework project. My contribution focused on the DP-SGD and Local DP training pipelines, two independent membership-inference attacks across privacy budgets, and the utility-privacy-fairness analysis. Results below are the project's shared findings.
Result
DP-SGD stayed close to the non-private baseline across privacy budgets (AUC 0.857–0.861 vs. 0.867), while Local DP collapsed on the higher-dimensional dataset at tighter budgets (AUC 0.358 at ε=3) due to per-feature noise splitting. Membership-inference attacks stayed at ≈0.50 AUC across every configuration, including the non-private baseline.

Why this matters

Shows how organizations handling sensitive financial, healthcare or customer data can explore useful machine-learning systems while reducing exposure of individual training records — and which privacy mechanism to reach for as feature count grows.

PythonPyTorchOpacusDP-SGDDifferential Privacy
Read the full case study

High-Performance 1D Earth Mover's Distance

Completed
Research question
How do sequential, shared-memory, distributed-memory and GPU parallelization strategies compare in runtime and energy efficiency for 1D Earth Mover's Distance?
Contribution
A team project across four algorithms. I owned the 1D Earth Mover's Distance workload — sequential, OpenMP, MPI, CUDA and hybrid variants — plus its prefix-scan optimization and the profiling and performance analysis.
Result
Measured on the University of Basel's SciCORE cluster. The EMD workload I implemented reached 73× on GPU for its compute phase. Across the team's full benchmark set, MPI+CUDA reached a 4,245× speedup over sequential for matrix multiplication (vs. 545× for CUDA alone), and energy profiling showed OpenMP using ~91× less energy than MPI for merge sort at the same problem size.

Why this matters

Demonstrates how architectural choices and parallelization strategy affect real performance and real energy cost, helping avoid expensive compute approaches that deliver little practical benefit.

C/C++OpenMPMPICUDASlurm
Read the full case study

Additional Technical Work

Coursework and smaller investigations

Supporting work from my MSc — kept here for completeness rather than as headline projects.

Continuous Optimization Methods

Coursework

Compared convergence across convex and non-convex objectives; published as a public repository with benchmark visualizations and an interactive Streamlit dashboard.

PythonNumPyOptimization Algorithms

Distributed Information Systems

Coursework

Worked through CAP-theorem trade-offs, replication and consistency models, and consensus protocols across a series of exercises and a group design workshop.

Distributed SystemsSystem Design

Cloud Messaging Architectures on AWS

Coursework

Built decoupled components using AWS queues and pub/sub, covering delivery guarantees, retry/backoff behavior and failure isolation between producers and consumers.

AWSMessaging Systems

Graph Modeling of Flight-Route Data

Coursework

Used Cypher shortest-path and centrality queries to surface hub airports and connectivity structure that was harder to extract relationally.

Neo4jGraph DatabasesCypher

Contact

Let's talk.

Hiring for AI, data or platform engineering — or building something technically difficult? Tell me what you are working on.

  • AI & data engineering
  • Forward-deployed / customer-facing engineering
  • Distributed systems
  • Applied AI & automation
  • Data platforms