# DJ Pull Up

> Windows and Mac desktop app for DJs that watches Serato in real time, auto-tweets the currently playing track from your own Twitter account and builds an event-by-event music log you can export to CSV.

Author: Nimoy Burrowes (https://nimoyburrowes.com/about)
Category: Creator
Status: sunset
Meta: Electron · Serato integration
Link: https://www.djpullup.com
Canonical: https://nimoyburrowes.com/apps/dj-pull-up

## About this app

DJ Pull Up is an Electron desktop app I built for live DJs. It monitors Serato DJ, Serato DJ Pro, and Serato Scratch Live session history in real time, pulls track metadata as songs load and posts them to the DJ's Twitter account using configurable templates with placeholders like [song-title], [artiste-name], and [artiste-handle].

Every played track is logged locally in PouchDB, organised by event name and date and exportable as CSV for royalty reporting or venue paperwork. A short floating now-playing popup pins to the bottom-right of the screen so the DJ can glance at what is queued. Tweets can go out automatically or be approved manually before posting, with a configurable minimum play duration so skipped tracks are not logged or tweeted.

Ships as a signed Windows NSIS installer (32-bit for older DJ laptops) and a macOS DMG. Subscription is handled through Stripe (monthly and yearly) and PayPal, with local state kept in PouchDB and synced to IBM Cloudant. An offline mode lets DJs keep logging plays and generating log sheets even when the venue has no internet.

## Stack

- Electron
- Node.js
- JavaScript ES6
- PouchDB
- IBM Cloudant sync
- chokidar file watcher
- musicmetadata
- Twitter API (OAuth 1.0a)
- iTunes Search API
- Stripe subscriptions
- PayPal REST SDK
- csv-writer
- Bootstrap
- jQuery
- HTML5
- CSS3

## Recent updates

- Shipped v1.2.6 on the Electron 24 runtime.
- Added Serato DJ Pro support alongside Serato DJ and Serato Scratch Live.
- Introduced three configurable tweet pattern templates with [song-title], [artiste-name], and [artiste-handle] placeholders.
- Added optional artist Twitter handle lookup with iTunes Search API fallback for tagging.
- Local music log now organised by event name and date, exportable as CSV to Music/DJPullUp/Exports/.
- Real-time floating now-playing popup pinned to the bottom-right of the screen.
- Configurable minimum play duration threshold (default 10 seconds) so skipped tracks are not logged.
- Subscription renewal via Stripe (monthly and yearly SKUs) and PayPal.
- Offline mode: local username and password login when Twitter is unavailable.
- Windows NSIS installer with 32-bit build for older DJ laptops; macOS DMG installer for x64.
- PouchDB local storage with IBM Cloudant replication for cross-device subscription state.
- Twitter OAuth 1.0a flow with token persistence between sessions.
- Virtual DJ and Traktor support flagged in the settings UI (marked coming soon).
- Music log split into seven per-day databases for faster event lookups.
- Retired the application to focus on other builds
