HEY, I'M AJAYVEER

I LOVE |

A DUAL MAJOR COMPUTATIONAL MATHEMATICS & STATISTICS STUDENT AT THE UNIVERSITY OF WATERLOO. DRIVEN BY CURIOSITY AND A PASSION FOR PROBLEM-SOLVING.

TERMINAL v2.0
ajay@portfolio:~$ whoami
→ computational_math_stats_student
ajay@portfolio:~$ ls skills/
python.py javascript.js react.jsx node.js
ajay@portfolio:~$

MY PORTFOLIO

A SHOWCASE OF MY RECENT WORK AND CREATIVE SOLUTIONS

Data-Driven Application
6 months
Team of 2

ZocraticMMA

ZocraticMMA is an app I have created with my friend to give UFC fans a smarter, data-driven way to explore fighters, compare matchups, and predict outcomes. With 20+ monthly users, I developed custom web scrapers to collect fight data, stored everything in a structured SQL database, and created APIs so the app can access and deliver that data in real time.

KEY FEATURES

Custom web scrapers for fight data
AI trained on thousands of fight outcomes
Analysis of 25+ performance metrics
data visualizations and dynamic graphs

TECH STACK

Python
SQL
Web Scraping
AI/ML
Data Visualization
APIs

LIVE APPLICATION

ZOCRATICMMA.COM
ZocraticMMA Application Screenshot
20+
MONTHLY USERS
25+
METRICS TRACKED
AI
POWERED
Data Science / ML Research
2–3 months
Solo Project

Canadian Unemployment Forecasting (Macro ML)

I explored whether Canadian unemployment can be predicted using macroeconomic indicators and how interest-rate decisions feed through into the labour market. Using monthly data from 2009–2024, I built and evaluated a forecasting pipeline around several baseline, time-series, and machine-learning models. The project walks from data cleaning and feature engineering through model selection, diagnostic checks, and scenario design.

KEY FEATURES

Seven forecasting models (baselines, ARIMA, VAR, Random Forest, XGBoost, Ridge)
Scenario simulation for Bank of Canada rate paths
EDA: correlation, stationarity, lagged effects
Chronological train/test split; RMSE, MAE, MAPE evaluation; data from StatCan, Bank of Canada, FRED

TECH STACK

Python
pandas
scikit-learn
statsmodels
XGBoost
Time Series
Ridge Regression
ARIMA
VAR

ACTUAL VS PREDICTED

Actual vs Predicted Unemployment Rate (Test Period)

IMPACT & RESULTS

Shows that simple, interpretable models (especially Persistence and Ridge) can match or beat more complex ML at a 1‑month horizon for Canadian unemployment. The scenario module turns interest‑rate paths into plausible unemployment trajectories, making the work useful as a 'what if' policy tool and a demonstration of end‑to‑end econometric modeling.

PROJECT STATUS
COMPLETED
Recommendation System
3 months
Solo Project

Movie Recommendation Tool

I built a personalised, interactive movie recommendation tool to help friends and casual movie watchers save time and avoid endless scrolling. I noticed how often people, especially students and busy professionals, struggled to pick a movie quickly, so I designed a solution using Python tailored recommendations based on their preferences.

KEY FEATURES

Personalized recommendations based on preferences
Genre, era, and runtime filtering
Quick decision-making interface
Intuitive UX design

TECH STACK

Python
Data Processing
API Integration
UX Design

TECHNICAL CHALLENGES

Processing user preferences like genre, era, and runtime to provide accurate recommendations while maintaining a simple and intuitive user interface.

IMPACT & RESULTS

The tool narrows decision-making by processing the user's preferences like genre, era, and runtime, then returning recommendations based on them. I showed my software to my friends, and they reported saving 15+ minutes when using the app.

PROJECT STATUS
COMPLETED

WANT TO KNOW MORE ABOUT ME?

EXPLORE MY BACKGROUND, SKILLS, AND EXPERIENCE