Open to software engineering roles

I build software that ships, scales, holds up, gets used

Software Engineering student at McMaster University, currently building payment infrastructure at BMO Capital Markets — reactive Java on Kafka and AWS. I like the unglamorous parts: what happens under load, at 3am, when nobody is watching.

Software Engineering with Co-op · GPA 3.86

Selected Work

MacMarketPlace.

Shipped and live.

A marketplace built exclusively for university students — founded it, led the build, and took it to real users. Listings, real-time search and auth, running in production today.

  • Grew to a real audience

    300+ users and 70 listings, without a marketing budget behind it.

  • Search that keeps up

    Algolia indexed against Firestore, synced live so results never lag behind the data.

  • Scales on its own

    Deployed to a managed instance group of Compute Engine VMs that autoscales horizontally.

  • Led a team of four

    Owned the roadmap, split the work, and made the system design calls.

ReactViteFirebaseAlgoliaSendGridGCP

SongSnap.

Name that song.

A cross-platform mobile app that identifies a song from whatever you can give it: a half-remembered lyric, a hum, or a vague description. Several specialised agents work the problem at once and agree on an answer.

  • Blackboard architecture

    Lyric, audio and description analysers share one problem space and converge on a single result.

  • Built to be extended

    Repository pattern and MVC keep business logic, data access and API endpoints independent.

  • 34% lighter in memory

    Reworked the FastAPI layer to stream data through rather than buffer it whole.

  • Type-safe at the edges

    Pydantic validation on every boundary, Google OAuth2 handling auth.

React NativePythonFastAPIGemini APIFirebaseMar 2025 — Apr 2025

Reddit Advice Intent Classifier.

What did they actually mean?

People give advice, warnings, sympathy and stories in nearly identical language. This benchmarks four NLP architectures on telling those five intents apart — I owned the BiLSTM.

  • Owned the BiLSTM

    Frozen Flair contextual embeddings, concat-pooling, class-weighted loss.

  • Built the dataset by hand

    2,000 comments scraped from four subreddits, annotated under a label-priority protocol.

  • Measurably consistent labels

    Cohen's Kappa of 0.534 across double-annotated instances.

  • Top 4 on the leaderboard

    Out-scored a BERT-base baseline on the held-out test set.

PyTorchHugging FaceFlairscikit-learn

RecycAI.

Point, shoot, sort.

Recycling rules change from city to city, so people guess and bins get contaminated. Photograph an item and this tells you whether it's recyclable where you actually live.

  • Vision to a real answer

    Gemini identifies the object, then it's checked against that city's rules — not a generic guess.

  • Location-aware rules

    Cross-references municipal recycling guidelines rather than one national standard.

  • Tuned for accuracy

    Prompt engineering in Google AI Studio to cut misidentifications.

  • Working prototype, one day

    Scoped to the core flow and shipped it inside the hackathon window.

ReactJavaScriptGemini APIJan 2025
Experience

One line, branching outward.

Four years of it, from a first cloud migration to teaching the courses that taught me. Scroll and the line draws itself.

May 2024 — Sep 2024

Cloud Engineer

TecCentric · Remote

  • Migrated 10+ clients from on-premise data centers to hybrid Google Cloud environments.
  • Deployed and auto-scaled 10+ client web applications on GKE, GCE, and App Engine.
Jan 2025 — Apr 2025

Undergraduate Teaching Assistant

McMaster University · Hamilton, ON

  • Teaching assistant for SFWRENG 2GA3 — Computer Architecture, alongside full-time coursework.
May 2025 — Sep 2025

Technical Business Analyst

BMO Capital Markets · Toronto, ON

  • Authored a Business Requirements Document for a back-office payments application covering fixed income front-office trades.
  • Designed data mappings and normalization logic for the ISO 20022 SWIFT MT-to-MX payment migration.
  • Analyzed trade and payment systems (Murex, Calypso, Broadridge) to map trade lifecycles and standardize upstream data.
Sep 2025 — Sep 2026

Junior Developer

BMO Capital Markets · Toronto, ON

  • Built reactive, event-driven microservices in Java (Spring Boot, WebFlux, Spring Data JPA) with Kafka and AWS, powering a payment platform across 6+ integrated systems.
  • Engineered ISO 20022 (MX) payment ingestion, validation, and transformation pipelines, ensuring compliant MT-to-MX conversion.
  • Optimized DynamoDB data models with GSIs for low-latency, concurrent payment lifecycle processing.
Sep 2026 — PresentIncoming

Undergraduate Teaching Assistant

McMaster University · Hamilton, ON

  • COMPSCI 3SH3 — Computer Science Practice and Experience: Operating Systems.
  • SFWRENG 3BB4 — Software Design II: Concurrent System Design.
  • SFWRENG 3RA3 — Software Requirements and Security Considerations, all three taught alongside a full course load.
About
Rayan Nasrallah
Based in
Hamilton, ON
Currently
Undergraduate Teaching Assistant at McMaster University
Studying
Software Engineering with Co-op, McMaster University
Focus
Java, Spring Boot, Python, TypeScript

Software Engineering student at McMaster, with experience as a Junior Developer at BMO Capital Markets.

I build the microservices behind bank-scale payment systems — reactive Java on Kafka and AWS, moving money between six integrated systems where a dropped message is not an inconvenience but a reconciliation problem somebody has to unpick by hand.

Before writing that code I specced it. A year as a technical business analyst on the same desk meant authoring the requirements, mapping ISO 20022 field by field, and sitting with the traders whose day the system was about to change — which is why I would rather ask what happens under load at 3am than ship something that demos well.

Skills
JavaSpring BootPythonTypeScriptC++SQLReactFastAPIDockerAWSGoogle CloudApache KafkaGit