My take on replicating the original Spotify CarThing UI, but better. Powered with Spotify's Private API (Disclaimer)
- Minimal UI similar to the CarThing
- Listen together! Host a Jam session and share music with others in real-time
- Weather App using data from https://weather.gov
git clone https://github.com/dragonhuntr/JamThing
npm install
Navigate to /server
cd server
Create a .env
file with your Spotify login details:
USERNAME=<YOUR SPOTIFY USERNAME/EMAIL>
PASSWORD=<YOUR SPOTIFY PASSWORD>
Run ws.js
node ws.js
If you haven't done so already, flash your CarThing by following this GUIDE from ItsRiprod.
Once flashing is done, run
./ct --push
The CarThing should reboot, and you're done! The new UI should show and automatically communicate with the server to retrieve data.
To update the weather forecast location, refer to the API Docs to get your gridpoint URL, then change the endpoint in /server/weather/req.js
The location name is also hardcoded currently, so update it in /webapp/src/apps/Weather/WeatherApp.tsx
ADB is included in this repository and can be used on its own to interact with the CarThing. However the included ct
script will do pretty much everything you need with fewer keystrokes
The following commands work from the project root:
Create a local backup in the backup
directory from the contents of ./webapp
./ct --backup
Serve the webapp directory on port 8000
. You can go to http://localhost:8000
to preview your local webapp before pushing. (ctrl-c to exit)
./ct --serve
Pull the contents of the webapp directory from the CarThing to your current working directory
./ct --pull
Push the contents of your ./webapp
directory to the CarThing
./ct --push
Open a shell to the CarThing
./ct --shell
Reboot the CarThing
./ct --reboot
JamThing leverages private/internal endpoints to communicate with the Spotify API. This method is probably forbidden by them. Use at your own risk.
- DeskThing by ItsRiprod
- Spotify-AnyThing by peledies
- platform by 3052