Here are some projects that I have worked on. Check out my GitHub to see my most recent work.
#personal
For my most recent project I decided to learn more about Flutter by creating an app that shows the conditions outside and information about the sun an moon. The app takes a location and then gets the current conditions at that location from Dark Sky, the sun data from Sunrise Sunset and moon data from HERE's Astronomy API. One of the reasons I decided to create this app was because it's surprisingly hard to find when dusk is, everywhere just has sunset. Even though it's pretty basic and still a work in progress, it is a quick and easy way to see what it's like outside.
#personal
This project is the one that I am most proud of so far. The main feature of this web application is displaying information about tracks using the SoundCloud® API. Users can also save tracks to their account to view and listen to later. I created this project because the SoundCloud iOS app does not allow you to see track descriptions which often contain useful links and info. I actually use this application regularly to keep track of songs on SoundCloud and view their descriptions. While working on this project, I learned a lot about AngularJS, user authentication, databases, and so many more things.
A few summers ago I completely rewrote the front-end code to switch from Angular 1.x to Vue.js using Vue single file components.
#pitt
This is the final project for my capstone web programming class at Pitt (INFSCI 1059). It's an online store that sells prints that you can put in your dorm, apartment or house. It has a main store page, item pages, favoriting, cart functionality, order history, and an admin panel, so it's basically a fully functional online store. The only thing missing is payment processing, and that it doesn't actually ship any products. I had a lot of fun making this store and adding all of these different features to make it something that could actually be used. It's mostly written in PHP because that's what the class required us to use, with some Vue.js and vanilla JavaScript to make it more interactive. If you want to read more about it, check out the README for the GitHub project using the button below.
I also created a simple companion app using Flutter to learn more about mobile app development and because Flutter seemed interesting.
#pitt
As part of a class I am taking this semester called Projects in Digital Composition I have been experimenting with data visualization. I created a few different pages telling a story using data and using multiple visualization techniques to make the data more meaningful and easier to understand. It is interesting to use my web development skills a little differently to figure out the best way to represent a dataset and communicate what it means.
#pitt
This is a Chrome extension I created to make the creation and filling out of support tickets faster and easier for student technical consultants at the University of Pittsburgh. While working as a student tech con I found that making support tickets was a very repetitive process with many of the fields being the same for most tickets created. This extension fills these fields with the most common values with 1 click and also makes searching for a person by their username a 1 click process instead of 4.
While initially, I created this extension to make my own job easier, it is now used by most of my coworkers and I even adapted it so that workers at the 24/7 help desk can use it to make their job easier as well. Over the summer I added a feature to make New Computer Setup tickets much faster to make because we set up many computers over the first few weeks of the semester for new students. I am also considering allowing users to make their own macros or customize the built-in ones to really speed up ticket making and make it more customizable.
While anyone can download the extension via the link below, it will only activate and work when logged into the system Pitt uses for support tickets (Salesforce). Feel free to check out the code though.
#pitt
I was the outreach coordinator for Pitt Secular Allinace for 2 years and as part of my responsibilites, I created a website for the club. It has some basic information about our club, a list of upcoming events that automatically updates from our Google Calendar, and some ways to contact us for more information.
#pitt
This site was my midterm project for my User-Centered Design class where we had to make a website for a fictional business called Waggin' Wagon Pet Boarding. Since it was just a class project, not all the links are real. Also, not everything is responsive for different screen sizes (although most is) because that was not a requirement of the project and we were not allowed to use Bootstrap.
#boyscouts
For my Eagle Scout project I created a virtual tour of a cemetery with graves dating back to the 1700s. I, with the help of some volunteers, took pictures of all of 600+ tombstones and uploaded them along with a typed version of the inscription that was on the stone. Many of the stones were so old that it was difficult or impossible to read the inscription and I had to rely on a book of the inscriptions and a map to try to match them up. I think that this project will help preserve the history that the cemetery contains and maybe allow people to see the graves of family members.
#personal
I decided to make this personal website and I learned many things in the process. I learned more about HTML and CSS, of course, but also DNS, Jekyll, Bootstrap, domains, and web hosting to name a few. If you want to see what I used to make this site and what I learned, click the button below.
This page specifically gave me an opportunity to use CSS Grid to design a visually interesting projects page. My old projects page was mostly text with a very plain layout. I got the inspiration to learn CSS Grid from watching videos by Jen Simmons on the Layout Land channel and looking at the examples on her labs site. She really made me rethink what the web can look like and convinced me to start exploring more interesting layout options like this one.