from graynk@discuss.tchncs.de to selfhosted@lemmy.world on 16 Aug 13:26
https://discuss.tchncs.de/post/65987848
Hi!
Over the past month I’ve been working on a small self-hosted service which would let me auto-import, categorize and rate all my games (and make them easily explorable for family members). Think of it as a self-hosted backloggd.com. I believe it’s now in a good enough shape to share, hence this post.
It all kinda started when my gf was complaining that browsing our family library on the Steam Deck is a pain, because the library view barely gives you any information on what the game is, and the store page has way too much information (and loads way too long). I then remembered how I dropped off from using Backloggd and Infinite Backlog several times right after registering (either due to the lack of autoimports, or due to the very involved process of actually going through your library to categorize stuff). So I figured I’d finally make my own thing, with blackjack etc, etc.
You can play with a read-only demo snapshot of my library here to get a feel for it: iri-demo.fly.dev
It’s written in Elixir with Phoenix LiveView and uses SQLite for the database. The code is licensed under AGPL and is on GitHub with a mirror on Forgejo.
It lets you automatically import your games from Steam, GOG and XBOX. For PSN it gives a JavaScript helper that you can use on PSN’s web page and for EGS you’ll have to use Legendary’s JSON export. I know the last 2 are not ideal, but I’m not sure what would be a better way to approach this, given that everyone but Steam is incredibly API averse :^( Open to suggestions though!
It does not yet have Battle.net, Origin or Ubisoft integrations (primarily because I don’t use those stores), so contributions are welcome.
Here are some of the other things that it can do:
- It has a nice bulk-edit mode, so that you can actually get through your library and mark stuff as completed, dropped, etc.
- It supports family sharing (again, my initial use-case was that I wanted my gf to have an easy way to explore my library).
- It fetches ProtonDB and time-to-beat data.
- It let’s you create custom collections, which can be then exported either as .txt along with notes and store links, or even as a static HTML website.
- It has a responsive layout and it has (admittedly somewhat rudimentary) gamepad (and keyboard) support, so you can browse on mobile or on the Deck. It should also hopefully be usable with screen-readers, but I would appreciate any feedback from actual screen-reader users.
- It has an optional AI integration to automatically map ambiguously named games to IGDB entries (otherwise for ambiguous titles it will leave the mapping choice to you)
- Filters, search, private notes, probably something else I’m forgetting - the post is already too long anyway
It doesn’t require credentials for any of your stores, but it does require public profiles for Steam, GOG and Xbox. You will also, of course, have to bring your API keys with you, where needed: the app heavily relies on IGDB, for Steam you need Steam Web API key, for Xbox I opted to use xbl.io, and finally for the AI integration you can bring your OpenAI-compatible or Anthropic key (or you can use a self-hosted model, though I haven’t really tested that tbh).
I literally have no idea whether it’s something someone besides me will find useful, but in case you do: here you go, let me know what you think.
AI disclosure: the majority of code was generated, with a lot of iteration and guidance. In my mind, if there exists a valid usecase for AI coding - it’s stupid lil pet projects like these, as I never would’ve finished it on my own. I’m sure there’s some slop left in there though, so be wary.
Design - Pair Implementation - Generated Testing - Pair Documentation - Pair Review - Me Deployment - Pair
threaded - newest