crab.ac User Guide

A complete guide to using the crab.ac web application.


Table of Contents

  1. Getting Started
  2. Spaces
  3. Channels
  4. Messaging
  5. Community Calendar
  6. Route Libraries
  7. Media Galleries
  8. Forums
  9. Blog
  10. Newsletters
  11. Social Features
  12. Personal Collections
  13. Direct Messages
  14. Roles and Permissions
  15. Space Settings
  16. Workflows
  17. Public Web Presence
  18. Portals
  19. Moderation and Safety
  20. Account Settings
  21. Keyboard Shortcuts
  22. Mobile
  23. Tips
  24. Index

Getting Started

Creating an Account

  1. Go to app.crab.ac and click Register.
  2. Enter your email, username (2-32 characters, alphanumeric plus - and _), display name, and password (minimum 8 characters).
  3. Check your email for a verification link and click it. You must verify before you can log in.

Logging In

You can log in with either your email or username plus your password. If you have two-factor authentication enabled, you'll be prompted for your TOTP code after entering your password.

Magic link login: You can also log in without a password by requesting a magic link sent to your email.

The Home Screen

After logging in, the home screen shows:


Spaces

A Space is a community. Each space has its own channels, members, roles, calendar, blog, newsletter, and settings.

Joining a Space

Creating a Space

Click "Create a Space" on the home screen. Provide a name, slug (the URL-friendly identifier — this becomes part of your public URLs), and an optional description. You'll automatically be the owner with full permissions.

The space view has three main areas:

Switching Between Features

The channel sidebar has icons/buttons to switch between:


Channels

Channels are the core communication tool within a space. Each channel has a type that determines its behavior.

Text Channels

Standard real-time chat. Features include:

Announcement Channels

One-way broadcast channels. Only members with the Send Messages permission can post. Other members can read and react but not reply. Useful for official updates that shouldn't get buried in discussion.

Forum Channels

Threaded discussion channels. Each topic is a separate thread with its own title and replies. Features include:

Photo and video galleries displayed in a responsive grid. Features include:

Route Library Channels

Purpose-built for organizing GPS routes. Features include:

Voice Channels

Real-time voice and video channels using WebRTC. Join a voice channel to talk with other members. Video and screen sharing are supported.

Private Channels

Any channel type can be marked as private. Private channels are only visible to members who have been explicitly added to them.


Messaging

Formatting

Messages support GitHub-flavored Markdown:

Syntax Result
**bold** bold
*italic* italic
`inline code` inline code
```code block``` Multi-line code block
> quote Blockquote
[text](url) Hyperlink
- item Bulleted list

Mentions

Start typing @ and an autocomplete dropdown will appear.

Reactions

Hover over a message and click the smiley-face icon to add an emoji reaction. Click an existing reaction to toggle your own. Reactions show who reacted when hovered.

File Attachments

Drag and drop files onto the chat area, or click the attachment button (paperclip icon). Images display as inline previews. Non-image files show as download links.

GPX Track Cards

When you upload a .gpx file, it renders as a rich card showing:

Click the card to open a full-screen map modal with the track plotted on OpenStreetMap tiles.

Slash Commands

Type / to see available commands. Built-in commands include /shrug, /tableflip, /unflip, /me, and /lenny. Spaces can define custom commands through the workflow system.

Use the search bar to find messages across the current space. Supports operators:


Community Calendar

The calendar is accessible from the sidebar in any space that has it enabled. It provides a full month-grid view with event management.

Viewing the Calendar

The calendar shows a month grid with events plotted on their dates. Color-coded dots indicate event categories. Two panels appear alongside the calendar:

Click a date to see all events on that day. Click an event to open its detail view.

Creating Events

Click the + button or right-click a date to create an event. Fill in:

Recurring Events (Series)

Check Recurring Event when creating to set up a series. Configure:

Each occurrence is a separate event that can be individually edited, cancelled, or claimed. Changes to the series template regenerate non-overridden occurrences.

RSVPs

Every event has three RSVP options: Going, Maybe, and Can't Go. Quick RSVP buttons appear in the upcoming events list. The event detail view shows full RSVP counts and a list of who responded.

The event creator receives a notification when someone RSVPs.

Event Organizers and Claiming

Events track an organizer — the person responsible for running the event. By default this is the creator, but it can be changed.

For activity events (ride, run, walk), the organizer can be flagged as "needed" — meaning the event has no leader yet. When this happens:

Claiming: If you see an event that needs an organizer and you can lead it, click Claim this event in the event detail view. You become the organizer and can edit the event's description, location, and route.

Releasing: If you claimed an event but can no longer lead it, click Release organizer role. The event goes back to "Organizer Needed" status and others are notified.

Reassignment: Space managers with Manage Calendar permission can reassign the organizer to any member directly, without the assignee needing Claim Events permission.

Meeting Rooms

Events can have voice/video meeting rooms that activate around the event time. Configure when people can join (at start, 5/15/30/60 minutes early, or anytime). Meeting rooms include:

The meeting room is cleaned up automatically when the last participant leaves after the event ends.

Event Sharing

From the event detail view, click Share to share the event as a rich embed card in any channel or DM.


Route Libraries

Route library channels are designed for organizing and curating GPS routes for your community.

Uploading Routes

Click Upload in a route library channel and select one or more .gpx files. Each file is parsed to extract:

You can also save routes from GPX cards that appear in chat messages.

Browsing Routes

Switch between card view (visual cards with map previews) and table view (compact list with sortable columns). Use the search bar to find routes by name, or sort by distance, elevation, or flatness.

Route Details

Click a route to see its full details including an interactive map, stats, and the option to download the original GPX file.

Linking Routes to Events

When creating or editing a calendar event, check "Link a Route" to attach a route from any route library in the space. The event card will show the route map, distance, and elevation.

Route Builder

Draw routes directly on the map without needing external tools. The route builder lets you plot points on a map that snap to roads, generating a GPX file you can save to the library.


Media Galleries

Gallery channels display photos and videos in a responsive grid layout.

Uploading

Drag and drop files onto the gallery, or click the upload button. You can upload multiple files at once. Add optional captions to describe each upload.

Viewing

Click any image to open a detail overlay. Use arrow keys or swipe to navigate between images. The overlay shows the full-size image, caption, uploader, and upload date.


Forums

Forum channels organize discussions into threads.

Creating a Thread

Click New Thread and provide a title and your initial post. The post supports the same Markdown formatting as chat messages.

Participating

Open a thread to read and reply. Replies are displayed in chronological order. You can react to individual posts within a thread.

Moderation

Members with the Manage Threads permission can:


Blog

Each space can have a built-in blog for longer-form content.

Writing a Post

  1. Open the Blog view from the sidebar.
  2. Click New Post.
  3. Write your post using the Markdown editor. You can upload images inline.
  4. Add a title and optional summary (shown in previews).
  5. Save as Draft to continue editing later, or Publish to make it live.

Public Blog

Individual blog posts can be marked as public to appear on the space's external blog page at app.crab.ac/blog/your-space-slug. The public blog includes an RSS feed for subscribers.


Newsletters

The newsletter system lets spaces send email newsletters to subscribers.

Composing

The block editor provides a visual newsletter builder with these block types:

Use the live preview to see how the newsletter will look before sending.

Publishing

When you publish a newsletter, it is sent via email to all subscribers. Delivery respects each subscriber's digest preference:

Subscribers

Newsletters can have two types of subscribers:

Analytics

If tracking is enabled for the space, you can see per-newsletter open and click rates.

Public Archive

Published newsletters can be made public for a web-viewable archive at app.crab.ac/newsletter/your-space-slug.


Social Features

Your Profile

Every user has a personal profile accessible by clicking your avatar on the home screen or visiting /you. Your profile includes:

Posts

Create posts from your profile or the social feed. Posts support:

Follows and Friends

The Feed

The social feed at /feed aggregates posts from people you follow, your friends, and your own posts in reverse chronological order. The feed supports infinite scroll and can be filtered by hashtag or search query.

Activities

Activities are physical outings (runs, rides, walks, hikes) recorded with GPS data. Activities render as rich cards showing:

Activities can be recorded from the mobile app. From the web, you can view, edit, and manage your activities from the Activities tab on your profile. You can save an activity's route to your personal route collection.


Personal Collections

Your profile has tabs for managing personal content:

Stats

Aggregated statistics for your recorded activities, broken down by activity type and time period.

Activities

A list of your recorded activities with route maps, stats, and the ability to edit or delete them.

Routes

Your personal route collection. You can add routes by saving from activities, uploading GPX files, or copying from space route libraries.

Events

Personal events and events you've RSVP'd to across spaces.

Photos

Your personal photo gallery. Upload images or copy them from space galleries.


Direct Messages

Starting a Conversation

Click the DM icon in the top navigation. You can:

If you're messaging someone for the first time and you don't follow each other, they'll receive a message request that they can accept or decline.

Features

DMs support the same features as channel messages: Markdown, file uploads, reactions, and GPX rendering.

Group DMs

Group conversations can have a custom name and support adding or removing participants.


Roles and Permissions

How Roles Work

Each space has its own set of roles. Roles have:

Members can have multiple roles. Their effective permissions are the combination (union) of all their roles' permissions.

The space owner always has all permissions regardless of roles.

Key Permissions

Permission What It Allows
View Channels See channels and read messages
Send Messages Send messages in text channels
Manage Messages Delete/pin others' messages
Manage Channels Create, edit, delete channels
Manage Roles Create, edit, delete roles and assign them
Manage Members Kick/ban members
Manage Space Edit space settings
Manage Calendar Create/edit/delete calendar events, categories, and series
Claim Events Claim events flagged as needing an organizer; edit claimed events' description, location, and route
Manage Blog Create, edit, delete blog posts
Manage Newsletter Create, edit, delete newsletters
Manage Workflows Create, edit, delete workflows and commands
Administrator Bypasses all permission checks (use sparingly)

Managing Roles

Space owners and members with the Manage Roles permission can create, edit, and delete roles from Space Settings > Roles.


Space Settings

Space settings are accessible from the gear icon in the channel sidebar. Available sections depend on your permissions:

General

Features

Toggle features on/off:

Public Web

Configure which features are exposed to the public web:

Roles

Create, edit, delete, and reorder roles. Assign permissions to each role.

Invites

Create and manage invite links. Invites can have limited uses or expiration dates.

Workflows

Create and manage automation workflows (see Workflows section below).

Reports

View and resolve content reports submitted by members.


Workflows

The workflow engine lets space admins automate tasks using a trigger-condition-action framework.

Creating a Workflow

  1. Go to Space Settings > Workflows.
  2. Click New Workflow.
  3. Choose a trigger — the event that starts the workflow.
  4. (Optional) Add conditions — rules that must be true for the workflow to proceed. Conditions support nested AND/OR logic.
  5. Add actions — what happens when the trigger fires and conditions pass.

Triggers

Trigger Fires When
Member Joined A new member joins the space
Message Created A message is sent in any channel
Image Uploaded A message contains image attachments
GPX Uploaded A message contains .gpx file attachments
Slash Command A custom command is invoked
Card Interaction A member clicks a button or submits a card form
Webhook An external service hits the space's webhook URL

Actions

Action What It Does
Send Message Post a message to a specific channel
Send Admin Message Post to the admin channel
Add Role / Remove Role Manage member roles automatically
Copy Images to Gallery Copy image attachments to a gallery channel
Copy Routes to Library Import GPX files into a route library
Show Card Display an interactive card with buttons and forms
Update Card / Dismiss Card Modify or remove a card
Send Webhook POST data to an external URL

Variables

Actions support {{variable}} interpolation. Available variables depend on the trigger type and include things like {{username}}, {{displayName}}, {{channelName}}, {{messageContent}}, and {{payload.*}} for webhooks.

Custom Slash Commands

Define custom commands in Space Settings > Workflows > Commands. Each command has a name, description, and optional typed arguments (text, number, user, channel, role, boolean). When invoked, the command fires a workflow trigger.

Interactive Cards

Cards are rich UI elements posted into channels by workflows. They can contain form fields (text inputs, dropdowns, user/channel/role pickers) and buttons that trigger follow-up workflows when clicked.

Webhooks

Enable webhooks in space settings to get a secret URL:

POST https://app.crab.ac/api/webhooks/<secret>/<slug>

The <slug> lets you route different services to different workflows. The JSON body is available as payload.* variables in actions.


Public Web Presence

Spaces can selectively expose content to the public internet. Each feature is independently toggleable:

Feature URL Pattern
Forums app.crab.ac/boards/your-space-slug
Galleries app.crab.ac/gallery/your-space-slug
Routes app.crab.ac/routes/your-space-slug
Calendar app.crab.ac/calendar/your-space-slug
Blog app.crab.ac/blog/your-space-slug
Newsletter app.crab.ac/newsletter/your-space-slug

When multiple public features are enabled, a navigation bar automatically appears linking between them. Admins can hide features from the navbar (keeping the URL working) and add custom external links.

ICS Calendar Feed

Public calendars provide a subscribable .ics feed:

app.crab.ac/api/boards/calendar/your-space-slug/feed.ics

Subscribe to this URL in Apple Calendar, Google Calendar, Outlook, or any calendar app that supports ICS subscriptions.

RSS Blog Feed

Public blogs provide an RSS 2.0 feed:

app.crab.ac/api/boards/blog/your-space-slug/feed.xml

Portals

Portals link channels across independent spaces. Messages, photos, or routes shared in one space appear in all connected spaces.

How Portals Work

A portal creates a shared view of a single channel across multiple spaces. Any channel type can be portaled: text, gallery, or route library. For example:

Creating a Portal

If you have permission in both spaces, you can create a portal directly. Otherwise, propose a portal via a portal invite that the target space's admins can accept or reject.


Moderation and Safety

Reporting

You can report messages, DM messages, gallery photos, routes, and forum posts. Reports go to the space's admin channel and appear in Space Settings > Reports for admins to review.

Blocking

Block a user from their profile card to:

Muting


Account Settings

Access your settings from the gear icon on the home screen or your profile.

Profile

Privacy

Security

Preferences

Notifications


Keyboard Shortcuts

Key Action
Enter Send message
Shift+Enter New line in message
Escape Close modal / cancel
Arrow keys Navigate in overlays

Mobile

The web app has a responsive mobile layout with:

All features available on desktop are also available on mobile, adapted for smaller screens.


Tips


Index

A

B

C

D

E

F

G

H

I

K

L

M

N

O

P

R

S

T

V

W