Original author: Jaleel Jialiu
20 years later, Twitter founder Jack Dorsey returns with a minimalist style with his new product Bitchat.
In the summer of 2006, mobile Internet was still a new term, feature phones were still the mainstream equipment in peoples hands, and text messages were still the most convenient way of mobile social networking. At that time, a project code-named twttr was born. It started with SMS mass messaging, used a very simple word limit and the simplest broadcast protocol, and made it possible for the first time to talk to the world anytime, anywhere.
In that simple office, the founding team was arguing over the details of the function, and Jack Dorsey, who was still a college student at the time, was sitting among them. He used the most direct technical path to turn his communication ideal into reality. Then, twttr quickly grew into Twitter, a product that completely changed the global social ecosystem.
Today in 2025, time has passed, technology and the world have changed dramatically, Wi-Fi signals are everywhere in cities, and 5G has pulled everything into the same big network. But the essence of social interaction has not changed: we still desire free, real, and unmediated communication. But reality is not always beautiful. Network blind spots, platform crashes, and data leaks can happen anytime and anywhere. Twitter, which has changed its owner, has not only changed its logo and name, but has also been reshaped by Musk into a brand new look.
Jack Dorsey, the legendary figure who once headed two listed companies with a market value of over $5 billion, has long left Twitter and devoted his energy to the crypto industry and the construction of Block. But he has not completely abandoned his love for the social track. It is like returning to the young man who designed the twttr project in 2006. On an ordinary weekend, he wrote lines of code all night long and designed a new minimalist social product - Bitchat.
The only difference is that bitchat has more of Jack Dorseys belief in minimalist protocols, decentralized communications, and freedom of information than twttr.
Core Features Highlights
When you are camping, hiking, or doing mountain activities outdoors without a cell phone signal, you need to share your location or ask for emergency help. In crowded places where the Internet is often paralyzed, such as music festivals, concerts, stadiums, and comic conventions, you can easily set up a temporary chat network with your companions. In the event of sudden disasters, power outages, or extreme weather, rescue teams, volunteers, or residents can set up emergency communication networks. In social movements, protests, sensitive discussions, and other environments where privacy needs to be protected, it is difficult to track participants. Or in closed spaces such as colleges, summer camps, research groups, and geek gatherings, you can maximize brainstorming... In these scenarios, Bitchat is a good choice.
The biggest highlight of bitchat is that it does not rely on any infrastructure at all - no server, no Wi-Fi or mobile phone signal. Each mobile phone is both a transceiver and a relay station, using Bluetooth Low Energy (BLE) to discover each other.
What attracted the encryption industry is that all messages are end-to-end encrypted. Encryption technologies such as X 25519+AES-256-GCM are used in private chats, and group chats can also be password-protected, so only people who know the password can see the content. Messages are only saved on the local computer and disappear automatically when the computer is exited or shut down, leaving no background traces.
Compared with other encrypted communication products, BitChat completely abandons the login action, and does not require a mobile phone number, email address or a long string of keys. A random user ID will be generated every time you go online, and you can modify it at any time, without worrying about your identity being tracked.
Getting Started
Download, install and use BitChat
Copy and open the following address on your iPhone web page: https://github.com/jackjackbits/bitchat.
Find the TestFlight invitation entry on the page and click View in App Store to jump to TestFlight. If you havent installed TestFlight yet, you will be prompted to download it automatically. After the installation is complete, return to the invitation page and you will see the Beta version of Bitchat Mesh.
Install BitChat in TestFlight and click the Install button. You will see a simple App information page. The installation process takes about 5-10 seconds, just wait until the button changes from Install to Open.
After opening Bitchat, the system will pop up a permission request Allow Bitchat to search for Bluetooth devices? Prompt content: Bitchat uses Bluetooth to create a secure mesh network for chatting with nearby users. Click Allow to allow Bitchat to scan and connect to surrounding devices in the background to ensure the normal function of message relay.
Because it is still in the testing phase, you will be prompted to share feedback with the developer. Just click Next to skip it. Finally, click Start Testing to enter the main interface of Bitchat.
Tip: Make sure your phone’s Bluetooth is turned on and allow TestFlight to run in the background, otherwise you won’t be able to search for your friends’ devices nearby.
You can find that BitChat does not require a login process. You can use it directly after downloading. In BitChat, every communication is anonymous and untraceable - there is no mobile phone number, email address, and no registration is required. You can change your nickname at any time. This mechanism protects user privacy to the greatest extent, so you dont have to worry about your identity being traced in sensitive occasions or special scenarios.
In the bitchat* @ Current ID area at the top of the page, you can modify your ID at any time. Click the name after @ to directly edit and save the new ID. The new ID will take effect immediately and will be displayed in the friend list and message header of all people in the same room.
End-to-end encrypted private chat
After opening BitChat and using it for a while, you can see that the main interface will continuously output the online (connected) and offline (disconnected) and speech logs of each device, and there is a timestamp in front of each record.
In order to prevent timing analysis attacks, BitChat will add an additional random delay of 50-500 milliseconds after all operations. While recording the time, it can also prevent packet capture. The network traffic and your actual operation time will not correspond exactly one to one. It can also prevent identity tracing in sensitive occasions or special scenarios.
Bitchat supports true end-to-end encryption. Each message can only be read by you and the other party (or group members). Even the transfer device cannot decrypt it. Whether it is a private chat or a group chat, the content is always safe and private and will not be intercepted by the platform or a third party.
Look at the upper right corner of the page, there is a little person icon, click it and you will see a list of all currently online peers: a green dot indicates online, a gray cross indicates just offline. For frequently chatted or important contacts, click the ☆ star icon on the right side of their name to favorite them. After favorited, a star will appear in front of the contact, making it easier to identify at a glance next time.
In the online list, we click on Xiao Shuai to enter the private chat window - at this time the number of unread messages will be displayed above his device.
When Xiaoshuai clicks on the notification, he will see that the sender is <@BlockBeats>, and then he can view the complete chat history. Private chats are also end-to-end encrypted, and the content of the conversation cannot be decrypted by the observing nodes. The timestamps of all messages here will also be randomly perturbed to ensure privacy and resistance to traffic analysis.
Advanced commands such as creating rooms
Now the question arises, the privacy of public conversations is not that good. Suppose we want to have a private conversation with multiple people, what should we do?
At any time, just type a / in the input box and a complete list of commands will pop up at the bottom of the screen:
For example, /j corresponds to: Join or create a room. If the specified room already exists, join it directly; if it does not exist, create a new room and automatically become the room owner.
/rooms corresponds to: List the names of all currently discovered (joinable) rooms, so you can quickly see which rooms are available.
/w corresponds to: View the list of users currently online, showing all online contacts in the same room or network as you.
/m corresponds to: Send a private message to a specified user. The format is usually /m @ username message content, which can only be seen by you and the other party.
/clear corresponds to: Clear all message records in the current chat window and restore the interface to the blank state when it was first opened.
/pass corresponds to: (only for room owners) set or modify the room access password. After execution, all users who join this room need to enter the password to enter.
/transfer means: Transfer the ownership of the room to another online user. The new owner will have the rights of password management, message retention, etc.
/save corresponds to: (only for room owners) switch the local message retention switch: when turned on, you can still view the historical chat locally when you are offline or restart the App; when turned off, the messages are only saved in the memory and will be cleared when you exit.
So when creating a room, just enter /j, followed by the name of the room you want, such as testroom. If the room does not exist, the system will automatically create it and set you as the owner. After the creation is complete, a prompt will appear on the screen: joined room #testroom (created new room – you are the owner) *
At this time, if Xiaoshuai also wants to enter the private room, he needs to type /j testroom, enter the password in the pop-up password page, and then he can enter the room.
There are also a series of advanced commands in the room. Type /pass yourSecret, and a password input box will pop up. After verification, only partners holding this set of passwords can join again, and only the room owner can lock the room or change the password. You can also transfer room ownership in the room by typing /transfer @ the other partys ID. After the other party accepts, he will automatically become the new room owner and have full permissions for personnel management, password setting, and message retention switch.
By default, BitChat room messages are temporarily stored in memory; room owners can use /save to turn on or off the message retention function locally. When message retention is turned on, the room history can be seen locally even if the app is restarted. Enter /save again to turn off retention and restore the default conversation evaporates immediately mode.
After mastering the basics of creating rooms, joining rooms, sending and receiving private chats, and viewing online users, the next step is some advanced commands on the main page, including clearing chat history, viewing online users and rooms, and so on.
If you want to temporarily clean up the battlefield, enter /clear in the command line to clear all displayed messages in the current session window with one click. After cleaning, the screen will become as clean as before, as shown in this picture:
In the future, BitChat Mesh will add multiple transmission methods such as Wi-Fi Direct (250 Mbps, 100 meters), ultrasound, LoRa, etc., and automatically switch according to the network and power; and can optionally access the Nostr protocol to achieve bridging between local Mesh and Internet nodes and expand the communication radius.
It can be felt that BitChat perfectly inherits the three core principles of simplicity, restraint, and craftsmanship that Jack Dorsey once set for Twitter.
This is not the first time that Jack Dorsey has built a social protocol after leaving Twitter. For example, in 2024, Jack Dorsey led Bluesky, which was incubated from Twitter and later became independent (he is no longer associated with Bluesky). It is also a decentralized social protocol with Relay/Channel as the core, supporting tens of thousands of server nodes hosted by the community. In theory, it is similar to the BLE multi-hop relay of BitChat Mesh in terms of mechanism.
The trustless spirit advocated by the Bitcoin community is also deeply imprinted in the design of BitChat: there is no central server, no cloud archive, and even the user identity is refreshed every time the system is restarted. Nostrs stateless discovery mechanism, random delay processing of operations...all these details are only to protect the most authentic privacy and freedom.
The emergence of bitchat is another personal practice of decentralization and information freedom by Jack Dorsey. In todays era of frequent network restrictions and data leaks, he returns social interaction to the users themselves - so that every conversation is only limited by the distance of the Bluetooth signal, and is no longer interfered by any platform, any server, or any intermediary.
This may be the most anticipated meaning of BitChat: it may be small and have many flaws, but in a sense, it may also be the twttr moment of encrypted communication.