Personal Projects
These are some personal projects I have been working on to learn more about different libraries and browser APIs.
I like trying out “the last new thing” in a small project and publish it on my GitHub account, both as a personal reminder of what I did, and to help people looking for examples.
Music/Audio Projects
- Spotify TopFind your most listened songs, artists, and genres on Spotify. I built this project to start using cloud databases and familiarise myself with Next.js' different rendering strategies. Built using Next.js and NHost for the database.
- Spotify DedupA simple tool to remove duplicated tracks from a user's Spotify playlists. I did this to play with knockout and handling lots of async operations using promises, later moved to Next.js.
- Spotify Dedup (mobile)A mobile application to find and remove duplicated tracks from your Spotify library. I did this to get started building apps with React Native and Expo.
- BPMCalculating the BPM of a song using Javascript. I did this to play with the Web Audio API and show a useful example of using the Spotify Web API.
- KaraokeAn exploration of audio manipulation using browser libraries to remove voices from songs. I did this to play with the Web Audio API... and to realise I'm not very good at singing.
- iQuizA fun quiz game about your saved Spotify playlists. Do you really know about your saved music). I did this to play with the Web Audio API and Speech Synthesis API.
- C - SpotifyA collaborative listening room using Spotify. This project uses Spotify's APIs to log users in, search tracks and play them on any device through Connect. It was also an excuse to try out Next.JS.
Other projects not related with music
- BicielxA PWA to show the list of bike rental stations in Elche, Spain. I did this to try out mapbox and Next.js' PWA plugin.
- AbrevioA Hemingway editor-like for text in Spanish language. Get hints as you write to improve your text readability. This project is built as a PWA with offline support. It uses React and DraftJS.
- Sync SubsA handy tool to apply an offset to a subtitle file. I did this to play with the File API, CommonJS modules (including testing), and Service Workers (offline support).
- LinkedIn to JSON ResumeAn exporter from a LinkedIn profile to JSON Résumé. I did this to play with the File API and ES6.
Spotify libraries and explorations
Some libraries to make it easier to use Spotify's Web API:
- spotify-player, a library to interact with Spotify's player endpoint, with built-in authentication and token refresh. Ideal for codepen and any simple demo.
- An exploration of using Polymer to build components for Spotify (prior to having web components widely available): a search component, a responsive cover art, and a save a playlist button.
- A basic Spotify Web Player using React and Flux
- A proof of concept of a GraphQL provider for the Spotify Web API
- A wrapper for the Spotify Web API in Javascript, and a proof of concept of a universal wrapper using ES6 and named exports to keep bundle size at a minimum.
- A visualization of most followed artists and genres in Spotify
- Extendify is a Chrome extension that adds a Spotify Play Button on Wikipedia and other pages to play music for songs, albums and artists.
Random things
Other projects made just for fun:
- A JS crusher that can be used in JS1K contest submissions.
- A promise throttle library which is useful to avoid rate limiting when using REST APIs.
- A library to convert REST API definitions from RAML to Swagger.
- A compilation of web performance tips on WPO Techniques: A list of good practices for improving website performance.