Syna is a social music web application where users can log in using their Spotify accounts and find their best matches based on shared music preferences. The app is designed to connect music enthusiasts and create a community centered around their love for music.
Syna connects people through their love of music. By analyzing your Spotify listening habits, the app uses a sophisticated cosine similarity algorithm to match you with users who share your musical taste. Whether you're looking to discover new music, find friends with similar tastes, or simply explore your own listening patterns, Syna creates a space where music becomes the universal language that brings people together.
Syna is live and available for anyone to use! Connect with others through your music taste today.
- Website: Syna
- Hosting: PythonAnywhere
Note: We have submitted a request to Spotify on April 16, 2025, for a quota extension to support more users. Our application is currently in the first version, and we are actively working on improvements based on user feedback.
Syna offers a seamless user experience with a clean, modern interface powered by Tailwind CSS:
- Spotify Integration: Securely log in with your Spotify account to share your music preferences
- Smart Matching Algorithm: Find your best matches using cosine similarity based on music preferences
- Personalized User Profiles: View detailed profiles showing top artists and tracks
- Top Charts: Explore your personal top tracks and artists based on your Spotify listening history
- User Discovery: Browse profiles of other users with similar music taste
- Clean, Responsive UI: Enjoy a beautiful interface built with Tailwind CSS that works on any device
- Frontend: HTML with Tailwind CSS for a responsive, modern user interface
- Backend: Flask to handle backend logic and API integration
- Authentication: Spotify OAuth 2.0 for secure user authentication
- Database: SQLite for efficient data storage and retrieval
- Algorithm: Cosine Similarity for intelligent user matching based on music preferences
- Design: Custom color palette and typography inspired by music platforms
- Hosting: Deployed on PythonAnywhere for reliable access
- Connect: Log in with your Spotify account
- Analyze: Our algorithm analyzes your music preferences
- Match: Find users with similar music taste
- Explore: Discover new music through your matches
- Connect: Build relationships based on shared music interests
- Primary Font: Montserrat for headings and titles
- Secondary Font: Poppins for body text and UI elements
| Color Name | Hex Code | RGB Values | Usage |
|---|---|---|---|
| Bluish Accent | #1d419d |
rgb(29, 65, 157) |
Primary brand color: buttons, icons, highlights |
| Dark Gray | #212121 |
rgb(33, 33, 33) |
Backgrounds and dark UI elements |
| Black | #121212 |
rgb(18, 18, 18) |
App background for dark theme |
| Medium Gray | #535353 |
rgb(83, 83, 83) |
Secondary text or inactive elements |
| Light Gray | #b3b3b3 |
rgb(179, 179, 179) |
Placeholder text or subtle UI details |
- Python 3.8 or higher
- Spotify Developer Account
- Git
-
Clone the repository:
git clone https://github.com/Rexaintreal/Syna.git cd Syna -
Set up a Python virtual environment:
python -m venv env source env/bin/activate # On Windows: env\Scripts\activate
-
Install dependencies:
pip install -r requirements.txt
-
Set up environment variables:
- Create a
.envfile in the root directory. - Add your Spotify API credentials:
SPOTIFY_CLIENT_ID=your_client_id SPOTIFY_CLIENT_SECRET=your_client_secret SPOTIFY_REDIRECT_URI=http://localhost:5000/callback
- Create a
-
Run the application:
python app.py
-
Access the app at
http://localhost:5000.
Syna/
โโโ static/
โ โโโ assets/
โ โโโ screenshots/
โ โ โโโ [1-6].jpg
โ โโโ User flow.jpg
โ โโโ logo.png
โ
โโโ templates/
โ โโโ dashboard.html
โ โโโ feedback.html
โ โโโ login.html
โ โโโ settings.html
โ โโโ setup.html
โ โโโ top-charts.html
โ
โโโ utils/
โ โโโ [utility files]
โ
โโโ .gitignore
โโโ app.py
โโโ clean.py
โโโ requirements.txt
โโโ LICENSE
โโโ README.md
This is the first version of Syna, and we acknowledge there are opportunities for improvement. We are actively gathering user feedback to enhance the experience and fix any issues. A quota extension request has been submitted to Spotify on April 16, 2025, to support more users as we grow.
The future of Syna is exciting! Here's what's on the roadmap:
- Music Recommendations: Personalized music recommendations based on your matches
- Group Matches: Create music groups based on shared preferences
- Live Events: Notifications about concerts and events featuring your favorite artists
- Playlist Sharing: Share and collaborate on playlists with your matches
- Enhanced Analytics: More detailed insights into your music preferences and listening habits
- Performance Improvements: Optimizing the matching algorithm and user experience
Contributions are welcome! To contribute:
- Fork the repository
- Create a new branch (
git checkout -b feature/amazing-feature) - Make your changes
- Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Please ensure your code follows the project's coding standards and includes appropriate tests.
This project is licensed under the AGPL-3.0 License.
Syna was created by Rexaintreal.
You can reach out at:
- Libro Voice - A PDF to Audio Converter
- Snippet Vision - A YouTube Video Summarizer
- Weather App - A Python Weather Forecast App
- Python Screenrecorder - A Python Screen Recorder
- Typing Speed Tester - A Python Typing Speed Tester
- Movie Recommender - A Python Movie Recommender
- Password Generator - A Python Password Generator
- Object Tales - A Python Image to Story Generator
- Finance Manager - A Flask WebApp to Monitor Savings
- Codegram - A Social Media Web App for Coders
- Simple Flask Notes - A Flask Notes App
- Key5 - Python Keylogger
- Codegram2024 - A Modern Version of Codegram (Update)
- Cupid - A Dating Web App for Teenagers
- Gym Vogue - Ecommerce Site for Gym Freaks
- Confessions - Anonymous confession platform







