Chris Brown

Backend & full-stack software developer that uses .NET, C++, and Microsoft technologies to solve business problems, optimize workflows, and automate tasks. Interested in Azure, ASP.NET Core, systems design, and cybersecurity.

Check out my blog, GitHub and LinkedIn below. Download my resume here.

Projects

AutoJobSearch

A cross-platform desktop application that helps automate and manage your job search.
  • Automatically downloads and scores job listings with user-defined search terms and keywords/sentiments
  • Eliminates duplicate listings and only retrieves jobs that have not been downloaded during previous searches
  • GUI built with AvaloniaUI provides interface for sorting, searching and filtering job listings saved within local SQLite database
  • Keeps track of which jobs that are applied to/interviewing/rejected
  • Attach relevant files and contact information to individual job listings
  • Available for installation on Windows, Linux and Mac
AutoJobSearch GIF

Azure Betting Odds App

A web app for making sports betting calculations.
  • Azure-hosted ASP.NET Core Razor pages web app and Azure Function available here
  • Displays winnings and total payout amounts upon user providing betting odds and the amount of the bet in dollars
  • Azure Function retrieves MMA fighter betting odds when searched by fighter name
  • Full CI/CD pipeline implemented with automated build/test/deploy upon new commits using Github Actions and Azure Deployment Center integration

PokemonDB

A website where users can search for Pokemon, select favourites, compare stats and perform advanced searches using filters.
  • React frontend consumes JSON responses served by backend ASP.NET Core REST API
  • Database and caching with SQL Server, MongoDB and Redis
  • Designed for Docker container deployment with Docker Compose orchestration
  • Unit/middleware/integration test suite using xUnit, Moq, AutoFixture and FluentAssertion
  • Healthchecks, exception handling middleware and WatchDog (NuGet) logging
PokemonDB GIF

LyricsFinder.NET

A web app that automatically retrieves and stores lyrics of songs searched by the user.
  • ASP.NET Core MVC web app and REST API with full CRUD capabilities
  • Database interactions for song info & user data performed with Entity Framework Core and SQL Server
  • Filtering by favourited songs capability for authenticated users
  • API authentication using JSON Web Tokens (JWT)
  • User role management & user deletion capabilities if authorized as admin or moderator
  • Table result sorting, search term filtering, Excel file exporting features
  • General exception handling & checking for duplicate/invalid song ID's in URL query string with ASP.NET Core filters
LyricsFinder.NET GIF

Gin Rummy Blazor

Gin rummy card game playable in the web browser with Blazor WebAssembly.
  • Containerized in Docker and hosted in Azure Web App for Containers available here
  • Play against a simple computer agent
  • Algorithms implemented to ensure optimal meld (cards in hand) combinations are always selected

Collaborative Drawing App

A web app for multiple users to collaboratively use a drawing canvas and text area with real-time updates.
  • ASP.NET Core Razor pages project, also containerized using Docker
  • Real-time updates across multiple browsers accomplished using SignalR and Javascript
Collaborative Drawing App GIF

Reddit Screenshot GIF Bot

A Reddit bot that converts .gif files into their individual .jpg images.
  • Bot is activated by directly mentioning its username via a comment on Reddit
  • GIF linked in comment is deconstructed into individual image frames using SixLabors NuGet package
  • Images are uploaded as .jpg files to Google Drive and an Imgur album
  • 20 MB file size limit for linked .gif file, extracted .jpg images larger than 5MB are skipped and not uploaded

Email Spam Detector App

A website that uses machine learning to determine if email contents are spam.
  • ASP.NET Core Razor pages project, also containerized using Docker
  • User enters an email subject and body and website gives prediction confidence % of the email being spam
  • Machine learning model trained using ML.NET binary classification and Kaggle dataset

Skills

  • .NET, C#

  • Docker

  • SQL, NoSQL

  • Git

  • Windows

  • Linux

  • Bootstrap

  • React

  • Javascript

  • Python

  • ASP.NET Core MVC, Razor, Blazor, SignalR
  • C++
  • Cloud solutions with Microsoft Azure
  • Desktop Applications & UI with AvaloniaUI, XAML, MVVM pattern
  • REST & GraphQL API, HTTP Communications, WebSockets
  • Unit/Middleware/Integration Testing with xUnit, Moq, AutoFixture and FluentAssertions
  • Service Bus with MassTransit & RabbitMQ Message Brokering
  • API Gateway & Reverse Proxy with YARP
  • Background Jobs using Hangfire
  • CQRS Pattern with Mediatr
  • Logging with Serilog and Seq
  • Cybersecurity & Ethical Hacking using Kali Linux

Education

University of Ontario Institute of Technology

Bachelor of Engineering (Honours) - Electrical & Electronics Engineering

GPA: 4.0/4.3

September 2014 - April 2019

Experience

Software Specialist

Gerdau North America - Cambridge, Ontario

Spearheaded the adoption of Microsoft Power Automate and Power BI to automate daily computer tasks, increasing efficiency within a team of 4 people and assisting the company grow YoY revenue for 2 consecutive years.

Produced macros and VB scripts for reliable SAP and Excel data processing, saving 10 hours of work per week and reducing common spreadsheet and ERP administrative errors.

Handled IT tasks including troubleshooting network connectivity, VOIP, printers, SAP, and Microsoft Teams. Utilized PowerShell and command terminal for system management.

Coordinated the customs paperwork distribution & documentation process for an average of 25 daily steel shipments to the USA, ensuring adherence to regulatory standards and prompt delivery.

June 2021 - August 2024

Software Developer

EXO Insights - Waterloo, Ontario

Led the design, programming, and testing of a device that measures machine vibrations with C#, Python, C++, Bluetooth, Arduino, Raspberry Pi, and ESP32 technologies, achieving +/- 5% accuracy tolerances in accordance with ISO standards.

Programmed and optimized software using Python to determine the frequency & magnitude of the vibrations and simultaneously providing real-time data display & wireless transmission.

Managed and delivered project with material costs 30% below allocated budget and ahead of schedule by 2 weeks.

Conducted weekly presentations to provide project updates to stakeholders, demonstrating the functionality of the device and communicating detailed technical documentation to the client.

August 2020 - June 2021

Project Coordinator

PTN Electrical - London, Ontario

Managed and delivered over 20 residential & commercial electrical projects, ranging from $5,000 to $100,000 in budget, with no unfinished deliverables & exceptional customer satisfaction.

Prepared and presented materials requirements & cost estimate documents for project proposals, resulting in a 15% increase in revenue.

Facilitated meetings with customers to determine scope & needs for electrical projects, and negotiated contracts & timelines to ensure customer satisfaction and project feasibility.

Coordinated with electricians & subcontractors to ensure project timelines were being met and to resolve any obstacles encountered, such as material shortages, technical issues, or safety hazards.

July 2019 - August 2020

Engineering Intern

Ontario Power Generation - Bowmanville, Ontario

Prepared engineering design and risk analysis packages under the supervision of licensed Professional Engineers.

Received training in the operation and calibration of instrumentation and control equipment such as PID controllers, Rockwell programmable logic controllers (PLC), 4-20 mA control circuits, pressure/position/level transmitters, flowmeters, temperature sensors, Druck calibrators, HART communication protocol.

Coordinated with contractors to ensure proposals, quotations, meeting minutes were submitted and documented by all parties.

Performed "Single Point of Contact" role to maintain communications between engineering and other work departments.

Attended station meetings and monitored a generic email address to ensure emergent issues were promptly delegated and resolved.

May 2017 - September 2018

Areas of Interest

I am currently developing an XCOM-like wave-based survival game with Unity. This is purely a passion project for me that is currently in the preliminary phases. I have a fascination with AI combat and movement decisions that I plan to learn more about through this project. I will post further updates here as development continues.

Here are some notable blog posts I have written on C# development and cybersecurity:

  • MVVM Community Toolkit Beginner Tutorial
  • How to Create Reverse Shells with Kali Linux and VirtualBox
  • How to Connect to Docker with C#
  • Writing a C# CLI Tool for DVWA Login Brute Force (High Security)
  • Attacking DVWA
  • HackTheBox - TwoMillion
  • Awards & Certifications

    • Top 4% global points leaderboard on TryHackMe
    • President's List award recipient for every university semester attended
    • Veridian Scholarship in Electrical Engineering - Dec. 2015 & Dec. 2018
    • IEEE Toronto Section Scholarship - Dec. 2015
    • Rotary Medalist Award for Excellent Moral Character - June 2014