A tiny, independent website that fetches the size of W Social and puts it next to the staff numbers of EU institutions (data from Wikidata). The playful question: is W Social winning (because what else is the W for?!)
scripts/fetch-wikidata.ts (rarely / once) ─► server/data/eu-institutions.json (cached, committed)
scripts/fetch-wsocial.ts (via cron) ─► server/data/wsocial-latest.json (overwritten)
server/api/stats.get.ts (Nitro) reads both, computes the comparison ─► app/pages/index.vue
| Data | Endpoint | Auth |
|---|---|---|
| All W Social accounts | https://pds.wsocial.network/xrpc/com.atproto.sync.listRepos (paginated) |
none |
| Posting activity | https://pds.wsocial.network/xrpc/com.atproto.repo.listRecords (one request per active account, newest post first) |
none |
| EU institution staff | https://query.wikidata.org/sparql (property P1128, one query) |
none |
Note: the Data / API lives on the PDS (
pds.wsocial.network) "Posts" areapp.bsky.feed.postrecords, which include replies, similar convention as Bluesky's own posts count.
Requires Node 18+ (for global fetch).
npm install
npm run fetch:wikidata
npm run fetch:wsocial
npm run dev # http://localhost:3000Independent, not affiliated with or endorsed by W Social, Bluesky, Mastodon, Wikidata, or any EU institution. Those names/marks belong to their respective owners and are used only for factual identification. All figures come from public APIs, are illustrative, and are provided without warranty.
This project is licensed under the GNU Affero General Public License v3.0 or later (AGPL-3.0-or-later).
We're always happy to make new connections and hear about new projects (or ideas). You can find more information on our website. You can also follow us on Mastodon at ⁂ @54gradsoftware@norden.social or ⁂ @sabrinkmann@hachyderm.io.