TWENTY ONE Companion

space.einundzwanzig.mobile
by El Presidento Ben el-presidento-benito@einundzwanzig.space

Meetups, events, courses and group chat of the Bitcoin community

The companion app for the TWENTY ONE Portal on Android: meetups, events, courses, lecturers and places — right in your pocket. - Meetups & events with a region filter - Map of all meetups (OpenStreetMap) - Courses & lecturers - Group chat on Nostr (NIP-29) with Lightning zaps (NIP-57) - Workspaces: a second space next to the community relay, with its own channels - Read the community's longform articles right in the app - Create and manage your own meetups, events, courses, lecturers and places - Join the association in-app: statutes, application and the BTCPay checkout for the annual fee — after paying, activation arrives on its own - Chat notifications without Goolag: your phone checks the relay itself in the background — no Play Services, no second app, no push server in between. Off by default. - Built-in wallet: connect Alby / any NWC wallet, send & receive sats - Amber offline mode: sign on-device via NIP-55, no round-trips - Sign in with Nostr: Amber on-device (NIP-55) or a remote bunker (NIP-46, incl. QR) - Offline-ready: the chat is cached on-device, recently loaded data stays available - 8 languages: German, English, Spanish, Portuguese, Dutch, Polish, Hungarian, Latvian

First release: Jun 13, 2026, 35 total releases.

Most recent release: Sep 23, 2026.

Website Repo

Appears in 2 app stacks.

6,930 sats / 6 zaps received in the past year.

Sats Received

Underlying data available via MCP: app_zaps, app_releases.

Zap Count

Underlying data available via MCP: app_zaps, app_releases.

Releases

  • Sep 23, 2026 1.13.0
    - One entrance instead of many tabs: the bottom bar has three fixed places — Home, search and Inbox — and your avatar leads to You, where the old More and Profile screens now live. - Home shows what you pinned. Pin rooms and articles; your pins are saved to your relays, and until one of them confirms, they only apply on this device. - The Inbox has five segments: All, Mentions, Threads, Direct and Reminders. Encrypted messages are under Direct. - Meetups, dates, courses and lecturers from the EINUNDZWANZIG Portal open inside the app. When the Portal is not answering, a page shows what was loaded last. - One search: o: t: k: l: show meetups, dates, courses and lecturers from the Portal, z: the dates of your own meetups to RSVP to. - RSVP to meetup dates. Where a meetup allows it, the RSVP goes out over Nostr — and the app says first: it is a signed, public event on third-party relays that stays there, even after you decline. - You › Association shows your membership, fee years and receipts. - People: follow several members at once. "Review selection" shows how your contact list grows before anything is signed; if the list changed since the preview, nothing is written. - Videos in the chat no longer flicker and reload while a room is loading. - The APK is now signed with signature schemes v1, v2 and v3 — same key, same certificate, existing installs update as before. Android 13 or newer.
  • Sep 11, 2026 1.12.1
    - A maintenance release: no new features, one crash closed and the groundwork under the app brought up to date. - The app could die right after an update, while it was still open. A background job starting Laravel a second time — the one that checks for new messages, or the one that runs queued work — tore down the running PHP engine instead of attaching to it. It never happened on a cold start, only in that window, which is why it looked random. - Background work now waits for the first boot after an update to finish before it touches anything, instead of racing it. - The rule that only portal links under /app/ open in the app, while everything else stays in your browser, is now part of NativePHP itself rather than a local change on top of it. Same behaviour, one less thing that can silently fall away on the next update — and the build now refuses to produce an APK whose manifest disagrees.
  • Sep 5, 2026 1.12.0
    - Direct messages can now be encrypted end to end (NIP-17): what you write is unreadable to the space operator, and only the two of you can open it. The existing chat DMs stay as they are with their history — they were never encrypted, so nothing could move over, and the app says on screen which of the two you are in. - The encrypted inbox has its own place in your profile menu, next to Bookmarks. - You can hide a person for yourself, without asking a moderator. It hides their messages in your own chat list, syncs across your devices, and is not a ban. - You can send PDFs and videos, not just images. Which file types actually go through is the relay's decision, and the composer tells you the rule that applies before you pick a file. Videos play right in the chat, documents arrive as a download card. - You can mute or star a room from your phone now — both used to be read-only here. - Search finds your conversations by name, and a conversation is named after the people in it instead of just saying "DM". - The next meetup date appears in the room header, you can RSVP to it, and it says which time zone it means. An RSVP is a public, signed event on other relays and stays there even if you decline. - Preview lines no longer show raw nostr identifiers where the sentence belongs. - Encrypted messages reach members of your own space. Other Nostr clients cannot learn where to write to you there yet — the app says so instead of offering a button that cannot work.
  • Sep 4, 2026 1.11.0
    - There's a new set of location cards on the chat overview, so you can jump straight to Chat, Articles or Forge — and a bug where a shared link to a tab opened a different one instead is fixed. - The article list now has search and sorting. - Opening an article gives you a proper reading view, with sharing, an image lightbox, a reading-progress indicator, and the author shown alongside. - A podcast article now carries a clear label on its card, with separate links to read the text and play the episode. - Every author now has their own page, reachable and shareable by a direct link, and author links elsewhere now open on media.einundzwanzig.space instead of a third-party app. - Articles show how many zaps, reactions and comments they've received — counts come only from this community's own relay, so they may be lower than what you'd see elsewhere. - You can now react to articles and leave comments right in the app. - Fixed a flicker when opening an article, where the previous screen briefly showed through.
  • Sep 1, 2026 1.10.0
    - There's a new set of location cards on the chat overview, so you can jump straight to Chat, Articles or Forge — and a bug where a shared link to a tab opened a different one instead is fixed. - The article list now has search and sorting. - Opening an article gives you a proper reading view, with sharing, an image lightbox, a reading-progress indicator, and the author shown alongside. - A podcast article now carries a clear label on its card, with separate links to read the text and play the episode. - Every author now has their own page, reachable and shareable by a direct link, and author links elsewhere now open on media.einundzwanzig.space instead of a third-party app. - Articles show how many zaps, reactions and comments they've received — counts come only from this community's own relay, so they may be lower than what you'd see elsewhere. - You can now react to articles and leave comments right in the app. - Fixed a flicker when opening an article, where the previous screen briefly showed through.
  • Aug 28, 2026 1.9.4
    - There's a new set of location cards on the chat overview, so you can jump straight to Chat, Articles or Forge — and a bug where a shared link to a tab opened a different one instead is fixed. - The article list now has search and sorting. - Opening an article gives you a proper reading view, with sharing, an image lightbox, a reading-progress indicator, and the author shown alongside. - A podcast article now carries a clear label on its card, with separate links to read the text and play the episode. - Every author now has their own page, reachable and shareable by a direct link, and author links elsewhere now open on media.einundzwanzig.space instead of a third-party app. - Articles show how many zaps, reactions and comments they've received — counts come only from this community's own relay, so they may be lower than what you'd see elsewhere. - You can now react to articles and leave comments right in the app. - Fixed a flicker when opening an article, where the previous screen briefly showed through.
  • Aug 22, 2026 1.9.3
    - There's a new set of location cards on the chat overview, so you can jump straight to Chat, Articles or Forge — and a bug where a shared link to a tab opened a different one instead is fixed. - The article list now has search and sorting. - Opening an article gives you a proper reading view, with sharing, an image lightbox, a reading-progress indicator, and the author shown alongside. - A podcast article now carries a clear label on its card, with separate links to read the text and play the episode. - Every author now has their own page, reachable and shareable by a direct link, and author links elsewhere now open on media.einundzwanzig.space instead of a third-party app. - Articles show how many zaps, reactions and comments they've received — counts come only from this community's own relay, so they may be lower than what you'd see elsewhere. - You can now react to articles and leave comments right in the app. - Fixed a flicker when opening an article, where the previous screen briefly showed through.
  • Aug 20, 2026 1.9.2
    - Forge: read and write repositories, issues and pull requests right in the app, with an activity timeline grouped by day instead of twenty identical year stamps. - Forum channels: your workspace now carries topic lists and threads — open a topic, read it, reply to it. - Workspace improvements: member status and channel preferences are visible, the search finds your own messages, and avatars and inline images from the workspace relay finally load. - Notifications are readable again: a chat notification shows the message itself instead of a hundred characters of nostr:nevent identifier. - Dead relays: seven parked ex-relay domains are no longer queried, and your own relay blocklist is loaded at last. - Accessibility: every keyboard stop now has a visible focus ring, and three search fields got a name a screen reader can announce. - Smaller fixes: a deleted room disappears on its own, an unavailable emoji falls back to its shortcode, and the same announcement can no longer be posted twice.
  • Aug 16, 2026 1.9.1
    - Workspaces: a second space sits next to the community relay, with its own channels — same app, same key, one tap away in the chat tab. - Read the community's articles in the app: the longform posts from the board now open right in the chat tab instead of sending you to a browser. - Every dropdown stays dark: picking a language, a region, a country filter or a time zone used to tear a bright system sheet over the dark app. They are part of the app now, in every one of the eight languages. - The magnifier in the tab bar works everywhere: on meetups, events, the map and the rest it opens the app search for meetups, courses and lecturers instead of doing nothing. - Buttons speak your language: the close and clear buttons of dialogs and search fields were labelled in English for screen readers regardless of your setting. - Security: commonmark and nanoid updated, closing seven advisories.
  • Aug 16, 2026 1.9.0
    - Become an association member without leaving the app: the membership gate leads straight into the joining flow — statutes, application, and the BTCPay checkout for the 21,000 sats annual fee, entirely in-app. After paying you can close the app; the activation arrives by itself and unlocks rooms and chat. - Search is here: a search palette finds rooms and messages from what you have loaded — one tap on the search field, no detour. - Quote messages as cards: quoting now shows the quoted message as a proper card above your reply, so context stays readable. - Restricted rooms say what they are: a room you cannot enter shows an empty state with a join action instead of failing silently, and the room header no longer freezes on a wrong hint when the relay answers late. - A clearer gate for everyone: signed-in non-members, guests, and members each get the sentence that is actually true for them — no more "you are not a member" for someone who simply is not signed in. - Sharper readability in both themes: contrast fixes on active rows and text tokens, unread counts announced as full sentences by screen readers, and image placeholders that distinguish "not allowed" from "failed".
  • Jul 27, 2026 1.8.0
    - Unread markers arrive: rooms, threads and the bell now show how much is waiting for you. A room you have read goes quiet, one with new messages carries a count — so you can tell at a glance where to look instead of opening everything. - Your read state follows you between devices. Read a room on your laptop and the phone catches up, encrypted to yourself so nobody else can see what you have read. - Notifications from quiet rooms no longer go missing: the background check asked the relay for all your rooms at once, so busy rooms crowded out the quiet ones and their messages were never announced. It now asks per room. - No more notifications for messages you already read. Until now the background check started from the moment you last opened a screen, not from what you had actually read — so messages you read in the app could still be announced afterwards, while the badge already said zero. Measured on a device and fixed at the root. - Notifications clear themselves when you open the app, instead of lingering in the status bar after you have long since read them. - Coming back from the background is enough for the read state to update. It used to take a full restart of the app. - Project support rooms now sit behind their own "Discover" entry, like meetups, instead of being listed one by one or mixed into your own rooms. Unread messages in them are still counted — the number rides along on that entry. - The top of the room list lost a large empty gap, and the room count moved to where it belongs: next to the heading it describes. Creating a room is now a proper row at the bottom of the card, with a touch target that meets the accessibility guideline. - Counting words are correct now: "1 room" instead of "1 rooms" — including what a screen reader announces, where the visible text and the spoken text used to disagree.
  • Jul 22, 2026 1.7.5
    - Links in chat are tappable again: on the phone a link in a message did nothing at all. It now opens properly — and the full address is shown, including "?t=" timestamps, so you can see where a link goes before you tap it. - Your wallet settings stay put: a connection made in the first fraction of a second after launch could be lost on the way, which made a connected NWC wallet look like it had forgotten itself. Startup signing was hit by the same fault. Both fixed at the root. - Zaps are steadier: no longer stuck behind a retry delay, receipts arrive live instead of being fetched once, and failures name the real reason. - Saving your profile stops crying wolf: one relay that only accepts relay lists reported a red error on every successful save. It is no longer asked to store profiles it will never keep. - Rooms behave: a deleted room no longer flashes back into the list, and a renamed room updates immediately. - "Session expired" says so, with a reconnect button, instead of claiming the portal is unreachable. - New in the group chat: "Project support" rooms get their own section instead of mixing into the general room list, with additional tags when a room is created.
  • Jul 19, 2026 1.7.4
    - Your meetup, meet your chat: meetup pages now have a "Go to room chat" button that jumps straight into that meetup's private group chat — one tap, and only shown when the meetup actually has a room. - Tap a photo to zoom: chat images now open full-screen with pinch-to-zoom, so whiteboard shots, slides and QR codes are readable. - Smoother threads: opening, linking and closing a thread feels tidier, and the thread header collapses cleanly on small screens. - The chat you land in: threaded replies with photos, emoji reactions and zaps, cached offline for instant open, moderated by your own space and room admins — now a single tap from the meetup.
  • Jul 17, 2026 1.7.3
    - Settings, unified: your account, space, appearance, region & language and notifications now live on a single screen — no more jumping between separate portal and Nostr menus. Theme and sign-out appear exactly once. - Advanced settings (relays & media) moved behind a single collapsible "Advanced" section. - Removed the pull-to-refresh gesture and the header refresh button — the app keeps itself up to date on its own. - Removed the region-switch celebration overlay for a calmer, quicker experience.
  • Jul 16, 2026 1.7.2
    - Moderate straight from the chat: space and room admins can now remove someone else's message from a room, and work through the incoming report queue ("Fork off!" / NIP-56 reports) — no desktop needed. - Edit your space on the go: change its name, description and icon from the app. - Manage rooms from your phone: create, edit and delete rooms, run closed (approval-only) rooms, and approve or decline join requests from the membership queue. - Admin deletions now sync live: when a message is removed it disappears for everyone right away, instead of lingering until the next reload. - Zaps resolve faster, and the ⚡ tally chip no longer goes missing after a zapper loads.
  • Jul 16, 2026 1.7.1
    - The chat opens without freezing: while a room loads its history in the background, the app stays responsive to the touch from the first moment — opening rooms, tapping message actions and scrolling no longer wait for the load to finish, even on a cold start with a lot of messages. - Live chat keeps flowing after you switch away: leaving the app and coming back reconnects the room and catches up on missed messages, instead of going quiet until you re-enter it. - Zaps show up faster — zap amounts now resolve directly, without an extra relay round-trip. - Background message notifications now track your active space and room list. - Saving your Lightning receiving address now shows a per-relay result, so you can see where it saved and why a relay turned it down.
  • Jul 15, 2026 1.7.0
    - Chat notifications — without Goolag: your phone now checks the group relay for new messages in the background and notifies you, with no Goolag Play Services, no second app and no push server in between. Off by default; turn it on in Settings › Chat notifications. - Notifications work with your existing signer: Amber on the same phone (NIP-55) or a remote bunker (NIP-46) — both sign in the background, without asking you every time. - Easy on the battery: it only checks while the app is closed, never opens a connection when you are using the app, and backs off automatically when your signer is unreachable. - The chat loads older messages again when you scroll up. - Photo uploads now always go to blossom.einundzwanzig.space, which fixes uploads for accounts whose media server was configured elsewhere. - The jump-to-latest arrow no longer stays stuck after scrolling to the bottom.
  • Jul 15, 2026 1.6.0
    - The group chat now opens instantly and works offline: your history is cached on-device (per account), so it loads immediately on a cold start and stays readable even when a relay is down — with automatic pruning and a wipe on logout. - Signing in with Nostr (Amber/NIP-55) is now a single, streamlined login, and a bug that could silently drop your session has been fixed. - Failed photo uploads now show the real reason from your Blossom media server (or a clear "server unreachable") instead of a cryptic error. - Smoother chat: no more flash on load, and late-arriving reactions, zaps and NIP-05 badges fade in calmly.
  • Jul 14, 2026 1.5.0
    - Meetup, course and lecturer logos now open a built-in cropper — frame your image from the camera or gallery before it's uploaded. - Chat image attachments now work on the phone: the native photo picker opens, so you can attach and crop photos in chat, not just in the browser. - Reply in threads in the group chat (NIP-22), with linkable thread views and home tabs — and attach images inside threads too. - Your configured Blossom media server (kind 10063) is now shown in the chat settings. - Various stability fixes around image handling and the native web view.
  • Jul 12, 2026 1.4.2
    - Group chat scrolling is now virtualized: only on-screen messages render, so long rooms stay smooth instead of stuttering. - No more jumps or jitter — messages reserve their real height up front (fixed image boxes, a reserved lane for reactions/zaps, stable poll/goal sizes). - "Load older" keeps your reading position exactly where it was. - ASCII art and messages with hidden characters are measured correctly and no longer leave large empty gaps. - Opening a room lands cleanly at the newest message instead of jumping while reactions and zaps load.
  • Jul 11, 2026 1.4.1
    - Meetups and Events now open near-instantly: screens paint immediately with a skeleton and stream the data in behind them. - The meetup list renders a small window first and reveals more as you scroll (infinite scroll) instead of building hundreds of cards at once. - Community logos load lazily — only what's on screen is fetched. - A dedicated, leaner mobile API endpoint makes the meetup list load ~2.6× faster with ~3× less data. - Meetup detail pages show a skeleton first, then fill in. - The loading bar now uses the brand orange; logo-less meetups show clean initials.
  • Jul 11, 2026 1.4.0
    - Lightning zaps in chat: zap any message or member (NIP-57), with live zap totals. - Built-in wallet: connect Alby or any NWC wallet, send and receive sats, pay zaps in a tap. - Amber offline mode: sign on-device via NIP-55 (Android ContentResolver) — no app switching, no round-trips. Your login now lasts a full year. - Polls in chat: create polls, vote (single or multiple choice), reorder options by drag, edit for 30 minutes. - One unified app: Chat, Wallet, Meetups and More now live in a single four-tab shell. - One settings hub and one logout across the whole app. - App-wide profile refresh that stays in sync with the server. - Simpler onboarding and a faster, more reliable Nostr sign-in.
  • Jul 9, 2026 1.3.2
    - Faster startup: a persistent compiled-code cache gets you into the app quicker after each launch. - Message actions: tap a chat message to react with an emoji, reply, quote, edit, delete, report, mention, or copy. - Emoji reactions: a full emoji picker with search, recently used, and custom emoji.
  • Jul 8, 2026 1.3.1
    - Chat fix: leaving a chat now returns you to Meetups instead of getting stuck in a launch loop. - Verified handles: profiles now show a NIP-05 verification checkmark. - Space banners: community spaces can display a wide cover banner as part of their branding.
  • Jul 8, 2026 1.3.0
    - Community chat: join your Bitcoin community's Nostr rooms straight from the app — send messages, images and GIFs, sign in with one tap via Amber (NIP-55), and stay in members-only spaces. - RSVP & attendee visibility: meetup organizers can now turn RSVP on or off per meetup and choose whether the attendee list is public or private. - Refreshed onboarding: a cleaner, faster first-run flow that gets you into the app more quickly.
  • Jul 1, 2026 1.2.7
    - In-app browser: portal, course and event web links now open in an in-app tab and keep you inside the app, while messenger links (Telegram, Signal, WhatsApp, Matrix) still hand off to their own app. - One-tap copy for your Nostr key: tap your npub on the account screen, or a leader's npub in the leader list, to copy it with haptic feedback. - Native confirmation dialogs: removing a leader or removing a meetup from "My meetups" now asks with a real native dialog instead of a web prompt. - Mobile-data awareness: picking a logo or avatar over cellular or Low Data Mode now warns you before it uploads on save. - Quality of life: one-tap "Show all countries" to clear the filter on empty lists, plus a unified event action grid (share, open link, add to calendar).
  • Jun 30, 2026 1.2.6
    - Add to calendar: meetup events and course sessions now have an "Add to calendar" button. On Android it opens your calendar's new-event screen prefilled with title, time, location and description; elsewhere it shares a standard .ics file. - Better system language support: the app now advertises all of its translations (including Polish) to the OS, so Android/iOS can offer it in your language. - Polished translations and navigation, plus dependency and build maintenance under the hood.
  • Jun 18, 2026 1.2.5
    - Pull to refresh: swipe down at the top of any list to reload the latest meetups, events and courses — plus a new refresh button in the header. - Dark map: the map now uses dark tiles that match the rest of the app. - Compact list density: a new option in Settings switches lists to a tighter layout so more fits on screen. - Cleaner meetup lists: the repeated brand prefix is toned down so the city leads, making lists easier to scan.
  • Jun 16, 2026 1.2.4
    - Hotfix: v1.2.3 could not connect to the portal (no sign-in, no data). This release restores the connection — please update. - Manage meetup leaders: appoint and remove leaders by their Nostr npub, so they can edit the meetup and manage its events with you. - Tap to copy a leader's Nostr key, with instant feedback. - Smarter sorting: meetups and lecturers are now ordered by their next upcoming event (soonest first), so the most active ones show up at the top.
  • Jun 16, 2026 1.2.3
    - Manage meetup leaders: appoint and remove leaders by their Nostr npub, so they can edit the meetup and manage its events with you. - Tap to copy a leader's Nostr key, with instant feedback. - Smarter sorting: meetups and lecturers are now ordered by their next upcoming event (soonest first), so the most active ones show up at the top.
  • Jun 16, 2026 1.2.2
    - Filter by region: browse meetups, cities and venues for a specific country, with the map updating live as you switch regions. - Edit your display name inline: rename yourself right from your profile, saved instantly. - Role badges & tappable keys: lecturer and leader roles now show as badges, and your Nostr keys are tap-to-copy. - Smoother onboarding: language selection comes first, so setup runs in your language from the very first step.
  • Jun 15, 2026 1.2.1
    - RSVP to meetups & events: respond with "I'm coming", "Maybe" or "Can't make it" right from the event slide-in or meetup page, with live attendee counters. - Six new languages: the full app is now available in Spanish, Portuguese, Dutch, Polish, Hungarian and Latvian (joining German and English). - Live region branding: switching your region updates the wordmark instantly with a smooth animation, no restart needed. - Faster, fresher data: an upgraded cache layer invalidates stale content automatically.
  • Jun 15, 2026 1.2.0
    - "Create & Curate": the app is now a full read-and-write companion, not just read-only. - Create & edit your own content from the app: meetups, events, places & cities, courses and lecturers. - Discovery-first meetups: find and add an existing meetup to "yours" instead of creating duplicates. - Upload a meetup logo, course logo or lecturer avatar straight from your camera or gallery. - Recurring events: create a weekly or monthly series in one go. - Guided onboarding (welcome → language → region → connect → notifications) with optional Nostr (NIP-55/Amber) or Lightning sign-in. - Navigation 2.0: a create button, global search and a "My content" hub. - Timezone-aware dates plus a polished, dark-first design with motion, haptics and skeletons. - Offline-friendly: recently loaded data stays available, and writes report a clear retry on network errors.
  • Jun 13, 2026 1.1.1
    - "My meetups" now mirrors your portal dashboard: it shows the meetups you selected there, each with its logo. - Meetup lists now display each meetup's logo instead of a generic placeholder. - Now also available via Zapstore and Obtainium, in addition to GitHub. - Unified "EINUNDZWANZIG" branding across the app.
  • Jun 13, 2026 1.1.0
    - Revamped design system: unified color and style tokens plus reusable components for a more consistent look and feel. - Improved error handling and loading states across all Portal pages — no more blank screens. - Cleaner entry point: the static welcome page is gone; the app opens straight into the relevant view.