Skip to content

Latest commit

 

History

55 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

License Open Issues Chrome Web Store Users Firefox Add-ons Users Manifest V3


Commsfinder

Find artists with open commissions across multiple platforms, scanned locally in your browser.

Install  ·  Usage  ·  Report a Bug  ·  Request a Feature


/•᷅‎‎•᷄\੭ About

you probably: "what if there was a way to tell which artists on my social media were open for comms??"

ok but what if i was thinking the same thing and then made that thing

Commsfinder is a cross-platform browser extension that scans the artists you already follow on FurAffinity, Bluesky, and more, then flags which ones are currently open for commissions. Instead of manually crawling hundreds (or thousands) of profiles, you run one scan and get a neat sorted list.

Classification runs on a custom fine-tuned DistilBERT model that executes entirely in your browser using pure JavaScript; no native programs, external APIs, servers, or paid software. Inference runs on CPU or WebGPU through ONNX Runtime Web (ORT) via Transformers.js.

Yes, it uses a large language model; for an actually good reason. This entire project grew to be a hopeful lesson in actual ethical use of LLMs (and... yucky AI..) Commsfinder uses discriminative AI, the image-and-pattern-recognition kind. No art is being generated or trained on, no data to be harvested and sold. It's a tool that does its job and that's it.


(っ˘ڡ˘ς) mmm yummy features

  • Multi-platform scanning: FurAffinity and Bluesky today, with more on the roadmap.
  • AI & No-AI modes: Choose the fine-tuned classification model, or fall back to lightweight pattern detection using regex and keywords.
  • Confidence ranking: Every data point is scored and combined into a per-profile confidence score; results are sorted so the most likely available artists surface first.
  • Result caching: Completed scans and partial progress are cached locally to avoid redundant page loads and waiting.
  • Privacy by design: No data leaves your device. No telemetry or servers.

✎ᝰ Supported Platforms

Platform Status Detection Method
FurAffinity ⚠️ Limited Web scraping
Bluesky ✅ Full AT Protocol API
Twitter / X 🚫 Unsupported Undetermined*

* Elon removed all free API access and blocked site access for signed-out users. The only remaining scanning method is logged-in web scraping. This doesn't really work anymore either as they have severely ratelimited users, and have gone to lengths to even ban some automated accounts. If the project reaches enough users, a Patreon / premium tier could fund proper X API support down the road.


Installation (╭ರ_•́)

Browser Get it
Chrome and anything Chromium: Edge, Brave, Opera, etc Chrome Web Store
Firefox (≥ 121) Firefox Add-ons
Safari no.

Or visit findcom.ms for direct install links.

Build from source

Prerequisites: Node.js ≥ 21 (built with Node 24.4.1 / npm 11.5.1).

git clone https://github.com/zohfur/commsfinder.git
cd commsfinder
npm install
npm run build:both        # or build:chrome / build:firefox

Packaged builds land in dist/chrome/ and dist/firefox/ (a versioned .zip is produced for each).

Load the unpacked extension:

  • Chrome / Chromium: go to chrome://extensions, enable Developer mode, click Load unpacked, and select dist/chrome/.
  • Firefox: go to about:debugging#/runtime/this-firefox, click Load Temporary Add-on, and select the manifest inside dist/firefox/. You may need to specifically use Firefox Developer Edition; that's what I had to use for testing to get everything to work as expected, especially hot-reloading.

₍^. .^₎⟆ Usage

Running a scan

  1. Click the Commsfinder icon in your browser toolbar.
  2. Select platforms to scan (checkboxes in the popup).
  3. Click "Scan for Open Commissions."
  4. Wait for results: scan duration varies widely with how many artists you follow.

Viewing results

  • Artist cards show avatar, name, platform, and confidence score.
  • Click any result to open the artist's profile in a new tab.
  • Filter results by confidence level or platform.
  • Personalize by favoriting or blacklisting accounts.

Reading confidence scores

Score Meaning
🟢 70–100% High confidence the artist is open
🟡 50–69% Some signals classified as open
🔴 30–49% Likely not accepting commissions

Why is a profile showing open/closed when it shouldn't?
If an artist never states whether they're open or closed, there's no signal to detect short of asking them directly.
A future release will let the community submit corrections and share openings manually. Ask your artist friends to put their status in their bios or pinned posts!! (please.)


How Detection Works ه = ∑∞ⁿ⁼⁰ ¹ₙ

Commsfinder pulls from as many sources as a platform reasonably exposes, and tries to be mindful of ratelimiting and usage restrictions.

Example: FurAffinity

Artists are discovered from the user's Favorites and Watchlist pages. Each artist is then scraped for:

  1. Profile bio and description
  2. Recent gallery items: names, descriptions, and tags
  3. Pinned / most recent journal: weighted by recency
  4. Profile commission status: Commissions: Yes/No

Each component is classified independently, and the final score is a weighted combination of all available data.


</> Built With


Privacy & Security (⌐■_■)

  • No data leaves your browser: all processing and inference is local.
  • No API keys or developer accounts: runs on web scraping and JS service workers.
  • Transparent: open source code and a public model.
  • No telemetry or tracking: no user data collected or transmitted.

See the full Privacy Policy for details.


/ᐠ≽•ヮ•≼マ Roadmap

Rough and very subject to change!!
I work on this project randomly when the motivation gloops between all the creases in my wrinkly brain

v1.1.1: Previous release

  • Popup UI and scan-experience polish pass
  • Accessibility and interaction improvements (touch targets, structure, status messaging)
  • Styling consistency and animation cleanup

v1.2: Current release

  • New UI and artwork
  • Stability and codebase improvements
  • Performance improvements and faster scans

v1.3: Model update

  • New classification model revision
  • Higher accuracy and faster inference
  • Better WebGPU support

v1.4: Community update

  • Scan inaccuracy reporting
  • Manual artist status submissions
  • Buyer Beware / Artist Beware integration (maybe?)

v1.5: Platform update

  • Add ych.commishes, Weasyl, Artistree, Artconomy, Sofurry
  • Re-evaluate Twitter / X support

v1.6+: Tagging & mobile

  • Tag search: find artists by keyword or tag
  • Android app
  • iOS app… maybe.

See open issues for the full list of proposed features and known bugs.


Contributing ⸜(。˃ ᵕ ˂ )⸝♡

The code is a nightmare and anything I make is held together by stickers and Elmer's glue. That said, if you want to contribute a feature or bug fix, I would appreciate it! Fork, branch, and open a PR.

Found a bug or have an idea? Please open an issue!


-ˋˏ✄┈┈┈┈ License

Distributed under the AGPL-3.0 License. See LICENSE for details.


Contact ˗ˏˋ ꒰ ✉︎ ꒱ ˎˊ˗

Zohfur: commsfinder@zohfur.dog

Project link: https://github.com/zohfur/commsfinder

About

Commsfinder is a browser extension that helps users find artists with open commissions across social media platforms.

Topics

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Sponsor this project

Packages

Used by

Contributors

Languages