# dumpsterChat Feature Parity Comparison

## vs Discord, Guilded (historical), TeamSpeak 6, Fluxer

Compiled 2026-06-30. **Status refreshed 2026-07-15** (not a full re-audit of every row).

---

## Legend

| Icon | Meaning |
|------|---------|
| ✅ | Implemented |
| ❌ | Not implemented |
| 🔄 | In progress / planned |
| ⚠️ | Partial / buggy |

---

## 1. Text Chat

| Feature | dumpsterChat | Discord | Guilded | TeamSpeak 6 | Fluxer |
|---------|:------------:|:-------:|:-------:|:-----------:|:------:|
| Text channels | ✅ | ✅ | ✅ | ✅ | ✅ |
| Direct messages | ✅ | ✅ | ✅ | ❌ | ✅ |
| Markdown support | ✅ | ✅ full | ✅ full | ❌ basic | ✅ full |
| Reactions | ✅ | ✅ | ✅ | ❌ | ✅ |
| Replies | ✅ | ✅ | ✅ | ❌ | ✅ |
| Threads | ✅ | ✅ | ✅ | ❌ | 🔄 |
| Forum channels | ✅ | ✅ | ✅ | ❌ | 🔄 |
| Pinned messages | ✅ | ✅ | ✅ | ✅ | ✅ |
| Message search | ✅ | ✅ full | ✅ | ❌ | ✅ Meilisearch |
| Edit / delete messages | ✅ | ✅ | ✅ | ❌ | ✅ |
| Rich embeds / link unfurling | ✅ | ✅ | ✅ | ❌ | ✅ |
| File uploads | ⚠️ MinIO | ✅ | ✅ | ✅ | ✅ S3-backed |
| GIF picker (Giphy) | ✅ | ✅ | ✅ | ❌ | ✅ |
| Typing indicators | ✅ | ✅ | ✅ | ❌ | ✅ |
| Message history (pagination) | ✅ | ✅ | ✅ | ✅ | ✅ |
| Read receipts | ✅ | ✅ | ✅ | ❌ | 🔄 |
| @everyone / @channel | ✅ (perm gated) | ✅ | ✅ | ❌ | ✅ |

---

## 2. Voice & Video

| Feature | dumpsterChat | Discord | Guilded | TeamSpeak 6 | Fluxer |
|---------|:------------:|:-------:|:-------:|:-----------:|:------:|
| Voice channels | ✅ LiveKit | ✅ | ✅ | ✅ | ✅ LiveKit |
| Video calls | ✅ LiveKit | ✅ | ✅ | ✅ | ✅ |
| Screen share | ❌ | ✅ | ✅ | ✅ beta | 🔄 canary |
| Noise suppression | ✅ RNNoise | ✅ Krisp | ✅ | ❌ | ✅ DeepFilterNet3 |
| Push-to-talk | ❌ | ✅ | ✅ | ✅ | ✅ |
| Voice activity | ✅ | ✅ | ✅ | ✅ | ✅ |
| Go live / streaming | ❌ | ✅ | ✅ | ❌ | 🔄 |
| Stage channels | ❌ | ✅ | ❌ | ❌ | ❌ |
| E2EE voice/video | ❌ | ✅ | ❌ | ❌ | 🔄 |
| Whisper / poke | ✅ | ❌ | ✅ | ✅ | ❌ |

---

## 3. User System

| Feature | dumpsterChat | Discord | Guilded | TeamSpeak 6 | Fluxer |
|---------|:------------:|:-------:|:-------:|:-----------:|:------:|
| User profiles | ✅ basic | ✅ rich | ✅ rich | ✅ basic | ✅ medium |
| Avatars | ✅ Gravatar | ✅ | ✅ | ✅ | ✅ |
| Custom status (text) | ✅ | ✅ | ✅ | ❌ | ✅ |
| Status states (online/idle/dnd/offline) | ✅ | ✅ | ✅ | ✅ | ✅ |
| Badges | ❌ | ✅ | ✅ | ✅ | ✅ |
| Usernames + discriminators | ✅ | ⚠️ handles | ❌ | ✅ UID | ✅ #0000 |
| Friend requests | ❌ | ✅ | ✅ | ❌ | ✅ |
| Block list | ✅ | ✅ | ✅ | ❌ | ❌ |
| Activity / game status | ❌ | ✅ | ✅ | ❌ | ❌ |

---

## 4. Roles & Permissions

| Feature | dumpsterChat | Discord | Guilded | TeamSpeak 6 | Fluxer |
|---------|:------------:|:-------:|:-------:|:-----------:|:------:|
| Roles | ✅ | ✅ | ✅ | ✅ | ✅ |
| Hierarchical roles | ⚠️ basic | ✅ | ✅ | ✅ | ✅ |
| Permission bitflags | ✅ | ✅ | ✅ | ✅ granular | ✅ |
| Per-channel permission overrides | ✅ | ✅ | ✅ | ✅ | ✅ |
| @everyone default role | ✅ | ✅ | ✅ | ✅ | ✅ |
| Role colors | ⚠️ DB ready | ✅ | ✅ | ❌ | ✅ |
| Role icons | ❌ | ✅ Nitro | ❌ | ❌ | ❌ |
| Administrator bypass | ✅ | ✅ | ✅ | ✅ | ✅ |
| Client-side permission gates | ✅ (user roles + @everyone) | ✅ | ✅ | ✅ | ✅ |

### dumpsterChat Permissions (current)

`VIEW_CHANNEL`, `SEND_MESSAGES`, `MANAGE_MESSAGES`, `KICK_MEMBERS`, `BAN_MEMBERS`, `MANAGE_SERVER`, `MANAGE_CHANNELS`, `ADMINISTRATOR`, `CONNECT_VOICE`, `SPEAK_VOICE`, `SHARE_SCREEN`, `MUTE_MEMBERS`, `CREATE_INSTANT_INVITE`, `CHANGE_NICKNAME`, `MANAGE_NICKNAMES`, `MANAGE_ROLES`, `MANAGE_WEBHOOKS`, `EMBED_LINKS`, `ATTACH_FILES`, `ADD_REACTIONS`, `USE_EXTERNAL_EMOJIS`, `MENTION_EVERYONE`.

**Missing compared to Discord/Guilded:** `USE_VOICE_ACTIVITY`, `PRIORITY_SPEAKER`, `DEAFEN_MEMBERS`, `MOVE_MEMBERS`, `REQUEST_TO_SPEAK`, etc.

---

## 5. Moderation

| Feature | dumpsterChat | Discord | Guilded | TeamSpeak 6 | Fluxer |
|---------|:------------:|:-------:|:-------:|:-----------:|:------:|
| Kick | ✅ | ✅ | ✅ | ✅ | ✅ |
| Ban | ✅ | ✅ | ✅ | ✅ | ✅ |
| Mute (voice/text) | ✅ | ✅ | ✅ | ✅ | ✅ |
| Timeout | ❌ | ✅ | ❌ | ❌ | ❌ |
| Slowmode | ✅ | ✅ | ✅ | ❌ | ✅ |
| AutoMod | ❌ | ✅ | ✅ Flow Bots | ❌ | 🔄 |
| Audit log | ✅ | ✅ | ✅ | ❌ | ✅ |
| Message delete bulk | ✅ | ✅ | ✅ | ❌ | ✅ |
| Member screening / applications | ❌ | ❌ | ✅ recruitment | ❌ | ❌ |
| Reports | ❌ | ✅ | ✅ | ❌ | ✅ |

---

## 6. Server Management

| Feature | dumpsterChat | Discord | Guilded | TeamSpeak 6 | Fluxer |
|---------|:------------:|:-------:|:-------:|:-----------:|:------:|
| Create / delete server | ✅ | ✅ | ✅ | ✅ | ✅ |
| Server icon | ✅ | ✅ | ✅ | ✅ | ✅ |
| Channel categories | ✅ | ✅ | ✅ | ✅ | ✅ |
| Channel types | text, voice, forum, calendar, docs, list | 8+ | 10+ | voice + text | text, voice |
| Channel reordering (position) | ✅ | ✅ | ✅ | ✅ | ✅ |
| Server invites | ✅ | ✅ | ✅ | ✅ | ✅ |
| Vanity URLs | ❌ | ✅ Nitro | ❌ | ❌ | ❌ |
| Webhooks | ✅ | ✅ | ✅ | ❌ | ✅ |
| Bots / API | ⚠️ store + runner | ✅ huge | ✅ Flow Bots | ❌ plugins | 🔄 |
| Server templates | ❌ | ✅ | ❌ | ❌ | ❌ |
| Server discovery | ❌ | ✅ | ✅ | ✅ | 🔄 |
| Server analytics | ❌ | ✅ | ✅ | ❌ | ❌ |
| Server monetization | ❌ | ❌ | ✅ Subs | ❌ | ❌ |
| Server groups / sub-servers | ❌ | ❌ | ✅ | ✅ virtual | ✅ communities |

---

## 7. Notifications

| Feature | dumpsterChat | Discord | Guilded | TeamSpeak 6 | Fluxer |
|---------|:------------:|:-------:|:-------:|:-----------:|:------:|
| Desktop notifications | ⚠️ possible via SW | ✅ | ✅ | ✅ | ✅ |
| Web push notifications | ✅ | ✅ | ✅ | ✅ | ✅ |
| @mention push | ✅ | ✅ | ✅ | ❌ | ✅ |
| Channel-wide push (@everyone/@channel) | ✅ | ✅ | ✅ | ❌ | ✅ |
| Email notifications | ❌ | ✅ | ✅ | ❌ | 🔄 |
| Mobile apps | ❌ (PWA is target) | ✅ iOS/Android | ✅ | ✅ | 🔄 Flutter alpha |
| Per-channel notification settings | ⚠️ partial | ✅ | ✅ | ✅ | ✅ |
| Do Not Disturb schedule | ❌ | ✅ | ❌ | ❌ | ❌ |

---

## 8. Bots & Integrations

| Feature | dumpsterChat | Discord | Guilded | TeamSpeak 6 | Fluxer |
|---------|:------------:|:-------:|:-------:|:-----------:|:------:|
| Bot accounts | ✅ | ✅ | ✅ Flow Bots | ⚠️ plugins | 🔄 |
| Bot tokens | ✅ | ✅ | ✅ | ❌ | ✅ |
| Slash commands | ✅ | ✅ | ✅ | ❌ | 🔄 |
| Command options / JSON schema | ✅ | ✅ | ✅ | ❌ | 🔄 |
| Bot mentions | ✅ | ✅ | ❌ | ❌ | 🔄 |
| Built-in bot runner (anonConfess, leaderboard, steamfree) | ✅ | ❌ | ⚠️ | ❌ | ❌ |
| Third-party integrations (Twitch, YouTube, GitHub) | ❌ | ✅ | ✅ | ❌ | 🔄 |
| Webhook-driven bots | ✅ | ✅ | ✅ | ❌ | ✅ |

---

## 9. Unique / Differentiating Features

### dumpsterChat
- Self-hosted, lightweight Go + React stack
- Terminal/Gruvbox aesthetic
- WebAuthn / passkey auth
- LiveKit voice integration
- Built-in bot store + managed runner
- PWA-first mobile (no native app planned)

### Discord / Guilded / TeamSpeak / Fluxer
See historical notes in git history if needed. Not the product roadmap.

---

## 10. Infrastructure & Platform

| Feature | dumpsterChat | Discord | Guilded | TeamSpeak 6 | Fluxer |
|---------|:------------:|:-------:|:-------:|:-----------:|:------:|
| Self-hostable | ✅ | ❌ | ❌ | ✅ | ✅ |
| Open source | ⚠️ private self-host | ❌ | ❌ | ❌ | ✅ AGPL-3 |
| PWA support | ✅ | ✅ | ✅ | ✅ | ✅ |
| REST API | ✅ | ✅ | ✅ | ❌ | ✅ |
| WebSocket gateway | ✅ | ✅ | ✅ | ✅ | ✅ |
| Swagger docs | ✅ /docs | ✅ | ✅ | ❌ | ✅ |
| Docker Compose | ✅ | ❌ | ❌ | ❌ | ✅ |

---

## Priority Recommendations (updated)

**Do not treat this table as a todo list.** For a ~12 person friend server, parity rows are optional.

### Actual next polish (product)
1. Mobile PWA pain (input, notifs, safe areas)
2. Role color UI / hierarchy polish
3. Voice PTT / screen share only if voice is used
4. Small slash toys (`/roll`, `/choose`) if wanted

### Real tech debt
1. More tests on hot paths (permissions DB checker, bot auth)
2. Keep client permission cache in sync after role edits (partially done)
3. Deploy docs must name the real unit: `dumpster.service`

### Explicitly not critical
- Friend requests (DMs already exist among members)
- Native mobile apps
- Discord bot ecosystem compatibility
- Server discovery / monetization / federation
- AutoMod / Flow Bots

### Stale claims removed
- ~~"Direct Messages missing"~~ — DMs exist
- ~~"Mobile app is the only path"~~ — PWA is the target client
