RepLiszt: Part 1
Since I finished my CS degree this past spring, I have been torn on whether I should be spending my free time doing portfolio projects and “grinding leetcode” in the off-chance I can actually get an interview in this (non-)hiring market or if I should just work on learning and making cool things that I find interesting. Immediately upon graduating, I started doing a complete rewrite of my capstone project in order to keep the frontend consistent (I was the backend lead with a co-lead for the frontend) and to improve on the project that was turned in (read: it was a team project where almost all other members, co-lead included, just copy/pasted code from ChatGPT that did not work, was not aware of any context of the project, and certainly did not meet any of the requirements I wrote in the initial project requirements nor in the GitHub issues I assigned to team members…).
At a recent Chicago Code & Coffee meetup, I mentioned the rewrite of the capstone project and got the (very appropriate) response of: “I’m sure you’re doing good work on that project, but if I may suggest finding something to work on that you would actually use?” This wasn’t the first time I had heard this advice, but I just hadn’t had any strong ideas of what to build for myself to use. Generally speaking, I try to avoid bringing technology into the practice room (Obviously, things like music engraving in Finale or editing recordings are done on the computer, but I don’t consider either of these as “practicing”).
Fast forward to this morning — the day after a holiday. My favorite thing to do during any holiday is to take advantage of the time that most people spend with their families to spend time with my instrument. As I was mentally preparing for what I wanted to work on, I lamented my personal struggle with keeping track of how long it has been since I reviewed pieces in my repertoire. After considering keeping a spreadsheet including a “date last reviewed” column, I realized that doing so would be sort of clunky and would end up being a bit of a distraction to use. If there was an interface that did just a repertoire list with a date last practiced, it might be useful to more people than just me!
Some features I’d like to implement include:
- The ability for users to create multiple lists (In my case I’ll have a Jazz tune list, and a combined solo/“classical” repertoire list)
- Ability to filter/sort on several columns including composer, year published, style, category, and of course date last reviewed.
- Create a “Suggested Review” view of the pieces with the last reviewed dates furthest from today.
- Ability to attach a PDF of the score and a long-form text field for notes or possibly “Notable Recordings”
- Export list as PDF for printing/sharing
Needless to say, I didn’t get any time in on my instrument today, but I did get a landing page and magic-link authentication working. Since my goal is to get this live and in front of my friends to get their thoughts ASAP, I’m using Supabase rather than building my own backend in Go or Spring Boot. I’m giving Tanstack Start a try because I keep hearing good things about it, and got a taste of Tanstack Query while working on the capstone project rewrite. I hope to have more updates sooner than later!