Motivation
As a full-stack developer, I wanted to challenge myself by
building not just practice apps, but a
real-time, API-driven project that
reflects the complexity of modern music platforms.
As a daily music listener, I also wanted the user interface to
match my personal preferences — clean, modern, and intuitive.
That’s how Gravitar came to life: a
personal project aimed at strengthening my understanding of
full-stack architecture and
integrating external services like
Spotify.
My goal wasn’t to create a clone, but rather to
design a familiar yet refreshing music experience. Through this, I honed my skills in ReactJS, Tailwind, Spring
Boot, and tackled real-world problems like authentication,
caching, and third-party API integration.
My Role
I was the sole developer and designer, responsible for both
frontend and backend implementation:
Frontend:
- Built the entire frontend with ReactJS and Tailwind CSS
- Integrated with Spotify Web Playback SDK for real-time audio streaming
- Designed and implemented UI components for playlists, queue, player, and modals
- Responsive and accessible layout optimized for music navigation
- Developed RESTful APIs with Spring Boot for user management and session handling
- Implemented JWT-based authentication with Spring Security
- Connected with Spotify OAuth for login and playback authorization
- Used caching mechanisms to minimize API requests and optimize performance