CVINITIALIZING
Concordia UniversityMatrox Electronic SystemsIntact Financial CorporationIntact LabMorgan StanleyAmazon Web ServicesMicrosoftSimon Fraser University10 m
top view

Mohamed Hefny

Software engineer at Microsoft. Graduate student at SFU, researching visual SLAM.

This page is a map of how I got here, reconstructed live in your browser. Scroll to move the camera.

Fitting 3D Gaussians to one photoReconstructed from one photoiter 0 / 30,000 · PSNR dB · 0 Gaussians

Start tracking

01 Calibration

About the camera.

Before a SLAM system trusts anything it sees, it calibrates the camera. These are my intrinsics.

Most of my career has been on the layer other engineers build on: web services and APIs at Intact and Morgan Stanley, then AWS CloudFormation, the service teams use to define their infrastructure as code. Since February 2025 I've been at Microsoft.

Alongside work I'm a graduate student at Simon Fraser University, graduating in fall 2026. My research is in visual SLAM and 3D Gaussian splatting: getting a single moving camera to work out where it is and what the world around it looks like. I'm especially interested in what happens when conditions turn bad, which is why this page has weather controls.

I studied software engineering at Concordia University in Montreal and later completed Stanford's Machine Learning Specialization. I'm also a large-language-model enthusiast.

calib/mohamed-hefny.yaml
%YAML:1.0
origin: London, Ontario
trained: B.Eng. Software Engineering, Concordia
studying: Graduate student, SFU (fall 2025 – fall 2026)
current: Microsoft, since Feb 2025
previous: AWS CloudFormation · Morgan Stanley · Intact
research: visual SLAM · 3D Gaussian splatting
# rms reprojection error: 0.21 px

02 Trajectory

Eight keyframes, one trajectory.

Each keyframe is somewhere I stayed long enough to build something. As you scroll, the camera drives the loop, inserts keyframes and triangulates what it sees.

Green edges link keyframes that share a skill, the way a SLAM system links frames that observe the same landmarks. Hover a skill to light up its edges.

  • Keyframe: a place I stopped
  • The camera: where you are now
  • Tracked points: what the camera sees
  • Covisibility: keyframes sharing a skill

KF 012017 – 2021Montreal, QC

B.Eng. Software Engineering

Concordia University

Software engineering degree, with internships in between. Along the way: an OpenGL game, a peer-to-peer video streaming capstone, a React Native campus map and a C++ board-game engine.

  • Java
  • C++
  • Python
  • OpenGL
  • Web

KF 02May 2019 – Aug 2019Montreal, QC

Full Stack Developer

Matrox Electronic Systems

Built the web app the QA team used to manage its inventory.

  • Web

KF 03Sep 2020 – Dec 2020Montreal, QC

Java Software Developer

Intact Financial Corporation

Designed and built RESTful web services in Spring and Quarkus.

  • Java
  • Spring
  • Quarkus
  • APIs
  • Financial services

KF 04May 2021 – 2021Montreal, QC

AI Software Developer

Intact Lab

Built a Spring microservice that monitors Kafka messages, plus Python tooling on top of MongoDB and AWS S3.

  • Java
  • Spring
  • Kafka
  • Python
  • MongoDB
  • AWS
  • APIs
  • Financial services

KF 052022 – 2023

Software Developer

Morgan Stanley

Developed APIs and worked with cross-functional teams to build solutions for financial clients.

  • APIs
  • Financial services

KF 062023 – 2025

Software Developer II

Amazon Web Services

Worked on AWS CloudFormation, improving the service and the experience of the customers who define their infrastructure as code with it.

  • Java
  • Kotlin
  • AWS
  • Infrastructure as code

KF 07Feb 2025 – present

Software Engineer

Microsoft

Software engineering at Microsoft since February 2025.

KF 08Sep 2025 – Fall 2026 (expected)

Graduate student

Simon Fraser University

Research in visual SLAM and 3D Gaussian splatting.

  • Python
  • C++
  • Visual SLAM
  • Gaussian splatting

03 Landmarks

Things I built along the way.

Every map needs landmarks. These are projects from my own repositories, each reconstructed as a small sculpture inside the loop, next to the keyframe it belongs to.

04 Publications

Published maps.

A map is only useful once someone else can build on it. These come out of my graduate research at SFU.

  1. IROS 2026

    SLAM Adversarial Lab: An Extensible Framework for Visual SLAM Robustness Evaluation under Adverse Conditions

    Mohamed Hefny, Karthik Dantu, Steven Y. Ko

    Turns existing SLAM datasets into adverse ones (fog, rain, camera and video-transport faults) at severities in real-world units, and searches for the severity at which each SLAM system fails.

  2. arXiv preprint2026

    SLAMSqueezeBench: Comparing SLAM Systems under Resource Constraints

    Mohamed Hefny, Karthik Dantu, Steven Y. Ko

    Benchmarks SLAM the way it actually runs on edge hardware: capped compute and memory, competing workloads and camera frame drops, across nine classical, learning-based and Gaussian-splatting systems.

  3. SecureDB @ SIGMOD 2026

    Estimating Power-Law Exponent with Edge Differential Privacy

    Adam Tan, Mohamed Hefny, Keval Vora

    Estimates a graph's power-law exponent under edge differential privacy by privatizing only the sufficient statistics, in both centralized and local models.

All publications on Google Scholar

05 Loop closure

Close the loop.

Every trajectory drifts until it recognises somewhere it has been before. This one ends where it started, so this is the place to say hello.

Map saved: 0 keyframes, 0 points.

Built with Next.js and three.js: Gaussian splats, point clouds and a pose graph, all rendered in your browser. Plain-text CV · Source (github.com)