DVS · Software engineer Open to new grad roles
--:-- ET 45.42N 75.69W · Ottawa

dominic
salas

Software engineer in Ottawa. I build full-stack web apps and computer vision software, most recently two desktop apps for FPV pilots. Looking for a new grad role, Ottawa or remote, starting now.

BEng · uOttawa 2026 Tilt +00.0°
Armed 00:00
Ottawa or remote Scroll ↓

Projects

Featured · Free, open source

AnaHD

Cleans up analog FPV goggle recordings and upscales them to HD. Free, and built around my own footage.

Analog recordings come out with torn bands of static, colour snow, rainbow shimmer on trees and grass, scan lines and grain. AnaHD repairs that damage using the frames around it, then cleans and upscales the picture to 1440×1080 at 60 fps while keeping the on-screen display readable. It runs offline on an NVIDIA graphics card, with a small deep learning restoration model I trained on my own footage.

Stack
Python · PyTorch · FFmpeg
Speed
3 min flight in <10 min
Output
1440×1080, 60 fps
App
PySide6 (Qt)
Drag to compareRecording ⇄ AnaHD
Recording AnaHD
Featured · Free, open source · App + CLI

FPVEdit

An automatic montage maker for FPV footage. Drop in raw flights and it hands back a finished edit.

It scans every flight, finds the tricks worth keeping and compares weak shots against strong ones across all the clips. It cuts out crashes and failed tricks, and it never cuts in the middle of a flip or breaks up a flowing line. Rate shots from 1 to 5 stars and it uses those ratings on the next edit. It runs offline.

Stack
Python · FFmpeg · CUDA
Vision
SigLIP 2
App
PySide6 (Qt)
Tuned on
200+ of my flights
flight_0412.mp4● Finding shots
01Scan every flight for tricks, crashes and scenery
02Keep the best shots, cut crashes and failed tricks
03Join 8–15 s shots in recording order

Experience

Jun – Oct 2026 Information Management Specialist
Department of National Defence
Power Apps · SharePoint · Power Automate
  • Built and maintained an internal suggestions app in Power Apps and SharePoint Lists. It works like a small social platform and has over 1,000 users.
  • Built admin and logistics apps on top of existing SharePoint lists and pages, so CAF Cyber Command staff can run daily tasks and find team information faster.
  • Helped set the unit's information management policy, including retiring legacy on-prem SharePoint data and labelling rules for protected information.
  • Made video tutorials and written guides that shortened onboarding for new staff.
May – Sep 2024 Software Developer / Programmer Analyst
Immigration and Refugee Board of Canada
C# · .NET Core · SQL Server Co-op
  • Built the front end for the board's web-based reporting tools.
  • Developed and tested reporting applications with .NET Core, C# and SQL Server.
  • Built cloud apps on Microsoft Dynamics, Power Platform and SharePoint Online.
May – Aug 2023 Build Systems and Tools Development Intern
Ford Motor Company
React · Python · Linux Co-op
  • Built and maintained a web app for the serial part number database, using React, JavaScript and Python on Ubuntu.
  • Wrote scripts, docs and flowcharts that automated daily build-system tasks.
  • Added automated tests, including snapshot tests, and took part in debugging and code reviews.
  • Tracked work and wrote technical docs in GitHub, Jira and Confluence.
Sep – Dec 2022 IT Test Developer
House of Commons Canada
ServiceNow ATF · Regression testing Co-op
  • Wrote and maintained automated tests in the ServiceNow Automated Test Framework, and ran regression tests on platform changes.
  • Supported QA for internal applications and public-facing web and mobile services.
Jan – Apr 2022 Geomatics Software Engineer
CartoVista
JavaScript · HTML5 · GIS Co-op
  • Built interactive web mapping applications with HTML5, CSS and JavaScript.
  • Developed platform components for data visualization and the user interface.
  • Supported mapping R&D and ran GIS analysis on geographic data.
Jun 2022 – Jun 2024

R&D Coordinator, Enactus uOttawa

Semifinalist at the 2023 Young Innovation Challenge, for turning invasive flowers from Northern Ontario into biodegradable air fresheners.

Aug 2022 – May 2023

VP of Events, uOttawa Esports

Ran the club's events the year it won Best Competitive Sports Club at the 2023 Student Life Awards.

Skills

Languages
C#, TypeScript, JavaScript, Python, Java, C++, C, SQL, Ruby
Frameworks
.NET Core, React, Next.js, Node.js, Angular, Spring Boot, PySide6
Data and video
PostgreSQL, SQL Server, Supabase, OpenCV, FFmpeg, NumPy
Testing
Jest, Vitest, React Testing Library, Selenium, JUnit, Pytest, Mockito, JaCoCo
Tools
Git, GitHub, Linux, Postman, Jira, Confluence, ServiceNow ATF, Power Platform, SharePoint Online

About

I'm a software engineer in Ottawa. Four co-op terms and a contract at the Department of National Defence: full-stack web apps, reporting tools and automated test suites in C#/.NET, React, Python and SQL Server, including a Power Apps and SharePoint platform with over a thousand users.

I fly FPV drones, and my two biggest projects came out of that. AnaHD restores analog goggle recordings: a restoration model I trained on my own footage, distilled from a diffusion-based restorer, running alongside motion-aligned frame fusion and hand-written repair for signal breakup and colour loss. I picked that design after blind comparisons against a classical pipeline and four open-source models. FPVEdit cuts a montage from raw flights: trick detection, a vision-language model to read each shot, and a rating model trained on my own 1 to 5 star ratings. Tuned against 200 of my flights with my hand edits as the benchmark; feeding the vision model's output into the rating model cut its error from 0.94 to 0.73 stars.

Both are free, open source, PySide6 apps shipped as Windows installers. I keep a set of difficult clips and re-run them after every change.

Contact

Email is the fastest way to reach me, or use the form. Happy to talk about roles, the projects, or FPV.

Your name, email and message reach me through Formspree and are only used to reply to you.