About Me

I’m Matt Ferguson and I love working with all things related to computers. I’ve been passionate about computers since I was 9 years old. When I was young I attended a computer camp at Carleton University called Virtual Ventures. There I learned how to connect to a Linux server using Putty and code websites using HTML and Javascript. As a teenager I volunteered at the camp for two years.

I worked for two years as a full stack developer at a technology startup, building a web application using Angular and C#.

In June 2021 I completed the Drafting course at the Western Quebec Career Centre. The program taught me how to use different CAD software, including AutoCad, Revit, and Inventor. I taught myself how to operate the class 3D printer and how to prepare 3D models for printing. At graduation I won the Citizenship Award.

I studied Computer Science at Heritage College, where I learned software and server development using C# and Java. I also learned how to create and manage databases and write SQL queries to access data.

I love the beauty of an elegant solution to a coding problem. I enjoy debugging and finding out why a program is not working the way it should. I am experienced in Typescript, React, Angular front end development; and NodeJS, and C# server development.I am always interested in learning about new technologies such as AI and machine learning.

Programming Skills

  • Strong Typescript, Javascript, CSS3, and HTML5 skills
  • Skilled in React, Angular, and Vue frontend frameworks
  • Skilled at NodeJS and C# backend development
  • Experience with integrating REST API's
  • Experience with JQuery
  • Skilled at SQL Database development
  • Skilled at writing SQL queries

CAD Skills

  • Skilled at creating and modifying 2D and 3D CAD files using AutoCAD, Revit, Inventor, and SketchUp
  • Able to use Photogrammetry to create accurate 3D models of buildings and objects from photos
  • Skilled at creating 3D renderings using Blender
  • Able to digitize existing paper CAD drawings
  • Skilled at finding and solving errors in CAD drawings

Additional Hardware and Software Skills

  • Experience configuring cloud servers and firewalls
  • Experience using Git merging and branching
  • Skilled in software troubleshooting and debugging
  • Experienced in computer hardware assembly
  • Knowlegable in TCP/UDP networking protocols
  • Experience with Unity and Unreal Engine game development
  • Knowledgable in 3D printing technology and able to repair and configure 3D printer hardware

Programming Works

Image Gallery Viewer

I wasn't satisfied with the existing solutions for viewing images on a website, so using Typescript and HTML I created my own lightweight gallery viewer.

Demo

Image Folder Browser

A project I created using NodeJS and Typescript for navigating a folder structure of images. NGINX is used serving the files and NodeJS is used for generating thumbnails and returning folder contents to the client.

Link

CAD and Design Works

Photo-Elevations

A photo-elevation I created of an existing building for an architectural firm, to be used in a project presentation to the city.

I took photos of the building from different angles and used software to match the location and size of the building in 3D space.

Using the images as a reference, I was able to model a simple facade to project the photos onto. I stitched together the photos using photoshop and rendered the facade from the front to create the final product.

Building Renders

3D Printing

Photogrammetry

Using a series of photos, I was able to digitally scan an area of stumps and create a 3D model of the area.

First I took many photos of different angles of the stumps, then I loaded them into software that uses the photos to create a 3D model based on the photos.