Showing posts with label AI. Show all posts
Showing posts with label AI. Show all posts

29 March 2026

Building a Vinyl Scrobbler (1 of ?)

I started using Last.fm in 2006 to log the songs I listened to, and was so in love with the data aggregation I'd write "what I listened to this year" posts to close out each year (like this one). For almost as long, I'd been wanting a way to auto-log the records I listened to - I dreamed of making the time to learn about and play with Shazam's API to get a version of vinyl scrobbling working. Fast forward twenty years, a lot of experimenting with Claude Code, and a successful personal project (also music related: a search bar for metal bands), and I finally got to work. I know vinyl scrobblers have been built a few times by now (like here, here, and here), but figuring out my options and building one very personal to me has been most of the fun.

After some time researching, I had three broad options:

  1. Log via audio recognition: So, turns out Shazam doesn't actually have an API, but there are similar APIs I could have either hooked up to an always-on mic, or trigger by pressing a button, holding my phone near the speaker, and waiting for match. I didn't like either option - creepy or too many steps, respectively - so this one was out pretty quickly.
  2. Log via sensors: Waving a record by a sensor could log an album as I put it on. This one would feel the most magical, but would involve putting an NFC chip in every single jacket of my (now medium-sized) collection, which would take hours of setup time.
  3. Log via barcode: The most physically clunky, but fit my most immediate need - start scrobbling quickly. As I tweak the setup, I could continue scrobbling and invest in the NFC solution in the longer term.

Aside - I have to give a shout to this very cool "year in music" writeup I found in my research. I found it via one of the open source projects - Vinyl Scanner - that one goes the NFC route, complete with a microcontroller built into a custom "now listening" shelf, for the ultimate magic scrobbling experience. The repo even includes instructions/schematic for building the shelf!

Ok, onto the proof of concept. My plan is to scan the barcode on a record when I take it out to spin, and a Raspberry Pi will look up a match from my Discogs collection, and log the album into an Airtable database.

I also wanted to build a search UI for manual lookup, in case I had a record with no barcode (many of my old 7-inches), or for some reason it didn't find a match. I also wanted to start using it while all my hardware was still arriving, so I started with the software-first.

I added another feature to the flow: My favorite Discogs app feature is the randomizer - shake your phone and it shows you a random item from your collection to put on (I use this all the time to be reminded of records I don't typically reach for). I decided to build this feature right into the lookup UI, so I could randomize and scrobble in just two clicks.

The magical part happened when I loaded the collection UI from my localhost - I wasn't convinced I needed to fetch album art for everything I owned as Claude Code suggested, but when I loaded the page, I gasped out loud when I saw all my records in a grid, staring back at me. Truly a magical moment.

And so far, it works! I've been scrobbling vinyl all weekend.

So excited to start doing my own Wrapped-style analysis on my vinyl habits - either manually like I used to with Last.fm, or by throwing the data into a tool like Hex to see what patterns it notices.

Part 2 to come when I get the hardware hooked up - it's finally arrived (I can't wait to share the Pi case I found), and I'll hopefully work on it in the next week or two. 

01 February 2026

Building a Metal Search Bar (1 of ?)

Metal Archives is like a wiki for heavy metal, and I use it for exactly one thing: looking up bands. I do this exclusively on my phone from either record shops or shows - the site isn't responsive, so I end up trying to tap on what feels like a 3 pixel high search box on the very top right of the screen.


A search bar for ants.

After struggling with this for years, I finally tried to fix it fore myself in the smallest way possible.

What I wanted

A page with only a giant search bar on it that I could use 1. on my phone; 2. from anywhere: it would query Metal Archives and return the band's subgenre(s) and location. That's it.

Fast forward through a couple hours with Claude Code. The project half failed: Metal Archives has no public API and sophisticated enough bot detection that blocked all my searches, leading me to hit a wall for the "from anywhere" part of my use case. 

What did work

I did get a proof of concept working on my WiFi, and set it up to run automatically and be accessible from my phone any time I'm at home for quick lookups. Along the way, I learned about everything from proxies and anti-bot systems to serverless functions and headless browsers. 

It works!
I also ended up finding an unofficial API (Metal Archives themselves don't have a public one), and reached out to Metal Archives to make sure they'd be okay with me using it for personal purposes. But if this is the end of it, I'm still happy I finally went for and built this: a small thing I've wanted to exist for years, and a satisfying use of a Saturday morning.

30 December 2025

When the system lives in you

This was going to be a different type of post - a show & tell of spreadsheets I've made over the years to optimize cognitive load out of my life. While writing the draft, I realized I hadn't actually used the spreadsheets in a while, yet the load hadn't come back. I figured out that while I'd used tech to save time (it did), the more I used it, the more I built muscle memory as I understood myself better, and the less I needed it in the end. I had unconsciously built rituals around the very tasks I was trying to offload. 

Exhibit A: Horowitz, the spreadsheet that picked out my clothes 
I used to hate getting dressed in the morning - I didn't know what my style was (specifically in a professional setting), and like most people always felt like I had nothing to wear. I tried to fix this with a spreadsheet, as one does - I built a categorized clothing inventory, threw it into a Google sheet, and added a randomizer formula to assemble outfits that I'd then copy-paste into a weekly plan. It's not a smart formula, so I'd regularly override silhouettes or combinations that didn't work. But it did the job. 

Then came ChatGPT: I gave it a target style, my inventory, and every Sunday would share the weather forecast and any after-work plans to get a detailed weekly wardrobe with notes. I loved this for a while. But over time I noticed I was using the GPT stylist less. Outfit planning was not scope creeping back into my mornings, though: I was getting dressed without thinking about it. 

Exhibit B: The meal planning sheet and GPT as Dietician
I enjoyed meal planning, until I didn't: it took so long each week. I tried optimizing by doing a similar thing as with Horowitz: `Veggie Backend` holds everything that grows in my zone, by seasonal month. The Home tab displays what's in season now; has sections for what to use up, buy, and eat for each meal; and another randomizer shows me options for quick meals, a recipe book to revisit, or snacks if I need help with ideas.

I had to go on a complicated diet this year due to health issues: it was impossible to keep track of the seemingly random combination of foods I could and couldn't eat, and the sheet became unusable. I had to switch to specialized apps and GPT to cross-check foods constantly. Over a few weeks though, I'd built a mental set of trusted ingredient LEGO blocks to combine into dozens of meals, and eventually shed the training wheels to eat intuitively without throwing my health upside down. What started with explicit rules were becoming internalized patterns with repeat use and some reflection.

So what was going on here? I started reading various theories and frameworks in education - how people learn and develop skills, specifically - and the concept that stuck out was the Zone of Proximal Development.





















Each concentric circle is the learner's ability to do a task; Psychologist Lev Vygotsky proposed that the learner "gets involved in a dialogue with the 'more knowledgeable other' and gradually, through social interaction and sense-making, develops the ability to solve problems independently and do certain tasks without help." The more knowledgeable other is usually a teacher, and their support can sometimes be referred to as scaffolding: like on a building, the outer layers of support are removed as the learner is able to perform the task on their own.

For me, the spreadsheet formulas (and then LLMs) were my own scaffolding - a constant dialogue between the tech and me - for performing repeat tasks that once ate up my time, drained me of energy, and sometimes had high stakes (like with the diet), which dialed up the cognitive fatigue even more. 

The repeat use of these digital tools saved time, sure, but the real impact came from their repeat use helping me learn my own patterns. Once I had grokked those patterns, I barely needed the tools at all - now I walk straight into my closet each morning, and sit down to write out my planned meals straight in my planner for the week. The ghost and the shell became fused in a cybernetic feedback loop of intuitive, natural tasks that once felt clunky and daunting. The real sign that my "systems" worked wasn't the efficiency, but how unremarkable these habits became once they no longer had to live outside of me.
Related Posts Plugin for WordPress, Blogger...