The views expressed on this website are mine alone and do not necessarily reflect the views of my employer.


Ben McLean:
Full Stack Developer


Ben McLean Headshot

Hi! Thank you for visiting my portfolio website!

My name is Ben McLean, I'm a 26 year old software developer. I'm a passionate problem solver and I enjoy developing high-quality well crafted software. I'm currently employed by Catalyst Reaction Technologies Ltd. Catalyst develops software for companies in the Agricultural sector. I maintain a system of several frontend and backend applications, as well as associated software libraries.

My previous role was at Inovatech Engineering, a Lincoln Electric company. I helped maintain a large .NET/C# codebase, but also did some projects with TypeScript, React and Python. I worked on robotic CNC plasma cutters, and developed software for CAD/CAM, geometry, and robotics applications.

In June 2022 I graduated Cum Laude from the University of Ottawa. I completed a double degree in which I studied Mechanical Engineering and Computing Technology. I participated in the co-op program where I discovered that I greatly enjoy writing software. I am passionate about software and engineering, and I hope to be able to use my skills to make a positive impact on the world.


My Passions

I believe that in today's world we are tasked with some of the most difficult problems of any generation. I like to believe that these problems have technical solutions and that through innovation, the most difficult problems can be solved. I believe that I can make a positive impact in the world with my talent and with good software, and I am most interested in working in the following fields and solving the following problems:

  • Climate Change
  • Space Exploration
  • Sustainability
  • Robotics and Automation
  • Access to Education

My Projects

I'm currently working on several projects, including:

  • This Website: whose source code you can clone here! This website is a full blown NextJS application hosted on Vercel. It features a CI/CD pipeline, automated testing, and a small game. Originally, this application was a statically generated create-react-app hosted on GitHub pages but the React community has moved decisively towards frameworks.
  • E-Cad: An R&D project I have hoped to spin into a side business. This project is closed source, but is currently in a state where it can be demoed.
  • Syncify: Another R&D project for synchronizing datastores in a manner similar to git. Syncify is still in development and quite immature, but can be viewed here.. Syncify was a spin-off project from E-Cad.
  • Work Projects: I cannot discuss these in detail due to confidentiality. What I can say is that I have developed a platform of applications and libraries for my employer who is in the AgTech (Agricultural Technology) sector. Some of these projects involve AI, some are more traditional business apps.

Some of my past projects include:

  • A Cut time estimator: I created a web application to help sales representatives provide estimates on the cut time of a robotic CNC plasma cutter. The tool loaded the 3D part file, calculated the cuts necessary and prepared them into tool paths. Then it found an optimized ordering of tool paths, and calculated the total time.
  • Plate Nester: I developed a working 2D plate nester. A user could load a list of part files, select a piece of rectangular stock, and have the parts placed optimally inside of the stock. I developed a 2D geometry library for this, all in-house in TypeScript.
  • OAVG's Autonomous Snowplow (shown here). I mostly did some of the manufacturing and assembly work. I also helped to document the electrical and mechanical design of the robot. And I wrote some ROS code to simulate it when Covid-19 forced the competition online.
autonomous snowplow

Technologies

I'd be interested in learning anything, but these are the technologies I currently feel competent with.

Languages

  1. TypeScript (JavaScript)
  2. Python
  3. C#/.NET
  4. Java
  5. SQL
  6. Rust
  7. C/C++

Libraries and Frameworks

  • NextJS (React)
  • Tailwind CSS
  • Fastify
  • NestJS
  • Flask
  • SQLAlchemy
  • Express

Tools

  • Git
  • VSCode
  • Visual Studio
  • IntelliJ IDEA
  • Kubernetes and Docker
  • Azure Devops (CI/CD)
  • Azure Cloud

Other

  • Automated Testing (Jest)
  • GitHub
  • REST APIs
  • SQL (MySQL and PostgreSQL)
  • Build Tools like Vite, TSUP, Webpack, ESBuild