SpotifyPay
SpotifyPay Link to heading
Automated Cost Splitting for Spotify Family Subscriptions
Overview Link to heading
SpotifyPay automates the calculation of how much each member of a Spotify Family plan owes. It handles price changes over time and sends email notifications to family members, eliminating the awkwardness of manually tracking and requesting payments.
Key Features Link to heading
- Automatic Cost Calculation - Accounts for subscription price changes
- Email Notifications - Reminds members of outstanding balances
- Secure Architecture - Separates sensitive data from public data
- Auto-sync - Commits data changes automatically to GitHub
Technical Implementation Link to heading
Architecture Link to heading
The project uses a split-data architecture for security:
| Data Type | Storage | Access |
|---|---|---|
| Emails | Private Google Sheet | Script only |
| Names, Amounts | Public GitHub JSON | React app |
This ensures email addresses remain private while allowing the React frontend to display balances.
Data Flow Link to heading
- Google Sheet - Master data entry (prices, members)
- Google Apps Script - Processes data, sends emails
- GitHub API - Commits sanitized JSON
- React App - Displays current balances
Technologies Link to heading
| Component | Technology |
|---|---|
| Frontend | React |
| Backend | Google Apps Script |
| Storage | Google Sheets + GitHub JSON |
| Automation | Apps Script Triggers |
How It Works Link to heading
- When Spotify changes prices, I update the Google Sheet
- The script calculates each member’s new balance
- Data is committed to GitHub as JSON (without emails)
- Members can view their balance on the React app
- Email reminders are sent periodically
Links Link to heading
Use Case Link to heading
Managing a Spotify Family plan among friends can be awkward. Who paid how much? When did the price change? This project automates all the tracking, making it painless to split costs fairly.