Hello World,
Welcome to my Portfolio!

My name is Derek Marshall, I am a detail-oriented and self-motivated software engineer with a wide range of experience in software development paradigms. I am nearing 3 years of professional experience currently, even more if you count my personal endeavors. After graduating from Laurier, with a cumulative GPA of 3.7, I began pursuing solo projects that interested me. This lead me to make small projects in many languages, from C++ to Typescript, and experiment in developing for web, games, and even graphics. Currently, I am employed at IRCC, where I work as a full stack developer. Here I've focused mainly on backend and cloud development, sharpening my Java, Typescript, and AWS skills. I've build out architectures and participated in the full software development life cycle, building scalable software currently in use at some VAC offices. My current goal is to keep improving, both as a developer and as a person, while still finding time to do the things I love, like reading, gaming, and socialzing. I am always open to new and interesting ideas, conversations, and oppurtunities, so please reach out to me on linkedin!

Learn More

Projects

Vulkan 3D Renderer


A renderer build with Vulkan capable of displaying and transforming 2D and 3D objects. Started to learn about Vulkan, and very helpful in improving my C++ skills. I enjoyed using a picture of my dog Maya as a texture while building this out.

Stack
  • C++
  • Graphics
  • Vulkan

Path Finding Visualized


A classic resume project, visualized path finding algorithms on the web. I had already learned these algorithms from school, but it was a nice refresher. The main thing I learned here was animations with css.

Stack
  • TypeScript
  • React
  • Algorithms
  • Data Structures

Basic Ray Tracing with C++


A from scratch ray tracer I built using scratchpixel.com as my main resource for information. Super simple, does all of the math and exports the final image to a ppm file to be opened with Gimp or Photoshop.

Stack
  • C++
  • Graphics

Go Ecommerce API


A REST API built with Go and the Gin framework. Has everything needed to create an ecommerce frontend, from user auth and jwt tokens, to carts and checkout logic. Uses MongoDB encoded with bson to be understood by go.

Stack
  • Go
  • Golang
  • Ecommerce
  • REST
  • Backend

Amazon Webstore Clone


This app was my attempt at creating a responsive e-commerce website from scratch. It contains a backend with product data, a paypal api to allow users to 'purchase' items (sandbox). It also uses secure JWT tokens, password hashing and salting, and redux statefulness for a secure experience.

Stack
  • Mongo
  • Express
  • React
  • Node
  • TypeScript

Original Portfolio


This was my original attempt at a portfolio website. It was generated in Hugo and customized by me. I learned a lot about Go and TailwindCSS during this project. This site even used to have a cool url (Now assigned to the current portfolio).

Stack
  • Golang
  • Hugo
  • TailwindCSS

My First Blog


This was my first attempt at using Typescript to make a full stack MERN application. It was fully functional, but did not look great. This taught me the basics of full stack development and I inspired me to improve my CSS greatly.

Stack
  • Mongo
  • Express
  • React
  • Node
  • TypeScript

My Dynamic Scheduler


This was a big milestone in my web development career, as it was the first site I worked on until completion. I worked in a team of three, doing the entire backend with Node and Express, and a small portion of the frontend in React.

Stack
  • Mongo
  • Express
  • Asperite

Robot Slime Fun Time


My first time working with a game engine. I chose Godot to begin learning 2D development. I worked with my friend to compete in the GDU-5 Game Jam. We split the code work fairly evenly and I developed every asset myself except for sounds.

Stack
  • Godot
  • GDScript
  • React
  • Node

Captain Code


This project taught me how to collaborate with others even when it was difficult. The most impressive part of this project isn't the code, but my ability to lead our group through conflict and still manage to get a great grade on a final project.

Stack
  • Android Studio
  • Java

Computer Graphics Showroom


After learning how to write custom vertex and fragment shaders, I wanted to develop a showroom for my current skills. I took my final project in my course and expanded on it by adding fps controlls, extra light effects, and extra items to play with.

Stack
  • JavaScript
  • ThreeJS
  • WebGL

Keyboard and Mouse Practice (KAMP)


My first game. Written entirely in Java, this game was a mix between a type racer and an aim trainer. I learned all about object oriented programming practices and design principles throughout its creation.

Stack
  • Java

N-Puzzle Solver


This was my latest attempt in creating an N-puzzle solver, but this time it was much faster and could solve up to n=24.

Stack
  • Python

Sudoku Puzzle Solver


My AC3 Sudoku algorithm. This project was for my AI course and involved large amounts of research and multiple iterations to get right.

Stack
  • Python

Technologies

I've working with a range of technologies in web, game, and graphics development. My work lies primarily in full stack web development. That said, I am interested in all kinds of development, including back end, cloud, graphics, and imbedded systems.

  • Front-End

    Experience with
    React, Angular, CSS,
    NgRx, Redux, and NextJS

  • Back-End

    Experience with
    AWS, Go, C++,
    NodeJS, NestJS, ExpressJS
    Java, Springboot, MongoDB,
    MySQL, Redis, and DynamoDB

  • Game/Graphics

    Experience with
    WebGL, C++, Unreal Engine,
    Godot, Asperite, and Blender

About Me

A look at my development journey from my first line of code to now!

Personal Accomplishments

500+

Github Commits

25+

Projects

3+

Years of Experience

10+

Technology Certifications

Improving my skills one project at a time.