How we count.
Pulse calculates its own hashtag rankings from public Bluesky events. Our scores describe the activity we observe, and are not Bluesky’s official trends or a measure of nationwide popularity.
Direct collection
Our collector connects to the public Bluesky Jetstream. We extract hashtags from post facets, explicit tags and text, normalize Unicode and letter case, and count each post once per hashtag. We do not obtain rankings or data from Trends24. We do not currently collect X data.
“Thai-language posts” means a post carries a Thai language tag or contains Thai script. This does not prove its author is in Thailand. “All languages” includes all language groups observed by this collector.
The score
For each hashtag, C is its distinct-post count in the current 15 minutes and P is its count in the preceding 15 minutes. Score = C + max(0, C − P). A topic needs at least 3 current posts from at least 2 authors to rank. Repeated appearances of a hashtag in one post count once. This threshold reduces single-account repetition; it does not eliminate coordinated activity.
The collector publishes aggregates at most every 15 seconds. The page receives updates through a server event stream. Snapshots are anchored to one-minute intervals and retained for 30 minutes. During the first 30 minutes, comparison windows are still filling.
Coverage and gaps
We observe one public stream connection. Reconnects, source availability, parsing limits and bounded storage can reduce coverage. The page labels delayed observations and reports recorded interruptions or dropped observations. Rankings can change as coverage changes. We do not claim complete Bluesky coverage.
Only hashtag-bearing posts contribute to the displayed observation count. Post contributions are retained for 60 minutes, with caps of 50,000 posts and 100,000 hashtag rows. Hashed account visibility exclusions may persist until reversed (up to 50,000 entries), and operator removal rules remain until the operator changes them. We keep hashed record and author identifiers, timestamps, language classification and extracted hashtags to deduplicate and process corrections. We do not store post bodies or publish these identifiers.
Edits, deletion and visibility
Observed post edits and deletions update current counts and retained history. Inactive-account and repository-reset events withdraw the account’s retained contributions. We honor restrictive self-labels and recommendation preferences when they arrive in the subscribed stream. Operator removal rules prevent excluded records, accounts or topics from returning through replay.
The stream does not supply every existing account preference or external moderation label. These filters therefore do not reproduce Bluesky’s full moderation system. We show aggregate hashtags, without post bodies or profile listings.
Report a topic or request removal
Email contact.glblhub@gmail.com with the hashtag or public post/profile URL, the issue, and the removal or correction requested. Please do not send passwords or identity documents. Reports can lead to topic, post or account exclusions, including corrections to retained history.
This is GLBLHUB’s published contact for privacy and deletion requests. See GLBLHUB’s privacy policy. Pulse is independently operated and is not affiliated with Bluesky.