Computer Science (Co-op) Student

Ayaan Azfar

University of Guelph student searching for Summer 2026 internships.

From building AI models that flag tumors in medical scans to a campus-wide messaging platform GryphChat.com with 100+ uses, I care about software that makes a measurable impact.

  • Azure ML Studio, PyTorch, Java, Python, SwiftUI, Power BI, AWS, GCP
  • Certifications: AZ-900, AI-900, AWS CLF-C02, SC-900, CompTIA Security+
  • Experience with Apple x OurWaveHub, Town of Oakville, and University of Guelph research teams
Portrait of Ayaan Azfar

Project 01

CampusChat — Class Communities

💭 Ever struggled to find the group chat for your class or people to study with on campus?

Between scattered Discord links, Instagram chats, and last minute invites, it always felt harder than it should be to connect with classmates or organize study sessions. I ran into the same problem, so I built GryphChat, a campus-wide messaging platform where students can discover their class group chats, message peers, run polls, and plan study sessions all in one place.

🔗 gryphchat.com

Currently, this project is built specifically for students in the University of Guelph though if you would like to see an app like this for your university, feel free to connect with me!

From a technical standpoint, GryphChat is a full-stack web application built with production reliability in mind:

  • OAuth 2.0 (Google) and credentials authentication using NextAuth.
  • Next.js 16 (App Router) and React 19 for scalable UI and routing.
  • Prisma and Postgres to model users, courses, memberships, and messages.
  • Supabase Realtime for live chat with a polling fallback.
  • Cursor-based pagination and infinite scroll for consistent message ordering.
Next.js 16 React 19 NextAuth Prisma + Postgres Tailwind CSS v4 Supabase
Screenshot of gryphchat.com

Project 02

TumorAI — Brain Tumor Classifier

Educational ResNet-18 fine-tune over a Kaggle MRI dataset that serves predictions via Gradio with loud “not for medical use” framing.

  • Training script wires ImageFolder datasets, augmentation, validation tracking, and checkpoints weights + class metadata.
  • Gradio app mirrors training transforms to keep inference honest, returning probability distributions with markdown context.
  • Notes highlight dataset pitfalls (class mappings, augmentation balance, GPU/CPU switching) to help future contributors.
PyTorch Gradio Python

Project 03

MLPicks — NBA Prop Intelligence

End-to-end NBA over/under prediction engine with a FastAPI backend, scikit-learn models, React/Vite dashboard, and a backtesting suite that validates confidence buckets against historical lines.

  • StatsProvider + CSV cache reuse free NBA API calls while feature engineering tracks pace, rest, usage, and opponent form.
  • Dedicated training scripts for points/rebounds/assists run chronological splits, train Gradient Boosting models, and persist sigma + feature importances.
  • Frontend surfaces edge/risk, confidence bars, and integrates CI smoke tests alongside a replay-focused backtesting package.
FastAPI scikit-learn React + Vite Pytest

Project 04

SolSync — Solana Copy Trading

Local copy-trading engine that watches a “master” wallet, interprets balance deltas as buy/sell signals, and mirrors trades with Pump.fun/Raydium APIs while keeping signing local for security.

  • finalDraftV3.py orchestrates WebSocket subscriptions, RPC retries, and solders-based signature flows for each mirrored position.
  • Flask control server serves a local-only dashboard to start/stop bots, tune wallets/slippage/priority fees, and stream logs in real time.
  • Shared config surface exists as both CLI flags and web form fields, centralizing every knob from pool selection to RPC fallbacks.
Python Flask WebSockets Solana RPC

Project 05

Building Hardware From Scratch

Breadboard 6502 computer build

6502 Computer

Scratch-built MOS 6502 Computer

Breadboarded CPU with ROM, RAM, VIA, and UART peripherals driving LEDs, LCDs, and serial consoles at 1 MHz.

  • Custom clock + single-step circuit let me probe every address/data line for debugging.
  • Python assembler flashes binaries straight into EEPROM to iterate quickly.
  • Ran WozMon/BASIC monitors plus my own diagnostics firmware.
Custom VGA graphics card

VGA Graphics Card

Discrete VGA Renderer

Companion graphics card that generates 640×480 VGA signals, sprites, and diagnostics so the 6502 can paint animations directly to a monitor.

  • Implements its own pixel clock, HSYNC/VSYNC generators, and tile memory on perfboard.
  • SPI-like bus lets the 6502 stream sprite coordinates and palettes in real time.
  • Debug overlay renders register states directly to a monitor for live introspection.
  • Sprite sheet + palette EEPROMs are hot-swappable for rapid iteration.

Swipe Archive

More Projects

Full Stack

loginPage

PHP/MySQL auth demo with registration, role-based dashboards, and hardened session handling.

  • Separates config, handlers, and role-specific pages to keep logic tidy.
  • Highlights secure password storage, validation, and admin-gatekeeping basics.
  • Great refresher on PHP error handling and UX for multi-role flows.
PHP MySQL

iOS Prototype

GetHealthy

Swift-based wellness prototype built for OurWaveHub x Apple with smooth onboarding + habit loops.

  • Xcode project explores SwiftUI layouts, navigation stacks, and local storage for progress.
  • Shows range beyond web/ML with native UI polish.
  • Next step: tie in charts, HealthKit, and TestFlight feedback cycles.
Swift iOS

Data Utility

txtExtractor

CLI that parses .txt/.md job lists and scrapes Eluta.ca into structured CSV/TSV/MD outputs.

  • Keyword-driven parser strips Markdown artifacts and normalizes into Company/Role/Location/Link rows.
  • Eluta scraper layer supports filters, dead-link checks, and multiple output formats.
  • Lesson: treat text parsing like data engineering with explicit schemas.
Python CLI

Automation

GitScraper

GitHub Markdown scraper that extracts job-style rows from remote repos with anchor + keyword filters.

  • Raw-content fetcher handles tables/lists and converts them into normalized job objects.
  • Keyword logic expands shorthand like “Canada” into city variants, plus verbose logging.
  • Pytest suite guards parsing heuristics while CLI flags keep the UX ergonomic.
Python GitHub API

Portfolio

ArchiveOfAyaan

Static site system with a dark timeline aesthetic, detail pages, and scroll-triggered reveals.

  • Shared CSS/JS keep nav, scroll snapping, and theme toggles consistent across sections.
  • Dedicated project templates make it painless to spin up new write-ups.
  • README doubles as the SolSync Marketplace vision doc outlining future Solana products.
HTML/CSS Vanilla JS

Extensions

Stock-Timer

Chrome extension that watches tickers, polls APIs, and fires notifications when thresholds hit.

  • Manifest + popup UI pair with a background script that tracks price deltas and alert rules.
  • Branding package ships icons/screenshots for the Chrome Web Store listing.
  • Great playground for CSP nuances, notification permissions, and polling vs. rate limits.
JavaScript Chrome API

API Sandbox

FMP API Example

Mini Chrome extension/demo showcasing Financial Modeling Prep API calls and popup rendering.

  • Validates auth/rate-limit patterns that later powered the stock alert extension.
  • Lightweight popup demonstrates surfacing fundamentals/news data quickly.
  • Proof that small POCs de-risk larger products.
JavaScript FMP API

Validation

Certifications

AWS Certified Cloud Practitioner badge

AWS Certified Cloud Practitioner

Exam CLF-C02 - AWS Architecture

Microsoft Security Compliance and Identity badge

Microsoft Security, Compliance & Identity Fundamentals

Exam SC-900 - Cloud Security

CompTIA Security Plus badge

CompTIA Security+

Exam SY0-701 - Cybersecurity

Impact

Experience

2024 - 2025

Environmental Impact Analyst - Town of Oakville

Analyzed sustainability metrics across 30+ municipal parks, built Power BI dashboards, and kept compliance reporting on track.

2024

University of Guelph - B.Comp, CS (Co-op)

Project Management minor, Academic Entrance Scholarship, Dean's List (3.7 GPA), Honour Roll.

2022

Software Engineer (iOS, Cloud, Security) - Apple x OurWaveHub

Built Swift/SwiftUI features, integrated HealthKit and push notifications, and improved UX with TestFlight feedback loops.

Get in Touch

Let's build something meaningful

Available for internships, freelance projects, and collaborations.