-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
13 changed files
with
232 additions
and
19 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
--- | ||
layout: post | ||
title: "Project #3: CodeGradr" | ||
excerpt_separator: <!--more--> | ||
--- | ||
This year, I accomplished the major milestone of actually getting a project out of a Hackathon and not giving up after the free Moe's on night two. At Hacklytics 2024, my team and I created CodeGradr - a web application using generative AI to provide feedback for routine, structured coding assignments. <!--more--> As a TA, spending four to five hours a week grading coding assignments that often have the same handful of bugs between them was becoming unbearable. However, for a student, it is really important to receive feedback and a thorough explanation of where you went wrong. Generative AI is the perfect outlet for automating this simple tasks that require mere pattern recognition. | ||
|
||
The way CodeGradr works is you upload the files containing 1) your test cases (e.g. JUnits) or even just a rubric for the assignment, and 2) the correct implementation. Then, click the "Generate Feedback" button where you will copy and paste a student's code and receive a Chat-GPT generated response. The framework comes from the fact that in large classes, every student is being judged on the same criteria. So you do the hard part of uploading your correct work first, then you can easily copy and paste student code as you go through each assignment. Chat-GPT is prompted to analyze the test cases or rubric portions the student has failed and compare against the correct implementation to provide a succinct explanation of what their mistakes were. | ||
|
||
|
||
We used an AWS EC2 instance to host the website and Flask as the web framework. Experimenting with the OpenAI API was definitely a treat! Unfortunately, we had the very bad luck of the API being down the weekend of the hackathon, so we were unable to finish and submit by the time projects were due. However, since we were excited about the project we quickly worked to finish the app as soon as it was up and running again. This was my first time developing an application entirely in Python, and I really enjoyed it. Finally, I created the entire user interface with simple CSS/HTML, and I think you'll find I have a very distinct style! | ||
|
||
Though we weren't able to submit, I still had a great time at Hacklytics and it definitely motivated me to create more small, but useful projects like Codegradr. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
--- | ||
layout: post | ||
title: "Project #4: Spotify Wrapped" | ||
excerpt_separator: <!--more--> | ||
--- | ||
In my Objects & Design course this semester, we were challenged with creating a mimic Spotify Wrapped application. Our team of seven spent 2 months following an Agile Scrum to build this application on Android Studio. <!--more--> If I'm being honest, when I heard about this assignment I was a bit scared. It was definitely the largest group and longest-term project I had ever worked on. Knowing that there had to be timely deliverables and that all of our individual components relied on each other was daunting, especially when working with strangers. However, this experience was extremely rewarding and I am truly proud of the final product. | ||
|
||
When you enter the application, you are prompted to log in. Our app uses Firebase to host a database of user account information. You can create a new account, delete that account, and go to your profile to view your past wrapped summaries. Once you've logged in to our app, you'll be redirected to log in to Spotify itself. From there, we get an access token to your account that we can use as our Spotify API key. | ||
|
||
Once you've logged in, you can begin viewing your wrapped summaries. All information is taken from a short term, recent time period. Your wrapped summaries from today may be much different from what they are next week. The first page is a summary of your top playlists, the second is of your top genres, and the final is of your top songs and artists. The final screen displays a succinct graphic encompassing all of this information which you can download to your device. | ||
|
||
You'll notice that you are prompted to play a game. The game we created is a word search made of songs from the playlist of your choosing. You can even choose a difficulty level on a scale of 1 to 3! | ||
|
||
Building this entire application in Java on Android Studio was incredibly annoying, but me and the two other developers on my team rose to the challenge. Since running your app on Android Studio is incredibly time consuming and battery expensive, I learned a lot about making small, but significant changes to code. In general, I think my test and debug skills grew incredibly. Some aspects of our code that I'm proud of is the API Helper we created to easily extract information from the Spotify API and return it in a usable manner. This modularity allowed other members of the team who weren't familiar with using APIs to still contribute to the code and make a substantial impact. In the same vein, I learned how to handle merge conflicts on Git and I will never start working on a collaborative project without pulling from the remote repo ever again. | ||
|
||
Finally, one aspect of this project I enjoyed was the creativity I got to express on the design front. It's got a little of my signature rounded buttons and such, but I did try to mimic the actual bold colors and fonts of the 2023 Spotify Wrapped and I think I was pretty successful! The project is up on my GitHub and I encourage anyone to take a look at the demo. Feel free to use our API Helper for your own applications, too. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.