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.

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

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

Admin
Controls the alert thresholds for environmental sensors.

Dashboard
Grafana integrated dashboard view with a Admin thresholds automatically updated.

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

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.

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

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

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

Best Efforts View
The fastest runs can be viewed under each km distance.

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 Rules Enforced
The bot obeys it's own valid moves and the UI shows the player their possible moves for any selected piece.

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

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.


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.


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


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


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.

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

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

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.

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

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

Programmers
William Anderson, Addison Phillips