what i actually asked for, close to verbatim: i want a website where i can put in my rss link for letterboxd, give my spotify api, and my goodreads rss, and it pulls all the data and gives me a day, week, month, year view.
that's the whole pitch.
i pointed at spoiler mark for design inspiration when i kicked this off, since i liked how that one turned out and didn't want to start from a completely blank page. it's already drifting from that though, which i think is fine — a reading app and a "here's my whole media life" dashboard don't really want to look like the same thing once you're actually building both.
the part i care about most is that there's no database and no account. your letterboxd feed, your goodreads feed, your spotify tokens — all of it just sits in cookies on your own machine.
i don't want to be responsible for storing anyone's watch history, including my own. and i don't want to make anyone sign up for yet another account just to see a dashboard about themselves.
where it's at
further along than i expected for one day, honestly. the dashboard renders, the period toggle works, and all three sources are actually pulling data — letterboxd and goodreads over rss, spotify through its real oauth flow. still rough around a bunch of edges: dark mode was basically unreadable at one point, the star ratings were tiny, goodreads books straight up weren't loading and i had to have the rss feed curled directly to figure out why.
what i already know is going to be annoying
letterboxd and goodreads only give you your most recent entries over rss, something like the last fifty films and hundred books. ask for a whole year and older stuff just isn't in the feed to find, no matter how i ask for it.
spotify is worse in a different way. there's no real history endpoint, just your last fifty plays, so anything beyond "today" has to lean on spotify's own top-artists ranges instead of anything resembling a real date range.
none of that is something i can fix by writing better code. it's just what the apis will give me, so the plan is to be upfront about it on the page rather than let the dashboard quietly imply it's showing you the whole picture when it isn't.

Comments (0)