William Doyle

Software Engineer

William Doyle

Hello! my name is William Doyle, I graduated from Worcester Polytechnic Insititute with a bachelor's in computer science. I have a strong background in C++, C#, .NET, and Python. I have a passion for backend software development, low level system programming and machine learning.

Experience

Software Engineer Intern

Shoptaki
  • Responsible for implementing Shoptaki's natural language solution for querying internal relational databases backend for website.
  • Researched natural language models (commercial and open source) and selected models for deployment.
  • Cleaned and Preprocessed WikiSQL training dataset in Python and Pandas for model training, ensuring high-quality and accurate datasets for analysis.
  • Trained and tested encoder-decoder models and compared overall performance/accuracy using TensorFlow on Google Collab.
  • Led team organization and project structuring using Agile methodologies, coordinating tasks and ensuring timely delivery of project objectives.

Projects

Memory Allocator

Custom Memory Allocator in C++

Built a custom memory allocator class in C++ using the windows memory api and implemented a malloc(), free(), and multiple memory allocation strategies. Additionally, I have a series of benchmarks to measure different strategies performance on time for allocation and deallocation, and fragmentation

Mositure Sensor

ESP32 Plant Monitoring System

This projects used an ESP32 microcontrollers to monitor moisture levels in realtime and displays the live feed to a website for easy access. The sensor collects data in intervals and transmits it wirelessly to a realtime database on Google firebase. The data is then fetched by a seperate website hosted on github pages to display the live data. This allows for more convenient monitoring of plants.

Future plans would involve using a database to store intervals of sensor data over a series of time that could then be used for analysis later on. I would also like to add a temperature sensor to capture temperature data as well.

Live Data Website
Project 1

Financial Literacy and Budgeting App

This project was for my major capstone in which me and another person, in 7 weeks, had to build a financial Literacy and budgeting app for a company sponsor through WPI.

The application had a host of features including: secure authentication using proper salt and pepper hashing, a page for tracking budgets among different categories, connecting to the user bank account using the stripe api and allowing all e-transactions to be sorted into there appropriate user budget category, detailed spending analysis on each budget category, a chat bot using OpenAI API that was pre prompted on user financial data so that it was able to provided personalized financial advice to the user and more.

Unfortunately due to the app being the property of the company, the repository for the project is private.

Project 3

Acadia Sound Analysis Project

For my school's Interactive Qualifying Project(IQP) I along with a team of 4 other students were tasked with studying noise pollution in acadia national park. For this project my team and I collected sound data along different acoustic zones in the park and then analyzed this data to determine the rates of noise pollution by nmanually identiying the different sound clips that contained artificial noise.

Additionally for this project I was tasked with implementing a machine learning solution for automatically identifying the rates of noise pollution by providing a value to each noise clip which reflected whether the clip contained natural or unnatural noise.

To do this I had to collect manually pre-labelled sound data along with a starting data set containing 50 different sound that were labeled as either natural or unnatural. I then preprocessed the collected data by converting wav files into spectrograms which were images that showed the frequency over time. A conolutional neural network is then trained to determine whethere the spectrogram image represent natural or unnatural sounds

With the limited time I had to work on this I managed to achieve a 92% accuracy for identify sounds from the park as natural or unnatural.