About Me
Listening, teaching, building.
I'm Gabriel Faigan, a passionate Software Engineering student at the University of Waterloo.
I've always been drawn to solving problems, whether it's coding and building a Rubik's cube-solving robot in the third grade, leading a professional jazz event ensemble, building a rideable roller coaster in my backyard, or teaching a nervous group of skiers to make it down the hill.
My passions may seem unrelated, but they share the same thread: building connections and pushing the bar higher. Playing piano taught me leadership sometimes means stepping out of the light to let the others on the team shine; ski instructing showed me leadership is as much about emotional intelligence as knowledge; and currently learning about software engineering (as you read this) is revealing how creativity and logic combine to create amazing things.
I am always down for a chat, and I love working with others and tackling challenges with the same curiosity that has guided me so far.
Featured Projects
A showcase of my recent work.

An AI-powered practice worksheet generator that creates tailored questions from textbook PDFs. Features automatic subject and chapter detection, AI-generated questions with adjustable difficulty levels via Google Gemini, individual question regeneration, LaTeX math rendering with KaTeX, and PDF export via LaTeX compilation. Supports PDF upload with text extraction, readability checks, and rate limit handling with automatic retry.

A full-stack web app helping UW students find ideal study spots via a personalized recommendation engine. Features an interactive campus map with RESTful endpoints to query study spots and handle user reviews. Developed in a 5-person team following Agile/Scrum methodology with 20+ catalogued study spots.

A 24-level shooter game using inheritance and polymorphism for modular enemies and difficulty scaling. Features collision detection, scoring, timing, and SFX to deliver a polished gaming experience and boost player engagement.

An AI MIDI composition tool that generates unique melodies, harmonies, and beats via natural language prompts. Features structured prompts to output melodic JSON data for a 32-step sequencer with drum pattern classification and controls for tempo, playback, note editing, and import/export.

A web app featuring 44 sorting, 7 search, and 7 pathfinding algorithm visualizations to demonstrate real-time efficiency, complexity, and performance. Features an intuitive UI with algorithm selection, array/grid size, and speed controls. Integrates Web Audio API with dual oscillators to generate frequency-mapped tones that audibly represent sorting operations.

(The hello world of ML.) A PyTorch-based neural network for recognizing handwritten digits with an interactive drawing interface. Features a 4-layer fully connected network trained on the MNIST dataset with high classification accuracy. Includes an interactive Pygame interface for drawing and testing predictions in real time, with automatic model saving and loading.
Skills
Languages
Frameworks/Tools
Concepts
Music Production
Experience
Software Developer
Orbital Design Team
- Worked on CubeSat ground station back-end in Python/FastAPI to receive, process, and store satellite telemetry data
- Consolidated Python project configuration files into a single package manifest to reduce redundancy and streamline dependency management
- Optimized logging middleware using Loguru to capture request/response metadata and improve backend debugging
Founder & Band Leader
Event Entertainment Band
- Founded and managed a professional band performing at 10+ events, coordinating rehearsals and communications to improve client satisfaction
- Led a team of 4 musicians, developing scheduling and workflow systems to streamline operations and resolve conflicts efficiently
- Negotiated contracts and managed client expectations to secure repeat bookings and maintain a strong professional reputation
Ski Instructor
Snowhawks & The City of Toronto
- Taught 130+ students aged 5–70, adapting teaching techniques to individual skill levels to increase confidence and retention rates
- Designed personalized lesson plans and drills to improve average student performance by one ability level per week of instruction
- Communicated with parents and guardians to provide progress updates and ensure alignment on student development goals
Piano Teacher & Manager
Private Piano Instructor
- Taught piano technique, music theory, and performance skills to students of varying ages and skill levels in private lessons
- Adapted lessons to individual learning styles to accelerate student progress and build lasting performance confidence
Education
Bachelor of Honours Software Engineering
University of Waterloo
Class Academic Rep. GPA: 90%.
Advanced Jazz Ensemble
Humber College
Leadership & Extracurricular
Alpha Epsilon Pi Fraternity
Member
- Organized charity events and raised funds to support community service initiatives and strengthen campus engagement
- Participated in weekly chapter meetings and brotherhood events to develop leadership skills and build lasting professional connections
Music
Jazz Demo Tape
Production Setup
DAWs, Plugins & VSTs
Logic Pro X, Reaper, Ableton, ES1, ES2, Modeling Synth, Vital, Helm, Cheeze Machine 2, Logic Retro Synth, u-he Hive, ymck Magical 8-bit Plug 2, Native Instruments, Spitfire Audio, Cymatics, VGMTrans, MidiTrail, MainStage, Audacity, Mixxx
Hardware & Equipment
Focusrite Scarlett Audio Interface, MIDI Keyboard Controller, MIDI Pad Controller, Studio Monitors, Audio Technica Headphones, Condenser Microphone, XLR Cables & Stands, Acoustic Treatment Panels
