How to Make a Chat App for iPhone: Steps & Limits (2026)

Make a chat app for iPhone without code: one-to-one and group chats, photos, report and block, what real-time really takes, and the steps with Borel.

By Sigsten Gustavii· · 9 min read

To make a chat app, decide who talks to whom (one-to-one, groups or both), make sure only the members of a conversation can read it, add report and block before anyone else joins, and be honest with yourself about real-time: live typing indicators and instant alerts on a locked phone need infrastructure most AI builders don't provide.

What a chat app needs, and what Borel builds today
PartWhat it doesIn a Borel app
AccountsEach person signs inEmail and password, with Delete account
ConversationsOne-to-one and group chatsOnly their members can read them
MessagesText, with time and senderStored in Borel Cloud
PhotosSend a pictureUploaded to the app's file storage
New messages while openShow up without leaving the chatThe chat checks every few seconds while open
Alerts on a locked phonePush notificationsNot available in Borel apps
SafetyReport, block, filterBorel's moderation kit

Chat looks simple and is famously hard to do well at scale. The good news is that most chat apps people actually want to make are small: a team, a club, a class, a family, the buyers and sellers in a marketplace. At that size, the hard parts are privacy and safety, not servers, and those are exactly what Borel handles for you.

One-to-one, groups or communities?

Kinds of chat and what each needs
KindExampleWhat it needs
One-to-oneA buyer messages a seller, a client messages a coachA conversation with two members
Small groupsA family, a team, a study groupGroups people join with an invite code
Channels or communitiesA club with topicsGroups with roles, so only some people post announcements
Chat with strangersRandom matchingNot allowed: Apple keeps random or anonymous chat off the App Store

Chat inside another app (a marketplace, a dating app, a coaching app) is often more useful than a chat app on its own, because there is already a reason to talk. If that is your plan, read how to create a marketplace app or how to create a dating app as well.

Privacy: who can read a conversation

In a Borel app, each conversation keeps a list of its members, and the database itself only lets those members read its messages. That rule runs in Borel Cloud, the Postgres database Borel runs for the app, not only in the app's code, so nobody can read someone else's chat by calling the database directly. When a person deletes their account, the messages they sent are removed with it.

Be clear about what this is not: it is not end-to-end encryption. The app's owner runs the database the messages are stored in. For most club, team and marketplace chats that is fine; for sensitive conversations, say so plainly in your privacy policy.

Real-time: what it takes, and what Borel does

"Real-time" covers three different things, and it helps to separate them:

  1. New messages appear while the chat is open. A Borel app checks for new messages every few seconds while a conversation is on screen. In a small group, that feels live.
  2. Typing indicators and "seen" ticks. These need a constant connection between phones. Borel apps don't keep one, so skip typing indicators; a simple "read" mark saved with the message is possible.
  3. An alert on a locked phone. That is a push notification, sent from a server through Apple. Borel apps don't send push notifications, so people see new messages when they open the app.

Apple's own Guideline 4.5.4 says push notifications must not be required for an app to function, so a chat app without them is allowed. It just suits groups that check in during the day better than urgent messaging.

Safety: Apple's rules for chat

Guideline 1.2 applies to every app where people see each other's messages: a way to filter objectionable material, report it, block abusive people, and published contact details. It also says random or anonymous chat doesn't belong on the App Store. Borel's moderation kit gives every message and profile a Report and Block option, hides what someone reported and everyone they blocked at once, checks text before it is sent, and lists blocked people in settings. Add a contact email to settings yourself.

Apple's rules that apply to a chat app
GuidelineWhat Apple asksIn a Borel app
1.2 User-generated contentFilter, report, block, contact detailsModeration kit on every message; you add a contact email
1.2, random chatNo random or anonymous chatConversations start between people who chose each other or joined a group
4.5.4 Push notificationsMust not be required for the app to workBorel apps work without them
5.1.1(v) Account deletionDelete account in the appRemoves the person's messages and files
2.1 CompletenessDemo accounts for reviewTwo accounts with a conversation between them

Read the full rules on Apple's App Review Guidelines page.

Photos, voice and files

Photo messages work well: a person picks a photo with Apple's photo picker, with no permission prompt, or takes one with the camera, and it is uploaded to the app's own storage. Voice notes and file attachments are bigger asks; try them on a real iPhone before you build the app around them. Text and photos cover most small-group chat.

Design a chat screen people enjoy

Chat is the screen people stare at longest, so small details matter more than features:

  • Bubbles that read at a glance: your own messages on one side in the app's colour, others on the other side in grey.
  • Names only when they change: in a group, show the sender's name above a run of messages, not on each one.
  • A day divider above the earliest message of each day, so a long thread stays easy to scan.
  • A text field that stays above the keyboard, with the send button disabled while the field is empty.
  • Photos that open full screen with a tap, and a light haptic when a message is sent.
  • Large text and dark mode that follow the iPhone's settings, which SwiftUI gives a native app for free.

What a chat app costs to run

Costs of a chat app built with Borel
ItemCostNotes
BuildingFree with 5 credits a dayPro from $20 a month for more credits, installing and publishing
Apple Developer Program$99 a yearPaid to Apple, to publish
Messages and checks for new onesPay as you goEach check is a small database read, from your app's balance
PhotosPay as you goStorage from your app's balance

Because an open chat checks for new messages every few seconds, a busy app makes many small reads. For a club or a team that stays cheap; keep an eye on Cloud cost as you grow. See pricing.

How to choose the right way to build a chat app

  • Borel, for chat inside a native iPhone app for a team, club, family or marketplace, with private conversations and moderation built in.
  • A chat service SDK with your own developer, if you need instant push alerts, typing indicators and millions of messages.
  • [CatDoes](/compare/catdoes), if you need Android too; check its own documentation for real-time and push.
  • An existing messenger group, if all you need is talk and no app of your own.

How to do it with Borel, step by step

Step 1: Describe who talks to whom

A prompt to start from
Make a chat app for my climbing club. Members sign up with email and pick a display name and photo. Anyone can create a group and invite others with a code; groups have a name and a photo. Members can also message one person directly from their profile. Messages show sender, time and text, and can include a photo. While a chat is open, check for new messages every few seconds. Every message and profile can be reported, and people can block each other. Settings shows blocked people, our contact email, and Delete account.

Borel's planner, Penny, asks about anything unclear, then Rivet writes the app in Swift with SwiftUI and declares the conversations, members and messages with their access rules. Xcode compiles it on Borel's Mac, so you don't need one.

Step 2: Test with three accounts

In the iOS Simulator in your browser, make three accounts. Start a group with two, message directly between two, and check the third sees neither until invited. Report a message and block someone, and see them disappear.

Step 3: Shape the screens

Ask for the details that make chat feel good: "group messages from the same person within a minute", "show the day above the opening message of each day", "keep the text field above the keyboard". Each change is built and opened again.

Step 4: Try it on real phones

With Pro, Borel Companion installs the app on your iPhone from a Windows PC or a Mac. Hand a TestFlight build to a few club members for a week.

Step 5: Publish

Stamp checks the app for the rules Apple most often turns apps down for, and Publish builds and uploads it under your own Apple Developer account, with two demo accounts that already share a conversation.

The Bottom Line

A chat app for a team, a club or a marketplace is well within reach: private conversations, groups with invite codes, photos, report and block, and account deletion, built natively by Borel from one description. What it won't do is buzz a locked phone or show someone typing, so pick a use where people check in rather than wait for an alert. Describe your chat on Borel and try it with three accounts on a live iPhone.

Questions people ask

Can I make a chat app without coding?

Yes. Describe who talks to whom and Borel builds the accounts, conversations, messages and safety tools in Swift, with a database where only members read a conversation.

Can a Borel chat app send push notifications?

No. Borel apps don't send push notifications. New messages appear while a chat is open, and when someone opens the app. Apple doesn't require push for a chat app to be approved.

Is the chat end-to-end encrypted?

No. Messages are kept in the app's database, readable only by the conversation's members through the app. Say so in your privacy policy if your app might carry sensitive talk.

Does Apple allow chat apps?

Yes, with Guideline 1.2's safety tools: filtering, reporting, blocking and contact details. Random or anonymous chat with strangers is not allowed.

Can people send photos in the chat?

Yes. They pick a photo with Apple's photo picker or take one with the camera, and it is uploaded to the app's storage.

Can I add group chats?

Yes. People create a group and invite others with a code; members read and write in the group, and the group's owner can manage it.

How much does it cost to run a chat app?

With Borel, messages, checks for new ones and photos are paid as you go from the app's balance. Small groups cost little; watch Cloud cost as the app grows.

Can I add chat to an app I already built?

Yes. Ask for it in the app's chat in Borel, for example "let buyers message the seller from a listing", and it is added as a new version.

I'd rather be honest that Borel apps don't buzz a locked phone than promise it. For a team, a club or a marketplace, private chat that just works is a lot.

– Sigsten

Make your iPhone app in Borel

Describe the app you want and see its first screens before you pay anything.

See your app free

Keep reading