this post was submitted on 27 Jan 2024
10 points (91.7% liked)
Furry Chat
683 readers
1 users here now
Yiffit chat! Talk about anything you want here.
Mention @[email protected] from your favorite Fediverse / Mastodon client to post here directly, or post directly via any Lemmy instance.
Community Icon (CC-BY-NC-SA) Tom Fischbach
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
I'm currently working on one.
A while ago I found myself frustrated with how limited e621's search feature was. You can search for all of these tags, none of -these tags, and one or more of ~these tags, but there's no way to search for either A or B, but not both, or (A AND B) OR C. I thought I could do better. So I did.
Obviously the e621 API isn't going to be much help if you want to add search features the site doesn't have, so that was a no go. Fortunately e621 lets you download a 1GB (compressed) CSV file (3GB decompressed!) containing a list of every post on the site along with its tags, favorite count, image URL etc. I made a program that would read in this database dump, take a search string like
all{ a 1-{ b c } 2{ d e f } 2-3{ g h i j } }
(matching a, at least one of b and c, and exactly two of d, e, and f, and between two and three of g h i j) and spit out a list of image URLs that matched. It worked pretty well but was still kind of annoying to use, so I made it into a Discord bot. I also made a feature to let you search for pools based on the tags of the posts that are in them, e.g.[ human solo > werewolf solo ]
matches pools with any post tagged human+solo and any post after that tagged werewolf+solo, useful for finding transformation sequences.The Discord bot works great, but shortly after developing it I realized that Discord is an absolutely atrocious platform for browsing images, and started work on a desktop version using the same code for searching. I'm planning on having the search run locally on the user's machine rather than in the cloud, both for privacy reasons and so that I don't have to host an API server. It's pretty heavily optimized -- a single search of the whole post database currently takes 1/20 of a second on my gaming laptop (6900X) and 3 seconds on my phone (Pixel 7a). I don't have anything even remotely ready to publish GUI wise just yet, but the bot is ready to go. If anyone replies to this comment I'll set up a Discord server with that bot and post updates about the desktop client there. The bot and desktop app are both GPLv3 and written in Rust, if that's the sort of thing you care about.
That sounds interesting but I don't use Discord. :(
Please let me know when you release the desktop client, or if you need someone to test it!