PresenceJam-Desktop Svelte Themes

Presencejam Desktop

Windows desktop app syncing Spotify now-playing to Microsoft Teams status messages via Graph API (Tauri 2 + Svelte 5)

PresenceJam 2.4.1

Sync your Spotify playback to Microsoft Teams status automatically.

What it does

PresenceJam polls Spotify's Web API for your currently playing track and sets it as your Microsoft Teams custom status message. When the track changes, your status updates automatically. When you pause or stop, it clears your status (if you've enabled that option).

Features

Feature Description
Real-time Spotify detection Polls Spotify's Web API while a track is playing
Teams status sync Sets your Teams custom status via Microsoft Graph
Smart polling Sleeps until the track ends — no wasted API calls
Auto-clear Clears status when Spotify pauses/stops
Profanity filter Replaces profane track names with a safe placeholder
System tray Runs silently in the background
Launch at login Optional auto-start on boot
Secure auth PKCE OAuth for Spotify, Device Code flow for Teams

Downloads

Install the latest release from GitHub Releases:

  • PresenceJam-2.4.1.msi — Windows 10/11 (64-bit)
  • PresenceJam-2.4.1-macos.dmg — macOS (Apple Silicon)

Quickstart

First time? Follow the Setup Guide — it covers installing the app, registering a Spotify Developer app, and connecting Teams.

Already set up? Just run:

# Install dependencies
npm install

# Start development mode
npm run tauri dev

# Build for release
npm run tauri build

Documentation

Doc What it's for
Setup Installing the app, Spotify app registration, Teams auth
Usage Day-to-day guide — tray, dashboard, settings
Architecture How it works under the hood
Troubleshooting Common problems and fixes
Changelog Version history
Security Token storage, privacy, network
Contributing Dev setup, coding standards, PR process
Acknowledgements Open-source dependencies

Architecture

The app is built with:

  • Backend: Tauri 2 (Rust) — polling thread, API clients, token storage, system tray
  • Frontend: Svelte 5 + TypeScript — SPA rendered via @sveltejs/adapter-static
  • Storage: tauri-plugin-store for tokens (DPAPI on Windows, Keychain on macOS), JSON for config
  • Auth: Spotify PKCE OAuth + Microsoft Teams Device Code flow

See ARCHITECTURE.md for deep-dive diagrams and explanation.

Status Format

Customize your Teams status using placeholders:

Placeholder Output
{artist} Artist name
{track} Track name
{album} Album name
{emoji} 🎵 (playing) or ⏸️ (paused)

Default: 🎵 {artist} - {track} 🎧
Example: 🎵 Daft Punk - One More Time 🎧

License

MIT — see LICENSE for details.

Top categories

Loading Svelte Themes