Self-hosted. User-owned. Zero dependencies. Chirm, Deep, Perch, and Flock form a three-tier ecosystem where the answer to "who has power?" is always the participants.
Last updated April 2026
Three tiers of infrastructure — community, personal, physical — each removing one dependency so participants hold the power at every layer.
Community Chat
Channels, voice, files. A single binary on a Raspberry Pi. Your server, your community. Removes the corporate platform.
Extended Infrastructure
Same space with more capacity. SFU voice, Signal Protocol, server-side transcoding, optional PostgreSQL. Binary-swap upgrade from Main.
Blog & Identity
Your blog, your profile, your portable identity. Self-hosted with automated DDNS and TLS. Removes the admin from your identity.
Proximity Exchange
Two devices, one protocol, zero infrastructure. Bluetooth LE, WiFi Direct, or future transports. Removes the internet itself.
Instead of servers talking to servers, the Chirm ecosystem puts users at the centre. Identity is self-hosted and portable. Communication routes directly. Discovery happens through proximity and participation, not algorithmic amplification.
| Product | Dependency Removed | Sovereignty Gained | Trade-off Accepted |
|---|---|---|---|
| Chirm Main | Corporate platforms | Community ownership | Self-hosting ops |
| Chirm Deep | Hardware limitations | Scaled capacity | Heavier infrastructure |
| Perch | Server admin control | Identity + content portability | Always-on for DMs |
| Flock | Internet connectivity | Physical-layer exchange | Active app, range limits |
Phases 0–5 · Single Binary · Pi-Aligned · Phases 0–3 Largely Complete
The community layer. Six phases taking Chirm from a functional baseline to a polished, extensible, themeable platform. Phases 0 through 3 are substantially delivered — security hardening, modular architecture, theming, and bot token API are live. Phases 4 and 5 are in progress.
User-facing quality before structural changes. Highest ROI — shapes every new user's first impression.
Security audit, documentation, and testing foundation. The gate before external contributors and the safety net for Phase 2's refactor.
The structural work that enables everything else. The v1.0.0 tag signals API stability — the foundation the entire ecosystem builds on.
Chirm's 30+ CSS variables make this lower-effort than starting from scratch. The JSON theme format defined here is shared with Perch — one format, two products.
First test of Phase 2's plugin architecture. Each plugin is optional and toggleable. Main keeps them lightweight — heavy transcoding stays in Deep.
Built-in management bot plus external integration API, designed for Main's single-process model.
Phases D1–D2 · Extended Infrastructure · The Scaling Layer
Deep extends Main for workloads exceeding Pi-class hardware. It imports Main as a dependency and adds service layers. Migration is a binary swap — same data directory, same config, same database.
Replace P2P mesh with a Selective Forwarding Unit for rooms beyond 5–6 participants.
Heavy media operations requiring ffmpeg and sustained CPU.
Self-Hosted Blog · Portable Identity · The User Layer
Where Chirm creates community spaces controlled by admins, Perch creates individual spaces controlled by users. A self-hosted blog and identity platform that stands alone as a publishing tool and integrates with Chirm for those who choose it.
Standalone blog and identity platform, valuable before any Chirm integration. Ships with all infrastructure plumbing needed for P2 and P3.
Connecting Perch identities to Chirm servers. Requires Chirm Main v1.0.0 for the external auth hook.
Perch-to-Perch communication. Blog platform becomes social network without central infrastructure.
Proximity Exchange · No Internet · The Physical Layer
Two devices exchange data over radio. No server, no connection, no account required at the moment of exchange. The entire network is people in the same physical space.
Mobile app with device-to-device exchange. The protocol is defined at the logical layer, independent of physical transport.
Optional infrastructure for extending Flock's reach beyond direct proximity.
Solo developer pace. Sequencing matters more than dates. Perch P1 and Chirm Phase 2 develop in parallel as separate codebases sharing architectural patterns.
Delivered CSRF protection, JWT refresh rotation, TOTP 2FA, password policy with HIBP checks, and login lockout. Rate limiter memory leak fixed, orphan upload cleanup running. Modular multi-database architecture, domain event bus, and plugin system shipped. ES module frontend migration complete. /api/v1/ prefix established.
Theming engine live with 5 presets, 28 CSS variables, and server/user override with live color picker. Bot token API operational with scoped permissions. Image lightbox, mobile responsive layout, and unread indicators delivered. Focus now shifts to documentation, test coverage, and remaining Phase 2–3 gaps.
Complete media plugins: custom video player, voice recording, code highlighting. Build test coverage and CI pipeline. Ship ADRs, CONTRIBUTING.md, and API reference. Begin remaining frontend modernization — reactive state store and tagged template components.
Built-in moderation and utility bot commands. WebSocket gateway for external bots. Webhooks. Accessibility features: reduced motion, high contrast, larger click targets. Target v1.0.0 stable release with full documentation and test coverage.
Perch launches as a standalone blog and identity platform. Deep adds SFU voice and media transcoding. Flock ships the proximity exchange protocol. Community contributions expand the plugin ecosystem.
Every layer answers the same question differently:
what stands between the user and their goal, and how do we remove it?
Chirm removes the platform.
Deep removes the constraint.
Perch removes the admin.
Flock removes the internet.
No product requires any other. Each ships value independently. Together they form a three-tier ecosystem where at every layer the participants have the power and nobody else does.