Matthew Whitney

Software Developer

About Me 🔍

I am a recent college graduate with a B.S. in Computer Science, looking for work as a software developer or engineer. My primary language is Java, but I have experience in a number of others, including JavaScript, Python, and even a little C++.

I am excited to demonstrate my abilities, providing my full attention and maximum effort. My extensive experience with a wide range of technologies and applications allows me to quickly master new concepts, and I eagerly seek opportunities to deepen my expertise. This passion for technology drives me to improve and innovate, no matter the scale.

Timeline

The Beginning

My interest in technology began at a very young age with typing on a computer. I was amazed that my teacher was able to enter students' names without even looking at the keyboard or monitor. During typing classes, I would aim to complete the lessons as fast as possible and improve my speed.

In middle school, each student got a laptop. I was able to continue improving my typing speed, but most importantly, I got to learn a lot about Windows machines and technology in general. I would offer my help to any student having issues with their device. I fixed minor issues with printers, projectors, and other devices around the school. I also got my first experience with programming by making a Minecraft mod in Java through an online course.

Early High School, Early Programming

My high school had a similar take-home device policy with Microsoft Surface tablets. After receiving the device, and before the start of freshman year, I decided to install the Eclipse IDE and continue my programming journey.

I started from scratch with the classic "Hello World!" program. After experimentation with basic text apps, I started working with Java Swing, which allowed me to build GUI applications. The idea that I could build an application and share it with anyone via a single file was incredibly exciting.

I made many simple GUI applications, such as a Soundboard and a Rock Paper Scissors game. The Soundboard application interested me, but I wanted it to be user customizable. This led to the creation of WaveBoard. The name was a split inspiration between "Soundboard" and the Waveform Audio File Format (WAV), which was the preferred format of the user-determined sound files. Each sound could be named corresponding to a key on the keyboard. When the user pressed that key within WaveBoard, the audio file would play. For version 2, I implemented an audio visualizer, and the user could set the app to be an always-on-top window.

High School: Final Years

In Junior year, I took AP Computer Science, later scoring a 5/5 on the AP exam. I was given a structured view of the Java language, which helped me refine my style and consistently apply object-oriented programming (OOP) principles throughout my code.

With a greater understanding of programming and the Java language, I was driven to create more complex projects. That year, I created OSEffects, an application to add audio and visual effects to mouse clicks and keyboard presses. The app shipped with built-in effects, but the user could add their own and configure them in the settings.

Near the end of Junior year and throughout Senior year, I worked on a much bigger project: A 2D, timed survival game using playable shapes with varying abilities and traits. I called it Shapescape, a combination of the words "shape" and "escape." The game was built without a third-party engine, using native Java Graphics2D and Swing. It never reached completion, despite having playable development builds, but it taught me a lot.

Throughout the rest of high school, while working on Shapescape, I created even more applications, including an English/Binary converter and a text-to-speech application.

Project O.N.E.

After graduating from high school, I knew I wanted to save money and stay at home. We lived in an old house, which meant many things that would be common today were missing. This included door locks. Living with a big family teaches you many things, including the importance of securing important belongings, or they will be inexplicably "missing!" I figured I could just buy a regular lock for the door, but then I had an idea. What if, instead of buying a lock, I created a lock? What if it didn't require a key or passcode, but simply used my fingerprint? Ideas kept coming, and I had a vision for how to execute it. I was far beyond just solving my original problem. I saw an opportunity to learn and make something great. After writing down tons of ideas and doing extensive planning, I began ordering parts and creating the project.

It continued to evolve throughout development, but my preparation paid off immensely. Developing Project O.N.E. required learning new skills in order to execute efficiently, with safety always in mind. It gave me a chance to learn more about hardware, while interfacing it with my software.

The system has been fully deployed since March of 2023 and has been incredibly reliable. I have written down around 10,000+ words of ideas, bugs, updates, and more — and that's not including any code. Documentation was extensive, including hours of video footage, keeping me on track even through busy periods of work and school. You want to see this for yourself; check out the project page!

PiPAA (Picture-in-Picture Anything Anywhere)

I missed working on something significant in my spare time. I had various small endeavors, but none of them were substantial. Eager to use what I had learned from Project O.N.E. and fresh with inspiration, I started working on PiPAA. The idea came after frustration with the picture-in-picture features built into most browsers. They only work on some sites, with certain media, and they have a fraction of the features compared to typical media players. Regular media players work, but they have rough support for web media and rarely offer an always-on-top mode for multitasking. I saw a vision for something which does both.

Rather than reinvent the wheel, I used the open-source library powering one of the most popular media players, VLC. PiPAA can load media from your computer, or from a web source. It's as simple as drag/dropping or copy/pasting onto a window and the application handles the rest. These windows remain always-on-top, and they can be moved and resized with ease. Most importantly, they maintain typical media player functionality and controls. You don't have to sacrifice this like you would in other picture-in-picture windows.

PiPAA is my most recent, and current, project. It is still being developed. This is where I am dedicating much of my personal programming time. I have many big improvements catalogued, planned, and in-progress!

Take a look at my Projects!

Built using the open-source Webstudio builder.