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.
Software Engineer Intern
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
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 WebsiteThis 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.
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.