Windows XP Portfolio Edition
Welcome to Matthew's Portfolio

Welcome!

Matthew Alunni - Software Engineer

Welcome to my interactive Windows XP-themed portfolio! Feel free to explore and learn more about my work and experience.

💡 Tip: For the best experience, view this site in a full screen desktop window.

How to Navigate

  • Desktop Icons: Double-click to open windows
  • Windows: Drag title bars to move, use buttons to minimize/maximize/close
  • Taskbar: Click buttons to switch between windows
  • Start Menu: Click "start" for quick navigation

Quick Links

| |

Experienced developer, designer, and creator. Remotely from Canada.

About - Notepad
Matthew Alunni

Matthew Alunni

Software Engineer

Canada

Background

I'm a software engineer with a passion for learning and building things. I have completed a Bachelor of Computer Science and Business, and I am a Master of Engineering Design graduate from McMaster University, where I specialized in Design Thinking, IoT, Human-Centered Design, Robotics and Automation, Mobile Application Development, and more. I have work experience in IT, cybersecurity, and full-stack software development.

Experience

Software Engineer - PostGrid

Jan 2025 - Present

  • Designed, built, and scaled end-to-end product features using the MERN stack, AWS services, and Docker - covering data models, API layers, and UI workflows for mail campaign dashboards and automation tooling.
  • Developed high-reliability integrations with external APIs, strengthening platform extensibility and improving customer onboarding and throughput.
  • Collaborated cross-functionally with Sales and Customer Success to align technical priorities with enterprise customer requirements and roadmap impact.
  • Designed and engineered a white-labelling system with brand-aware layout, theming, and UX consistency, allowing PostGrid customers to resell the PostGrid product.
  • Architected, implemented, and delivered an end-to-end mail campaign dashboard enabling users to bulk send letters, postcards, and cheques at scale.

Software Developer - Montrium

Jan 2023 - Jan 2025

  • Designed and implemented user and identity management capabilities for the Montrium SaaS platform using Azure AD, .NET Core, and React (TypeScript), significantly reducing identity-related support requests.
  • Built features following a robust automated testing framework with Jest and Storybook, reducing test cycle time while maintaining 80% coverage across critical workflows.
  • Delivered full-stack product features using C#, .NET Core, React, and TypeScript, including the implementation of a scalable Material-UI design system that improved UI consistency and maintainability.
  • Drove feature delivery from concept to deployment using Figma for product design and UX planning, ensuring cohesive end-to-end execution aligned with user-centric design principles.

Senior Software Developer - KPMG (Contract)

Sept 2022 - Dec 2022

  • Insurance and Benefits Portal: Collaborated with project managers to develop full-stack features using React (TypeScript), Express.js, and Azure, contributing to the design, development, and deployment of the portal.
  • NLP Automation: Built Python-based pipelines using Pandas, NLTK, and Spacy to automate document review processes, enabling scalable data processing and improving operational efficiency.
  • Desktop Application Development: Developed a custom Python desktop GUI with Kivy and PyInstaller, integrating Power BI reports and user data, ensuring seamless interaction between front-end interfaces and backend systems.

Software Developer - Deloitte (Contract)

Jan 2022 - Sept 2022

  • Ad Portal: Developed a full-featured single-page application using NextJS and TypeScript, adding ad revenue capabilities to Loblaws e-commerce stores.
  • Automation: Built and maintained GitLab CI/CD pipelines for automated linting, testing, building, and deployment, streamlining development workflows.
  • User Interface: Created reusable React and Material UI components, integrating frontend elements with backend logic for cohesive functionality.
  • Code Reviews: Led and participated in code reviews, ensuring code quality, maintainability, and alignment with project requirements.

Software Developer - RBC

Aug 2019 - Aug 2021

  • Ticketing Kanban: Built Python/Django web applications with SQL Server, creating a cybersecurity ticketing system for efficient work management.
  • Automation: Developed RESTful APIs to automate business processes, increasing team efficiency and reducing manual workloads.
  • Dashboards: Designed and implemented front-end dashboards using React, Bootstrap, and Axios, visualizing tickets, stats, and metrics from backend data.
  • Desktop Automation: Crafted standalone C# desktop applications to streamline project intake, integrating seamlessly with existing systems.
  • User Interface: Maintained and extended web applications with React, ensuring feature completeness, performance, and code quality.

Education

Master of Engineering Design — Product Design
McMaster University — GPA: 4.00
Coursework: Neural Networks, Machine Learning, IoT, Rapid Prototyping, Advanced Robotics

Bachelor of Computing and Business
Brock University
Coursework: Data Structures, Algorithms, Databases, AI, OOP, Software Engineering

Skills

JavaScript TypeScript Python C# React Node.js .NET Core AWS Azure Docker MongoDB PostgreSQL REST APIs Git Figma
My Projects - Windows Explorer
Address
My Projects
File and Folder Tasks
Other Places
3 objects
Tower Grow - Notepad

Tower Grow

DevIoTReact Native

A 3D printed IoT desktop hydroponic garden controlled through a react native mobile application

A 3D printed IoT desktop hydroponic garden controlled through a react native mobile application

A 3D printed IoT desktop hydroponic garden controlled through a react native mobile application

Hydroponics

  • Hydroponics refers to the art of gardening without soil.
  • Hydroponics can provide a controlled environment supplied with the needed amount of oxygen, water, and nutrient rich solutions.
  • Hydroponics can be used to grow flowers, vegetables, and herbs.
Benefits of Hydroponics
  • A benefit of using hydroponics compared to traditional agriculture is that hydroponics needs 90% less water, and allows us to control how much light needed and for how long, and the pH level of the water can be monitored and adjusted based on the needed environment, which accelerates the plants growth to half the time.
  • Plants need the soil to supply them with water and nutrients, but they don’t need it to photosynthesize. Hhydroponics the allows needed nutrients to be dissolved in water and then can be applied directly to the root of the plants either by flooding, misting or immersion.
  • This helps to reduce variability in plant growth due to a controlled environment where no animals, pests or environmental conditions could affect plants growth.

Design

  • Our designed was inspired by different smart garden products, but we were aiming to provide a more durable size of a portable hydroponic garden that can be easily moved and mainly fits anywhere.
  • This product could be ideal for a kitchen, office, or basement, focusing on growing as much as we can in a small footprint.
  • This product features a modular design that can allow growth all year around in suboptimal light conditions.

Software

How It Works
  • The mobile application is written in react native, and sends text instructions to a PubNub channel based on user inputs, the deviceitself is programmed using python on a raspberry pi 4b.

Threading and Parallelism
  • Parallelism refers to performing multiple computations at the same time. The main execution splits into multiple threads, as illustrated by the image below.

  • There are two main processes (threads) at work in the program.
  • The first thread is the method handle_pubnub_message (listener, channel). This method will listen for a message on a specified PubNub channel, and then respond to it accordingly.
  • The second thread is called handle_schedule(). This handles the scheduling feature by checking if on/off times are set. Following this, if the current time is equal to the specified on/off time, the program will output the correct action, either turning off the led lights, or turning on the led lights.
  • Pseudocode follows: If (current time == ON_TIME): turn on led lights

Hardware

Components
ep099pipumpled strip
EP-0099 4 Channel Relay HATRaspberry Pi 4B5V USB Water PumpLED Strip
Schematic

Final Design

Future Considerations

PH SensorUltrasonic Sensor
A PH sensor can be implemented for PH value detection and to control and monitor the needed PH value for the plants.An ultrasonic sensor can be used to detect how much water is in the reservoir and how much water is needed. This information can be used to help the user calculate the quantity of nutrients to be added to the solution.

See More

Neovim Configuration - Notepad

Neovim Configuration

Dev ToolsDeveloper Experience

My personal nvim configuration

My personal nvim configuration

My personal nvim configuration.

Neovim Configuration

A comprehensive Neovim configuration with lazy.nvim plugin manager, featuring LSP support, code completion, formatting, linting, and various productivity plugins.

Features

  • LSP Support: Lua, Python, TypeScript/JavaScript, and Go with mason.nvim
  • Code Completion: nvim-cmp with LSP and snippet integration
  • Formatting: conform.nvim for code formatting
  • Linting: nvim-lint for code quality checks
  • Syntax Highlighting: Treesitter for advanced syntax parsing
  • UI Enhancements: Bufferline, lualine statusline, themery theme switcher
  • Productivity: Flash motion, which-key keybinding helper, undo tree
  • Git Integration: Gitsigns, fugitive, diffview
  • AI Assistance: GitHub Copilot integration

Installation

  1. Clone this repository to your Neovim config directory:

    git clone <repository-url> ~/.config/nvim
  2. Launch Neovim to install plugins automatically via lazy.nvim

  3. Run :MasonInstall to install LSP servers as needed

Keybindings

  • Leader key: <Space>
  • File explorer: <Space>e (Oil)
  • Git status: <Space>gs (Fugitive)
  • Search and replace: <Space>sr (Grug-far)
  • Keybindings help: <Space>? (Which-key)

See More

Dotfiles - Notepad

Dotfiles

Dev ToolsDeveloper Experience

Personal dotfiles managed with chezmoi

Personal dotfiles managed with chezmoi

A minimalistic set of dotfiles that everyone can use. Works out of the box.

Dotfiles

Personal dotfiles managed with chezmoi.

Quick Start

# Apply changes from this repo to your home directory
chezmoi apply

# Edit a dotfile (e.g., .zshrc)
chezmoi edit ~/.zshrc

# See what would change (dry run)
chezmoi diff

# Apply changes after editing
chezmoi apply

Workflow

Adding New Files
# Add a file to chezmoi
chezmoi add ~/.config/newfile

# Edit it
chezmoi edit ~/.config/newfile

# Apply changes
chezmoi apply
Making Changes
# Edit files directly in chezmoi source directory
cd ~/.local/share/chezmoi
nvim dot_zshrc

# Use chezmoi edit command if necessary
chezmoi edit ~/.zshrc

# Preview changes
chezmoi diff

# Apply to home directory
chezmoi apply

# Commit changes as normal
git add .
git commit -m "Update zsh config"
git push
Syncing to Another Machine
# Pull latest changes
cd ~/.local/share/chezmoi
git pull

# Apply to home directory
chezmoi apply

File Naming

Chezmoi uses prefixes to determine how files are managed:

  • dot_ → . (e.g., dot_zshrc → ~/.zshrc)
  • executable_ → makes file executable
  • private_ → sets permissions to 600

What’s Included

  • Alacritty: Terminal emulator config
  • Neovim: Editor setup (bob version manager)
  • Zsh: Shell configuration with zinit, starship, fzf, zoxide
  • Starship: Shell prompt theme
  • Lazygit: Git TUI configuration
  • Tmux: Tmux configuration

See More

Contact - Outlook Express

Get in Touch

I'd love to hear from you!

Have a question, want to work together, or just want to say hi? Feel free to reach out through any of the following channels:

matthew.alunni@gmail.com github.com/matthewalunni linkedin.com/in/matthewalunni
Send Email
Matthew
--:--