Experience
Spotify oAuth
Express, EJS, Spotify API/oAuth, Axios, Cookies
Implemented Spotify oAuth authentication to fetch user data and generate personalized playlists, exploring backend development for the first time.
Overview
A personal project during my Minor in Web Design & Development, focused on building a Spotify oAuth workflow to authenticate users, retrieve their top songs, and generate personalized recommendations served as playlists.
Project snapshot
- My role: Full-stack developer (Personal project / Minor)
- Team: Individual project
- Type: Educational / Personal project
- Stack: Express, EJS, Spotify API/oAuth, Axios, Cookies
The challenge
This project was my first real exposure to server-side development. Handling multiple API calls, managing user authentication securely, and working with large datasets of songs and playlists presented significant challenges. The flow needed to authenticate a user, fetch their top songs, generate recommendations, and create a playlist without losing data integrity.
The solution
I built an Express backend using EJS for templating, integrated Spotify’s oAuth API to handle authentication, used axios for API calls, and managed sessions with cookie-parser and dotenv for environment variables. The system fetched user top tracks, calculated recommendations, and served a playlist back to the user, all while maintaining a seamless user experience.
My contributions
- Implemented Spotify oAuth authentication flow and session management
- Fetched and processed user data from Spotify API to generate recommendations
- Designed backend routes and templated frontend using EJS
- Managed environment variables, cookies, and API rate limits
- Explored backend data handling and asynchronous programming in Node.js
Challenges & learnings
This project gave me my first practical experience with backend development. I learned about authentication flows, API integration, session management, and how to structure server-side code for clarity and reliability. It also reinforced my passion for working with both frontend and backend data.
Outcome
I successfully built a fully functioning Spotify oAuth system that authenticated users, fetched their music data, and served personalized playlists. The project taught me valuable backend skills and awakened my curiosity about full-stack development.
