William Anderson

Software Portfolio

2025

College Capstone Project

A warehouse monitoring system built with a microservices architecture. Python backend services interact with a Vue.js front end to monitor the warehouse environment.

Login

Firebase login setup for secure entry. Deployed with Vercel.

Login image 1

Simulator

Control the MQTT output from python Eclipse Paho sensors, another python subscriber stores this data in InfluxDB.

Simulator image 1

3D Scene

View the warehouse sensors in real-time. View inventory data synced with Odoo.

3D Scene image 1

Admin

Controls the alert thresholds for environmental sensors.

Admin image 1

Dashboard

Grafana integrated dashboard view with a Admin thresholds automatically updated.

Dashboard image 1

Report

Produces PDF/CSV/EXCEL report files for sensor data over a specified time.

Report image 1

Programmers

William Anderson, Yujung Park, Amel Korandippillil, Aryan Pramod Passi, Salma Rageh

Running Stats Viewer

A web application built with Next.js to communicate with the Strava API and display athlete statistics.

Login Screen

Each user has to login to the app using their strava account.

Login Screen image 1

Data Authorization

The app needs to be authorized by the user to read their activity data.

Data Authorization image 1

Home Screen

A few recent speed and heart rate stats as the home screen.

Home Screen image 1

Activities View

The user can look through basic details of all their activities.

Activities View image 1

Best Efforts View

The fastest runs can be viewed under each km distance.

Best Efforts View image 1

Programmers

William Anderson, Yujin Jeong, Vincent Marshall

2024

Chess Bot

A Chess bot application built in Unity with C# where you play against the bot.

Chess Board GUI

A classic chessboard GUI that is easy to interact with.

Chess Board GUI image 1

Chess Rules Enforced

The bot obeys it's own valid moves and the UI shows the player their possible moves for any selected piece.

Chess Rules Enforced image 1

Good First Moves

First moves are sensible and easy to make for the bot. Mid and late game are in development.

Good First Moves image 1

Programmers

William Anderson

2023

Android Trip Planner

Called the Great Canadian Trip Planner, this Java android app allows the user to book flights to Canadian cities.

View Trips and Write Notes

The user lands on the home screen to see all of their planned trips. They are able to add notes and an itinerary to each trip.

View Trips and Write Notes image 1
View Trips and Write Notes image 2

Planning the Trip

To book a new trip the user selects the flight from pre-loaded cities, selects the date, and details about their trip.

Planning the Trip image 1
Planning the Trip image 2

Trip Summary and Booking Confirmation

The user gets a chance to review the trip created, price, agree to terms, and confirm booking.

Trip Summary and Booking Confirmation image 1
Trip Summary and Booking Confirmation image 2

Calendar Access and Notifications

If accepted, the application can record these trips in your calendar and send you notifications regarding them.

Calendar Access and Notifications image 1
Calendar Access and Notifications image 2

Programmers

William Anderson, Jennifer Fritz, Addison Phillips

Chat-System

A Linux system programming project to build a chat server written in ANSI C.

Project Makefiles

Modular Makefiles automate the build process for each component for an easy system-wide clean and make process.

Project Makefiles image 1

Chat Client

A terminal-based UI displays messages to the user and allows the user to participate in the chat.

Chat Client image 1

Chat System

Up to 10 clients are supported on a multi-threaded server with a graceful disconnect process.

Chat System image 1

Programmers

William Anderson, Jesse Rutledge

Circular-Buffer Histogram

A Linux system programming project written in ANSI C. Two data producers write random letters (with two separate methodologies) to shared memory and a data reader displays a histogram in the terminal.

Project Makefiles

Makefiles for each of the two producers, reader, and common.

Project Makefiles image 1

Semaphore and Shared Memory

A Semaphore access between the producers to the circular buffer in shared memory

Semaphore and Shared Memory image 1

Histogram

Every 10 seconds the count for each letter written is summed and displayed.

Histogram image 1

Programmers

William Anderson, Addison Phillips