$ Welcome to my website!

There is a palette in the upper right corner for customization

$ show direct contact

mail: edrin.hasaj@alumni.utoronto.ca

About Me

Snapshot

  • 🎓 Computer Science · Mathematics · Statistics — University of Toronto
  • 🧠 Interests: machine learning, optimization, software systems
  • 🛠 Build: models, APIs, full-stack applications
  • 🎯 Goal: turn complex ideas into reliable real-world systems

I enjoy working across the stack — from theory and data to production-ready software. I'm especially drawn to problems at the intersection of machine learning, mathematics, and systems engineering, and I care about building solutions that are not just accurate, but robust, interpretable, and useful in practice.

Research 2025

Mathematical Programming Models for Exact and Interpretable Formulation of Neural Networks

I propose a unified MIP framework that exactly models neural network activations and architecture choices, enabling globally optimal, sparse, and verifiable models — with a focus on interpretability over heuristics.

Read on arXiv ↗
Learning & Representation

Modern ML + deep learning foundations.

Introduction to Machine Learning

Neural Networks and Deep Learning

Machine Vision

Statistical Methods for Machine Learning

Mathematical Foundations

Probability, inference, and theory for reliable models.

Bayesian Statistics

Regression Analysis

Partial Differential Equations

Real Analysis

Time Series Analysis

Algorithms & Systems

Design and analysis for scalable software.

Data Structures and Algorithm Analysis

Software Design

Software Tools and Systems Programming

How I Build

Workflow: Git · Jira · Docker · CI/CD · Linux

Machine Learning & Research

Model development, evaluation, interpretability, and optimization.

Comfortable taking models from experimentation to production systems.

Focus: evaluation metrics, robustness, and reproducibility.

Python Python
Training pipelines, evaluation, and optimization experiments.
Python Ecosystem
Frameworks
TensorFlow PyTorch PyTorch Lightning Hugging Face
Data
NumPy Pandas Polars SQLAlchemy
Models / Optimization
Scikit-learn XGBoost LightGBM Optuna
R R
Statistical analysis, inference, and reporting.
Statistical Modelling
tidyverse ggplot2 dplyr tidymodels
Time Series
forecast tsibble fable
Software & Interfaces

APIs, applications, and production-ready interfaces.

Java Java
OOP, systems, and robust backend patterns.
JavaScript JavaScript
Interactive UI, prototyping, and animations.
Node.js Node.js
Runtime for building performant, event-driven services.
React React
Component-driven UI and responsive experiences.
HTML HTML
Semantic structure and accessibility-first markup.
CSS CSS
Glassy UI, layout, and responsive styling.
Flutter Flutter
Cross-platform product UIs for mobile and desktop.
C++ C++
High-performance systems, engines, and native modules.
C C
Embedded, OS-level, and low-level runtime work.
Data & Infrastructure

Storage, analytics, and cloud environments.

sql SQL
Schema design and analytical queries.
firestore Firebase
Realtime data layers for apps and dashboards.
aws AWS
Cloud infrastructure, hosting, and ML tooling.
powerbi Power BI
Business-ready analytics and storytelling.

Portfolio

Software Engineering
SaaS Production 2026

Lunch Mate — School Lunch Ordering Platform

Live

Founder / Full-Stack Engineer

Production-grade lunch ordering SaaS serving elementary schools across the GTA, designed for calendar-driven ordering and reliable payments at scale.

LunchBuddy wordmark
Frontend
Backend
Infra
Architecture

Why it stands out

End-to-end ownership
5 Schools live
Multi-tenant rollout

Serving GTA schools with strict tenant isolation.

1,500+ Weekly active parents
Parent + admin ops

Multi-student ordering, menus, and reporting.

Calendar-first Ordering flow
Calendar-first ordering

Weekly cutoffs with Stripe webhooks keeping orders synced.

Key responsibilities

Multi-tenant SaaS
  • Multi-tenant platform for schools and catering vendors with strict tenant isolation.
  • Full-stack ownership: UI/UX, Node/Express APIs, data modeling, auth, payments, deployment.
  • Calendar-first ordering with weekly/monthly schedules and per-student cutoffs.
  • Firebase Auth + custom RBAC for parents, admins, and operators.
  • Firestore schema + query tuning for calendar views and high-read workloads.
  • Admin tooling for menu publishing, order management, reporting, and ops support.
  • Stripe Checkout + webhooks and AWS ops for payment integrity and production stability.

Production ownership

Live ops

Operate a live SaaS used weekly by 1,500+ parents across 5 schools. I manage deploys, secrets, logging, and support tools to keep ordering reliable.

Browser app Node/Express API Firebase Auth + Firestore Stripe webhooks
Machine Learning & Data Science
Deep Learning 2024 ChestXray14

Chest X-ray Diagnosis

Repo
Chest X-ray samples

Interpretable multi-label chest X-ray screening on ChestXray14 with patient-level splits to mirror clinical deployment.

I led development of an ensemble pipeline prioritizing rare-pathology recall and clinician trust.

Key Decisions & Why They Matter

  • Patient-level splits → prevents leakage common in medical imaging → results reflect real clinical generalization
  • DE + forward greedy weighting → improves rare-class recall without hurting head classes → stronger ensemble behavior
  • Fused Grad-CAM validation → checks spatial agreement across models → increases interpretability and trust
What didn't work (and why)

Single backbones tended to overfit dominant classes and produced inconsistent attention maps on rare findings—motivating the ensemble + fused interpretability checks.

Heatmaps for Clinicians

Grad-CAMs for each model and a fused ensemble heatmap so radiologists can see why the model flags a study.

VGG Grad-CAM
VGG
CoAtNet Grad-CAM
CoAtNet
ConvNeXt Grad-CAM
ConvNeXt
DenseNet Grad-CAM
DenseNet121
Swin Grad-CAM
Swin
MaxViT Grad-CAM
MaxViT
Final Ensemble Grad-CAM
Ensemble

Ensemble Grad-CAM highlights consensus regions while reducing model-specific noise.

Outcome

Ensemble AUROC: 0.8565 on patient-level splits, improving clinical triage reliability while maintaining transparent, interpretable predictions.

Poster