Help & User Guide
Everything you need to know about using Fight Dystopia. If something isn't covered here, ask in a post tagged ask or reach out via the tipline.
1. Getting Started
Fight Dystopia is invitation-only. You need an invite link from an existing member to create an account. Once registered you can browse all content, vote, comment, and submit posts.
The three main feeds are:
- Hot — posts ranked by a hotness score that combines votes, replies, and recency (newer and engaging posts rise).
- New — posts in reverse-chronological order.
- Top — highest-voted posts from the last 7 days, sorted by score (see ranking).
You can also browse by tag (e.g. /t/privacy) or use search to find specific content.
2. Introductions
New to the community? Post in introductions to say hi and let others get to know you. The introductions tag is the place for short bios, what brought you here, and what you’re interested in. It’s a great first step after joining.
3. Signal Chats
Fight Dystopia runs several Signal groups for real-time chat: announcements (Wideband), general banter (Watercooler), regional groups, and topic-specific chats. Invite links are listed on the Signal chats page (logged-in members only). Verified cabal members can join active groups; see the page for descriptions and links.
4. Your Profile & Settings
Your profile is visible to other logged-in members at
/u/your-username. It shows your about text, profile links,
clout, invite chain, and recent posts.
Visit Settings to update:
- Email — must be unique across the site.
- About — a short bio (up to 10,000 characters).
- PGP key — paste your public key (up to 20,000 characters).
- SSH key — paste your public key (up to 5,000 characters).
- Theme — choose from Default, White, Dark, Black, or build your own Custom theme.
- Profile links — add links to your email, X/Twitter, Mastodon, Bluesky, Signal, LinkedIn, GitHub, website, or blog.
- Tag filters — hide tags you don't want to see in your feeds.
5. Submitting Posts
Go to Submit (available in the header when logged in) to create a new post. There are two types:
- Link post — paste a URL and the site will try to fetch the title automatically. You can optionally add body text as commentary.
- Text post — leave the URL blank and write your post body in Markdown. A body is required for text-only posts.
Requirements
- Title must be between 3 and 150 characters.
- At least one tag is required.
- URLs must start with
http://orhttps://. - Tracking parameters (utm_*, fbclid, gclid, etc.) are stripped automatically.
Editing posts
You can edit your own thread starters and replies directly inside the thread. Use the edit link on your post, update the text in place, and save.
- Edits support Markdown and the same preview flow as submit forms.
- Every edit is transparently recorded and visible to everyone.
- Each edited post shows an edited badge and a full revision history.
- The original version is preserved in the history.
6. Text Shortcuts & Autocomplete
When writing a post body or comment, you can use three trigger characters to quickly link to users, threads, and site sections. A dropdown appears as you type — no need to look up URLs or remember exact names.
| Trigger | What it does | Example |
|---|---|---|
@ |
Mention a user — searches usernames | Type @ali → select “alice” → inserts @alice |
# |
Link to a thread — searches thread titles | Type #priv → select “Privacy Guide” → inserts a Markdown link to the thread |
/ |
Link to a section or tag feed | Type /new → select “/newest” → inserts a Markdown link to the page |
Using the dropdown
- Type a trigger character (
@,#, or/) followed by a few letters. - A suggestion dropdown appears after a short pause.
- Use Arrow Up / Arrow Down to move between suggestions.
- Press Enter or Tab to insert the selected item.
- Press Escape to dismiss the dropdown.
- You can also click a suggestion to select it.
@ mentions appear as profile links when the post is
viewed by a logged-in member. # thread links and
/ section links are inserted as standard Markdown
links.
Post and reply bodies support full Markdown. You can embed images with
.
Only http:// and https:// image URLs are allowed.
7. Keyboard Shortcuts
Fight Dystopia has global keyboard shortcuts that work on every page. They are automatically disabled when you’re typing in a text field.
| Shortcut | Action |
|---|---|
| Shift + N | Go to the Submit page |
| Shift + S | Go to the Search page |
| Shift + R | Submit the post or reply (when focus is in the post body or reply text area) |
| ⌘ + R (Mac) or Ctrl + R (Windows/Linux) | Same as Shift + R for submit (prevents the browser’s default reload while the cursor is in those text areas) |
8. Color Themes
You can change the look of the site by picking a color theme in Settings. Your choice is saved to your account and applied on every page.
| Theme | Description |
|---|---|
| Default | Dull light-blue header with a light page background |
| White | Clean white background with a light header |
| Dark | Dark blue-grey background with muted text |
| Pitch Black | Pure black background — ideal for OLED screens |
| Custom | Pick 5 colors (background, text, accent, header, border) to build your own theme |
To switch, go to Settings → Theme, select a swatch, and save. The change takes effect immediately on the next page load.
9. Tags
Every post must have at least one tag. Tags are the primary way content is organized and discovered. Browse all tags on the tags page. New to the community? Say hi in introductions.
- Select existing tags when submitting, or type a new one.
- New tags must be 2–40 characters: lowercase letters, numbers, and hyphens only.
- You can filter your feeds by tag (e.g. /t/privacy).
- Hide tags you're not interested in from Settings using tag filters — filtered tags won't appear in your feeds.
10. Voting
You can upvote or downvote any post or comment. Voting the same direction again removes your vote (toggle). Changing direction updates the post's score accordingly.
Post score (the “X points” under each post) is the net number of upvotes minus downvotes. This score determines a post's position in the Hot and Top feeds.
Clout (shown next to your username) is your reputation and is not used to rank posts. You earn clout when others upvote your posts or comments and when someone replies to a thread you started. You earn one lifetime invitation slot for every 100 clout (e.g. 100 clout = 1 invite, 250 clout = 2 invites).
11. Post Ranking: Hot vs Top
Feed order is determined only by post score (votes) and reply count, not by the author's clout. The two main ranked feeds work as follows.
Hot feed (homepage)
The Hot feed ranks posts by a hotness score that balances engagement with recency: a newer post with some votes and replies can beat an older post with more votes. The formula:
points = log10( max(score, 1) + replies × 0.5 )
penalty = (hours_since_post + 2) ^ 1.5
hotness = points / penalty × 10000
- score — the post's net vote count (upvotes minus downvotes).
- replies — number of comments in the thread. Replies count at half weight, so discussion boosts a post's rank.
- points — logarithmic in score + replies, so the first few votes and replies matter most; extra engagement has diminishing returns.
- penalty — increases with the post's age (hours since posted), raised to the power of 1.5. The
+2avoids punishing brand-new posts.
Higher hotness appears first. A fresh, active thread can outrank an older one with a higher raw score.
Top feed
The Top feed shows the highest-scoring posts from the last 7 days only. Order is simple: highest score first, then newer posts when scores tie. Reply count and age are not used; it's purely “most upvoted this week.”
12. Public Posts & Privacy
By default, all posts are private — visible only to logged-in members. When submitting, you can check "Make this post public" to allow anyone on the internet to see it.
- Public posts are accessible to anonymous (logged-out) visitors.
- Replies inherit the visibility of their parent thread.
- To protect member privacy, anonymous visitors see a tripcode (a short anonymous identifier) instead of the poster's real username.
- Logged-in members always see usernames normally.
13. Sharing from Mobile
You can share URLs directly from your phone’s Share Sheet into Fight Dystopia. Both iOS and Android are supported. For step-by-step setup instructions, see the Share to Fight Dystopia page.
iOS (Shortcut)
Install the pre-made shortcut to add Fight Dystopia to your Share Sheet:
Once installed, you can share any URL from Safari or any app via the Share Sheet. To build your own shortcut instead, see /share (iOS).
Android (Install to Home Screen)
Fight Dystopia supports the Web Share Target API, so Android users can share links directly from any app — just like a native app.
- Open fightdystopia.net in Chrome.
- Tap the three-dot menu (⋮) and select “Install app” or “Add to Home screen”.
- Once installed, Fight Dystopia will appear as an option in your system Share Sheet.
When you share a URL from any app, choose Fight Dystopia (or FD) from the share menu and you’ll land on the submit form with the link pre-filled. Full details: /share (Android).
How sharing works
- Share a link from any app → Fight Dystopia opens
/share?url=.... - If you’re logged in, you’re redirected straight to the submit form with the URL pre-filled and the title auto-fetched.
- If you’re logged out, you’ll be taken to the login page first, then redirected back to submit your link.
14. Push Notifications
Fight Dystopia supports web push notifications so you can be notified when someone replies to your posts or mentions you by name, even when you’re not on the site.
Enabling notifications
After installing the site as a PWA (where applicable), open it from your home screen, then go to Settings and click “Enable notifications” in the Push Notifications section. Your browser will ask for permission; allow it to start receiving notifications. If notifications misbehave after a deploy, refresh the page once so the updated service worker can activate.
iPhone and iPad (iOS/iPadOS)
Push notifications on iOS require the site to be installed as a Progressive Web App (PWA) on your Home Screen first. Standard Safari browsing does not support push.
- Open fightdystopia.net in Safari on your iPhone or iPad.
- Tap the Share button (’box with up-arrow’) at the bottom of the screen.
- Scroll down and tap “Add to Home Screen”.
- Tap Add. Fight Dystopia will appear as an app icon on your Home Screen.
- Open the app from your Home Screen (not from Safari).
- Go to Settings and enable notifications.
iOS 16.4 or later is required. Notifications work in Safari, Chrome, and Edge when launched from the Home Screen.
Android
Push notifications work directly in Chrome (and most other browsers) on Android without any special setup. Just visit Settings and click “Enable notifications”.
What triggers a notification?
- Someone replies to a thread you started.
- Someone replies directly to one of your comments.
- Someone mentions you (
@yourusername) in a post or comment.
You will not be notified about your own actions.
15. Moderation
All moderator actions are logged publicly in the moderation log for full transparency.
What moderators can do
- Ban / unban users — with a recorded reason (permanent block).
- Admins only: Suspend users — temporary lockout with a reason and duration (1 day to 1 year). Suspended users cannot log in until the period ends or an admin unsuspends them.
- Admins only: Adjust clout — set any user's clout to a specific value (e.g. to correct abuse or grant invite capacity).
- Delete posts — soft-delete (content hidden, record preserved).
What admins can additionally do
- Force password reset — sets a temporary password and requires the user to choose a new one on next login.
- Manage tags — retag posts, merge duplicate tags, or deactivate tags.
If you see something that needs attention, you can report it via the anonymous tipline or by emailing tipline@fightdystopia.net.
16. Password & Account Security
Changing your password
Go to Settings and scroll to the password section. Enter your current password and your new password (minimum 8 characters).
Admin-initiated password reset
If an admin resets your password (e.g. for a compromised account), you will
be given a temporary password. On your next login you'll be redirected to
a mandatory password-reset page — you must set a new password before
you can access any other page. Only /reset-password and
/logout are accessible until the reset is complete.
Session & cookies
Sessions last 30 days. The site uses a single HttpOnly session
cookie — no tracking cookies, no analytics, no client-side JavaScript
required.