Skip to content

Community Dashboard

The IrregularChat community uses a suite of interconnected web services that integrate with the Signal bot. This page provides an overview of all community web services.

ServiceURLPurpose
Main Dashboardhttps://irregulars.ioCommunity hub and navigation
Eventshttps://event.irregulars.ioEvent management, RSVPs, polls
RSS Readerhttps://rss.irregulars.ioNews aggregation, link sharing
Q&A Webhttps://qa.irregulars.ioQuestions, answers, voting
Forumhttps://forum.irregularchat.comDiscourse community forum
Wikihttps://irregularpedia.orgCommunity knowledge base
Admin Portalhttps://irregulars.io/adminAdmin dashboard (groups, DMs, announcements)
SSOhttps://sso.irregularchat.comSingle sign-on (Authentik)

URL: https://irregulars.io

The main community dashboard serves as a central hub for:

  • Quick links to all community services
  • Community announcements
  • Getting started guides
  • Navigation to specialized services

URL: https://event.irregulars.io Documentation: Events

Create and coordinate community events with:

  • Event creation (quick, AI-parsed, or collaborative planning)
  • RSVP tracking (going, maybe, not going)
  • Date and venue polls for group decision-making
  • Calendar export (ICS files)
  • Signal bot integration
!events # List upcoming events
!event quick "Title" time # Create event
!event parse <description> # AI-powered creation
!event plan dates; venues; desc # Collaborative planning
!event vote <id> # Vote on polls
!event rsvp going <id> # RSVP to event
  • Polls: Let groups vote on dates and locations
  • Privacy: Signal-created events require login
  • Sharing: Share events to multiple Signal groups
  • Reactions: 👍 to RSVP as going

URL: https://rss.irregulars.io Documentation: RSS Reader

Aggregates and curates news, articles, and links shared in Signal groups:

  • Browse links by category (news, social, repos, documents)
  • Search and filter content
  • Bookmark links for later
  • Comment and discuss
  • Queue links for daily/weekly digests
!links # Recent links from all groups
!links -c # Links from current group only
!links -t 24h # Links from last 24 hours
!links search <term> # Search shared links
  • News - Articles and news stories
  • Social - Social media posts (Twitter/X, etc.)
  • Repositories - GitHub, GitLab repos
  • Documents - PDFs, files, documents
  • Browse publicly shared links without login
  • Login required for bookmarks, comments, and queuing

URL: https://qa.irregulars.io Documentation: Q&A System, Q&A Web API

Web interface for the community Q&A system:

  • Browse unanswered questions
  • View answered questions with solutions
  • Search question history
  • Vote on answers
!ask <question> # Ask a question
!questions # List open questions
!answer <id> <answer> # Answer a question
!solved <id> # Mark question as solved
!qa search <term> # Search Q&A history
  • Questions asked via Signal appear on the web
  • Answers can be provided via Signal or web
  • Voting helps surface best answers
  • Solved questions are archived for reference

URL: https://forum.irregularchat.com

Discourse-based community forum for longer discussions:

  • Categorized discussions
  • Topic subscriptions
  • Rich text and media support
  • Email notifications
!fpost <title> | <content> # Create forum post
!flatest # Latest forum posts
!fsearch <query> # Search forum
!categories # List forum categories

URL: https://irregularpedia.org

Community knowledge base (IrregularPedia):

  • Community-maintained documentation
  • Guides and how-tos
  • Reference materials
  • Searchable archive
!wiki # Wiki links and info
!wikisearch <query> # Search wiki content
!wikiask <question> # AI-powered Q&A from wiki
!wikiindex # Browse wiki categories

URL: https://irregulars.io/admin

The admin portal provides a web-based dashboard for community administrators, accessible through the main community portal at irregulars.io. Requires SSO login and admin privileges.

TabDescription
GroupsView all Signal groups the bot is in, member counts, group IDs
MembersBrowse community members, search by name, view profiles
AnnouncementsCompose and send announcements to groups or as DMs
ScheduledView and manage scheduled announcements
DM InboxBrowse DM conversations and reply to users via the bot
Admin RolesManage bot admin privileges (super admin only)

The DM Inbox tab lets admins read and respond to direct messages sent to the bot:

  • Conversation list — All DM conversations that contain actual text messages, sorted by most recent activity. Shows sender name, message preview, message count, and last activity time.
  • Thread view — Click a conversation to see the full message thread in chronological order. Messages are displayed as inbound (from user) or outbound (from bot) bubbles.
  • Reply — Type a message and send it as a DM from the bot to the user.
  • Announcement responses — Sent announcements in the Announcements tab have a “View Responses” button that shows DMs received within 24 hours of the announcement.

Compose announcements with the message-first layout:

  1. Write the announcement message
  2. Choose delivery method: Group message or Direct message
  3. Select target groups (for group messages) or let the bot send to all members (for DMs)
  4. Preview and send

Group announcements support multi-group delivery. DM announcements send individual messages to each member of the selected groups.

Super admins can manage bot admin privileges:

  • Add admin — Grant admin access by Signal UUID
  • Remove admin — Revoke admin access
  • View admins — List all current bot admins with their roles
EndpointMethodDescription
/api/admin/groupsGETList all bot groups
/api/admin/membersGETList community members
/api/admin/announcePOSTSend announcement
/api/admin/dm/conversationsGETList DM conversations
/api/admin/dm/conversations/:uuidGETFull DM thread for one person
/api/admin/dm/announcement/:id/responsesGETDMs correlated to an announcement
/api/admin/dm/sendPOSTSend DM reply
/api/admin/bot-adminsGETList bot admins
/api/admin/bot-adminsPOSTAdd bot admin
/api/admin/bot-admins/:uuidDELETERemove bot admin

URL: https://sso.irregularchat.com

Authentik-based single sign-on provides:

  • One account for all services
  • Secure authentication
  • Group-based permissions
  • Account management
!createuser <username> # Create SSO account (admin)
!accountinvite <email> # Send account invite (admin)

┌─────────────────────────────────────────────────────────────┐
│ Signal Groups │
│ (via Signal Bot) │
└─────────────────────────┬───────────────────────────────────┘
┌─────────────────────────────────────────────────────────────┐
│ Signal Bot Server │
│ (Docker on Proxmox/Self-hosted) │
│ │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ Commands │ │ API │ │ Database │ │
│ │ Handler │ │ Server │ │ (Postgres) │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
└─────────────────────────┬───────────────────────────────────┘
┌───────────────┼───────────────┬───────────────┐
│ │ │ │
▼ ▼ ▼ ▼
┌───────────┐ ┌───────────┐ ┌───────────┐ ┌───────────┐
│ Events │ │ RSS │ │ Q&A │ │ Forum │
│ (CF D1) │ │ Reader │ │ Web │ │ (Discourse)│
│ │ │ (CF KV) │ │ (CF KV) │ │ │
└───────────┘ └───────────┘ └───────────┘ └───────────┘
│ │ │ │
└───────────────┴───────────────┴───────────────┘
┌─────────────────────┐
│ Authentik │
│ (SSO Provider) │
└─────────────────────┘
ServicePlatformDatabase
Signal BotDocker (Proxmox)PostgreSQL
EventsCloudflare WorkersD1 (SQLite)
RSS ReaderCloudflare WorkersKV + PostgreSQL
Q&A WebCloudflare WorkersKV + PostgreSQL
ForumSelf-hostedPostgreSQL
WikiGitea WikiGit
SSOAuthentikPostgreSQL

All services use Authentik for authentication:

  1. User clicks “Login” on any service
  2. Redirect to sso.irregularchat.com
  3. User authenticates (password, passkey, etc.)
  4. Redirect back with OIDC token
  5. Service creates session
  • Single login for all services
  • Consistent user identity
  • Centralized account management
  • Group-based access control

Terminal window
# Deploy all workers
cd event-service && npx wrangler deploy
cd ../rss-reader && ./deploy.sh
cd ../qa-web-form && ./deploy.sh
Terminal window
# Full deployment
./deploy.sh deploy --no-cache
# Quick sync
./deploy.sh sync

Each service requires environment variables and secrets. See: