adib el dada
résumé

Adib El Dada

McMaster University · Hamilton, ON · open to co-op

Third-year Software Engineering & Management student at McMaster, looking for a co-op.

This map is my trail so far. Every stop is something I built, most of them with a team.

walk the trail github linkedin email

scroll to walk it, or click any stop on the map

the trailhead · about me

Hey, I'm Adib.

I'm in third year of Software Engineering & Management at McMaster University. I'm interested in software, AI, and the systems behind the things we utilize daily.

I like learning by building. A lot of what I've learned has come from working on projects, joining hackathons, and picking up new technologies as I go. I enjoy taking an idea, figuring out how to make it work and seeing it turn into something real.

Here are some of the things I've built along the way.

the trail starts here ↓

1stop 1 · Nov 2025

BridgeAid

Report, verify and respond to emergencies, all in one place.

built with my team at the McMaster Engineering Competition 4th place, programming

listening for reports…

✓ verified 3 independent reports nearby · ai cross-check passed

A disaster-response platform for Hamilton: prep guides, emergency reports on a live map, aid requests and volunteer sign-ups. The problem we went after: in a crisis, information is scattered and a lot of it is wrong.

what i did

  • Built the React frontend and the live incident map (Leaflet + OpenStreetMap).
  • The map only shows an incident once 3 different people report it within 200 m (haversine distance), which cuts down false reports. The Flask backend is locked down with JWT auth.

React, Leaflet, Flask, JWT

2stop 2 · Nov – Dec 2025

Anattack

Studying anatomy, but make it a game. In C.

built with my 2XC3 group

~/anattack
 

cards you don't know come back more often

2XC3 leaderboard · sorted by points

  1. 1 sam 900
  2. 2 adib 780
  3. 3 james 750
  4. 4 hibban 550
  5. 5 maria 220

leaderboard_data.txt → adib 2XC3 780

Anatomy is mostly memorization, so we made studying a bit of a game: flashcards that keep bringing back the ones you miss, multiple-choice quizzes, a class schedule, and a leaderboard for your class. It all saves to files, so your progress is still there next time.

what i did

  • Top contributor on a 4-person team (29 of 74 commits). I wrote the login/register and leaderboard modules in C.
  • Stored scores in dynamically allocated arrays grown with realloc, saved them to a file, and bounded every scanf so input can't overflow a buffer.

C, Make, Bash, GitHub Actions

3stop 3 · Jan – Mar 2026

Catan Simulator

Settlers of Catan, rebuilt around design patterns.

built with Youssef Elshafei, Youssef Khafagy and Riken Allen

10 11 8 3 11 5 12 3 6 4 6 9 5 9 8 4 2 10

undo stack

redo stack

 

A Java Catan simulator for our software design course, with human and rule-based AI players, undo/redo, and a live Python visualizer. The real point was clean design: every new feature came in through a pattern instead of a rewrite.

what i did

  • Top contributor on the team: 90 of the 128 commits.
  • Implemented undo/redo with the Command pattern (two history stacks), the AI's turn with Template Method, and move scoring with Visitor.
  • Wrote a regex command parser and set up the JUnit suite (40 tests, including edge cases), with SonarQube analysis running in GitHub Actions.

Java, Maven, JUnit, SonarQube, GitHub Actions

4stop 4 · Feb 2026

TriageFlow

Hospital intake where you only have to tell your story once.

built with my team at Mac-A-Thon

live waiting room updates every 5s

     

    Triage desks lose time asking every patient the same questions while the waiting room fills up. With TriageFlow, patients do a short guided intake on their phone first, and AI turns it into a summary staff can review in seconds. The AI only suggests. Staff always make the call.

    what i did

    • Built the backend: the Next.js API routes and the PostgreSQL database behind them (triage sessions, chat transcripts), with Postgres running in Docker.
    • Deployed it to Vercel, with the API routes rendering on every request so the staff queue (ranked by urgency, then arrival time) always shows live data.

    Next.js, TypeScript, PostgreSQL, Docker, Vercel, Llama 3.3 via Groq

    5stop 5 · Sep 2026 – now

    KeyTrace in progress

    Coding interview practice you can rewind.

    solo project

    working now: Live shared editing in rooms you join by link, a replay of every session, solo, interview and group modes with a host who runs the session, and rooms and recordings saved in PostgreSQL.

    A web app for practicing coding interviews. You solve a problem in a shared code editor in the browser, alone or with a friend or tutor playing the interviewer. Every edit gets recorded, so afterwards you can replay the session and see where you got stuck, what you rewrote and how long each part took, like athletes reviewing game footage.

    what i did

    • Built the real-time core: a Spring Boot backend where each session is a room with its own random ID, and a WebSocket handler relays every edit to everyone in that room. The frontend is React + TypeScript around the Monaco editor (the one inside VS Code).
    • Every edit is saved as a timestamped snapshot of the code. When the host ends the session (only they can, using a private host token), it turns into a replay you can play, pause and scrub through. Solo, interview and group rooms each have their own player limit.
    • Rooms and recordings are saved in PostgreSQL (run with Docker Compose), so sessions survive a server restart. I moved the room logic into its own service and split the backend into packages.
    • Tested with JUnit and Mockito, plus integration tests against a real PostgreSQL database that Testcontainers starts up. GitHub Actions runs them all on every push.
    • Next up: running code in a sandboxed Docker container, built-in practice problems, accounts, and end-to-end tests with Playwright.

    Java, Spring Boot, WebSockets, React, TypeScript, PostgreSQL, Docker, JUnit, Testcontainers, GitHub Actions

    6stop 6 · Sep 2026 – now

    RouteScore in progress

    How reliable are Hamilton's buses, really?

    solo project

    working now: A Lambda that saves the live HSR feed to S3 every minute, and a step that turns those snapshots into arrivals labelled early, on time or late. Per-route stats and the dashboard come next.

    A tracker for how reliable Hamilton's HSR buses actually are. Every minute it saves the city's live bus data, then works out when each bus really reached each stop and compares that to the schedule. Over time that adds up to a reliability history for every route, stop and hour of the day, so you can see how often your bus runs late at rush hour. Later it'll also catch "ghost buses", trips that were scheduled but never showed up.

    what i did

    • Set up the pipeline on AWS in code with CDK (Python): a Lambda that EventBridge runs every minute downloads the city's live GTFS-Realtime feed, decodes it and saves a compressed snapshot to S3.
    • Wrote the processing step: from a run of snapshots it finds each bus's final arrival at each stop, works out how early or late it was, labels it with the city's on-time rule (no more than 2 minutes early or 5 late) and saves the results back to S3 as JSON Lines.
    • Next up: on-time % by route, stop and hour of day stored in DynamoDB, a public dashboard, ghost-bus detection, and tests with pytest and moto.

    Python, AWS Lambda, EventBridge, S3, AWS CDK, GTFS-Realtime

    the summit

    What I'm after

    Problems I can actually point at. TriageFlow is about ER patients answering the same questions over and over. BridgeAid is about how messy information gets during an emergency. I like projects where it's obvious who they're for and whether they worked.

    the team part

    Most stops on this map were team projects, and I like it that way: splitting up the work, going back and forth on the design, and sorting out the parts nobody planned for.

    hiring for co-op? say hi ↓

    education

    McMaster University expected May 2029 Bachelor of Engineering & Management, Software Engineering & Management (Co-op) · Dean's Honour List (2025, 2026) · McMaster Award of Excellence

    experience

    Customer Experience Associate, Tuffee May – Aug 2025

    competitions

    Mac-A-Thon Feb 2026 built TriageFlow

    McMaster Engineering Competition: Programming Nov 2025 4th place with BridgeAid

    UN Sustainable Development Goals Competition Mar 2024 waste-heat recovery system

    skills

    Java · TypeScript · Python · C/C++ · SQL · React · Next.js · Flask · PostgreSQL · Docker · Git · Linux

    say hi

    If you're hiring for co-op, building something that helps people, or just want to talk, my inbox is open.

    github linkedin résumé

    built with astro + three.js, hosted on cloudflare · source · © 2026