In the last few weeks I've begun hooking up the backend that I've spent over a year working on to Planet's public-facing (new) site. Mostly this is for the coming webstore, which to start with will just be our Amazon inventory -- but carefully vetted to specify cross-filing and genres, general styling consistency, and custom data extensions like personnel (important for jazz and classical mainly). A lot of the last year's work centered on writing stuff to interpret and refine Amazon's shitty, inconsistent product into something more usable so that half the work is done before we "vet" and supplement the product data. Until I have the cart and payment system in place (I'm thinking Stripe right now), the buy links just take you to the corresponding offer on Amazon.
One of my main concerns has been to make the site browsable -- that is, browsable like one might browse the actual record store. That meant no page numbers, which are useless for browsing music bins, and fast "flipping" while avoiding views that require scrolling. So for the genre-based browse mode, I've written an Angular directive (and corresponding server-side stuff to provide the data about what's-where) that decorates a range input to indicate, with alphabetic markers, where you are / can go in a given genre, loading items in real time as you "flip through the bins".
The search functionality is also done in real time. I made a crap little video to show how it works so far (with the unvetted data anyway):
What I'm most excited about is how we're dealing with classical. Composers can be browsed by era (early, baroque, etc), but also genre (orchestral, chamber, keyboard, etc), and finally you can also browse by performer-by-instrument (pianists, vocalists, conductors, etc), all items being cross-filed appropriately. We're going to put a kiosked version on a machine in the store itself to provide access to the online inventory (which is separate from the store stock) for in-person customers, which they're then welcome to ask to see or buy on site.