I'm currently building a custom DJ software we'll probably use in our new studio (which currently only has the usual two-deck CD player and a two channel mixer that also has two USB sound interfaces - i.e. digital in for the mixer).
Here's a mockup of what I'm planning to do:

What I already have is:
- playback (although I plan to switch to a different audio player in the backend which has high quality pitching) with multiple devices
- fast and powerful search, scaling up to at least 200k songs using an full-fledged text indexer, can search in comments only etc.
- a different but similar UI (two players on bottom, additional "shortlist")
Obviously, the UI is designed with a particular "workflow" in mind:
- One song always should be running, which is what the top player takes care of. The pitching control is only relevant for use in classes.
- Below that, there is the current playlist of songs, which in particular holds the next song the top player is going to play when it's finished.
- There is a big search box, which is used for locating songs on the system and USB devices
- Clicking songs in the search box will make them play on the DJ headphones, double click or drag them to the playlist above to queue for playback.
Especially since I wouldn't call me a "DJ", these are my questions for you:
- would this work for you?
- would you actually LIKE it?
- what is missing?
- what could be improved?
- do you need/use CUE points?