Making of TrackTrade
Listening to some jazz at the end of a stressful day, work-wise, I'm sitting with my MacBook on my lap (yes, it's a 2019 Mac, so Intel, hence free heating) searching for the next idea to develop. Despite having a list of ideas I want to bring to life, I always manage to escape from it and look for something new to create, who knows why. In any case, 75% of the ideas that come to my mind always revolve around music, always.
For example:
- I would like to create a personalized music update service with a weekly frequency based on one's music genre;
- I would like to create a space to track all my records, CDs that I purchase and collect, with the ability to know the total size of my collection;
- I would like to create a space where people can collaboratively create playlists. In short, I have several ideas, all related to music.
The latest idea gave me the inspiration for 25Songs: a simple app where people can submit a song daily, and at the end of the week, the most voted songs will be part of a playlist.
The website will be free; I don’t have any payment plans in mind. Just the joy of creating.
I will use SvelteKit, Tailwind, and SvelteKit Auth (the fork of Next auth). I will rely on Firebase for the database, and I believe I won’t need anything else.
Let’s get started!
End part 0
I’m writing from my new tiny desk that I’ve placed in my room. It’s a suspended desk, small but efficient. It accommodates everything it needs to.
I haven’t done much since I wrote the first part of the article. I’ve designed an idea on paper of how 25Songs should be. The idea is to make it as simple and accessible as possible. Technically, I’ve done very little; I’ve just created the project and installed the various dependencies I need.
It often happens, though, that when I start a project and then let some time pass, it seems boring, trivial, and useless to me. I need to overcome this hurdle. We said “just for fun,” right? Also, I must remember the initial premise: an unstyled project, meaning focusing on content and functionality.
End part 1
It’s been a long time since the last time I wrote something about the progress of this project. There’s no particular reason. I’m taking a short break, so I’m spending a lot of time with my family. For a few mornings now, I’ve been waking up early, putting on my AirPods, and going for a walk. The days are beautiful, there’s a nice sun, it’s not cold, and it’s enjoyable to walk while listening to some podcasts. However, this week I sketched out a first version of the website, trying to respect what was established: simplicity and content-driven. I hope I succeeded in the endeavor. This is how 25Songs looks at the moment:
Therefore, speaking about the project’s progress, these are the things I have done this week:
- Implementation of authentication through Sveltekit Auth
- Implemented Firestore
- Implemented Discogs APIs for retrieving basic song information
- Built all the logic behind 25Songs, which includes the ability to publish only one song per day, retrieval of the current week's chart, and the ability to vote for favorite songs
The work is overall finished; however, there are still a few points remaining, which I list below:
- Display the old charts from past weeks
- Send the playlists to Spotify/Apple Music
What could I improve?
For now, I believe that's everything.
End part 2
Here I am back after a very long time. Unfortunately, I’ve been going through (and still am) an unpleasant period in my main job. In fact, I’ve been asked to work beyond the regular 8 hours due to poor organization and the mindset of some companies.
Anyway, in the small pockets of time, I’ve been working on my first tiny project. First off, I decided to change the name from 25Songs to TrackTrade and tweaked the basic functionality a bit. 25Songs aimed to display only the top 25 voted songs of the week, and users could submit only one song per week. Now, there’s the option to submit one song per day to contribute to the exchange and discovery of new songs. The voting functionality for preferred songs remains, and there will also be a summary of each week’s “soundtracks.
To be honest, the project initially seemed more charming and fun to develop, but it didn’t turn out that way. I chose to embark on this new adventure with a small project (they’ll all be tiny projects), simple and not too ambitious. However, I ended up getting bored while completing it.
Another small change is the logo. I tried to maintain the concept of an unstyled project as much as possible.
Conclusions
I’ve reached the end of this tiny project, and I can say that I tried my best to keep the project as simple and unstyled as possible, focusing on functionality. However, these functionalities gave me a hard time. By not focusing on the visual aspect, I concentrated on writing the core of the project, losing sight of the concept of minimalism. After all, the user doesn’t know how I implemented a code-side functionality; I need to improve on this. With TrackTrade, I don’t intend to monetize; it wouldn’t make sense. Still, I’ve been able to work on some concepts I hadn’t worked on before, such as user voting management or attention to the database. I hope it can be fun for someone to share their daily songs to fuel everyone’s hunger for music!
If, in the remote chance, you find yourself using this little app and want to add features or report any bugs, you can do so through my X account.