How do you share a Replit app with someone who isn’t on Replit?
Replit’s private apps ask every visitor to sign in, and a password works without an account. When each fits a client, and when a room with their own link does.
On this page
- How do you share a Replit app today?
- Which option suits a client?
- Can you see who opened it?
- Will your Replit app run on Roomi?
- From Replit to a room, step by step
- Send it, and say what the room does
- Questions people ask
- Do visitors need a Replit account?
- Can I change who can open it without republishing?
- Does Replit show me who visited?
- What does Replit charge to control access?
- Can my Python app go on Roomi?
- Sources
- About the author
- Related guides
By Kaz Kato · Published 12 October 2026 · Updated 12 October 2026
A published Replit app is public by default. You can protect it with a shared password, which needs no Replit account, or make it private, which asks every visitor to sign in to Replit. To give each client a link of their own, with no account and a record of what they did, use a room instead.
This guide covers Replit’s four ways to open a published app, and which suits a client. Then what Replit tells you about who visited, whether your app can run on Roomi, and how to move it. One answer is plain from the start: a Python app cannot run live in a room. Share a Replit app is the short version.
How do you share a Replit app today?
You choose who can open it when you publish. Public lets anyone with the address use it. Password protected asks for one shared password. Workspace only and Invite only are Replit’s private options, and both ask visitors to sign in to Replit. Controlling access needs a Pro or Enterprise plan, and changing it means unpublishing first.
- Public. An app in a personal Replit workspace is published as Public by default, which lets anyone with its address use it.
- Password protected. A published Replit app can be password protected. Visitors enter one shared password, and need no Replit account.
- Workspace only and Invite only. Replit’s two private options, Workspace only and Invite only, ask anyone without access to sign in through Replit before they can view the app.
A published Replit app runs on Replit’s cloud, where everyone can use it. Controlling who can see it is available only to Pro and Enterprise members. To change who can open a live Replit app, you unpublish it, choose a different option and publish it again.
Which option suits a client?
For one client and a quick look, a password is a good option: they need no account, and you send it with the address. It is one password for everyone who has it, though. You cannot tell who opened the app, and you cannot shut one person out without shutting out everyone. A link for each person does both.
| Option | Who can open it | Needs a Replit account | Tells you which person opened it | Plan |
|---|---|---|---|---|
| Public | Anyone with the address | No | Not described | Any |
| Password protected | Anyone with the password | No | Not described | Pro and Enterprise |
| Workspace only or Invite only | People in your workspace, or people you invite | Yes, they sign in | Not described | Pro and Enterprise |
| A room on Roomi (ours) | The person you named, and anyone they say they passed it to | No | Yes, by name | Pro; a live app must run on Node |
Ranked for one job: showing a client who is not on Replit, and knowing whether they looked.
- A room on Roomi — a link in the client’s name, a guided tour, no account, and a record of what they did. We make it, so weigh that, and note it runs only Node apps live.
- Password protected — no account, and quick to set up. One password for everyone, and no way to tell them apart.
- Public — no account and no password. Anyone who is passed the address can open it too.
- Invite only — only the people you add can open it. Your client has to sign in to Replit before they see anything.
Can you see who opened it?
Replit’s publishing includes web analytics, which track visitor data and other metrics for a published app. Its pages do not say that the data names a person. Behind a shared password everyone looks the same, so you cannot tell whether the one client you sent it to has opened it.
Replit’s publishing includes web analytics that track visitor data and other metrics for a published app.
A room on Pro files every visit under the name on the link. You see when they came, how long they spent on each screen, how far through the tour they got and what they said. If they forward the link, the next person is asked who they are, so you see them too. What the room records lists every measure.
Will your Replit app run on Roomi?
It depends on the language. An app written in JavaScript or TypeScript on Node runs, as a static build on every plan or as a container demo on Pro. A Python app, such as Flask, Django or Streamlit, cannot run as a live demo. A container runs on Node 24 only, whatever its Dockerfile says.
| Your Replit app | On Roomi | Plan |
|---|---|---|
| Runs in the browser only, such as a Vite app | A static demo: the built files | Every plan |
| A Node server, such as Express | A container demo: a copy of its own for each viewer link | Pro and above |
| A Python server: Flask, Django, Streamlit | Not as a live demo | None |
If your app is Python, you have two honest choices. Keep the live version on Replit behind a password, and accept that you will not know who opened it. Or ask Claude to rebuild the screens a client needs to see as a static demo, on sample data, which runs in the browser and on every plan. A demo only has to show the idea working. It does not need your real back end.
If your app keeps data, a container demo can write inside its /app folder, so a seeded SQLite file is fresh in every viewer’s copy. Seed it in the Dockerfile, or when the server starts, and build a native driver such as better-sqlite3 in the Dockerfile too. A container has no internet, so it cannot reach Replit’s database or an AI model. Swap those for sample data and canned answers. Swapping real data for mock data has the words to ask your agent. Container demos has the build contract, and your first container walks through one.
From Replit to a room, step by step
You deploy from your own computer, with the Roomi CLI and a coding agent such as Claude Code or Cursor for the technical part. A container demo also needs Docker on that computer. The deploy rehearses first, and nothing goes live until you add --commit. Hosting an app built with Claude Code shows the same route with Claude Code running the commands.
- Put the code on GitHub. Replit’s version control is built on Git. Its Git pane, added from a Replit App’s tools, pushes your code to GitHub without typing a command.
- Clone it. Open the repository on your computer in Claude Code or Cursor.
- Make it a demo. Ask your agent to swap the database and any AI calls for sample data. For a Node server, ask it to make a container demo that keeps to the build contract at https://getroomi.com/docs/containers. A viewer’s copy tells the server its port in
PORT. A server that keeps a port of its own, such as the 5000 a Replit app often uses, never answers. - Rehearse it. Install the CLI with
npm install -g @getroomi/cli, and sign in withroomi login. Runroomi init, write a short tour, thenroomi deploy. For a container, the rehearsal builds it with Docker and starts it as a viewer’s copy will start, so a server that fails, fails here. It shows you the server’s last lines. - Publish. Read the rehearsal, then run
roomi deploy --commit. Install the CLI and the CLI reference cover each command.
Send it, and say what the room does
Make a link in your client’s name, with an expiry if you want one, and send it yourself. Roomi sends nothing for you. When they open it, the room greets them by name, with nothing to sign up for.
roomi link "Priya Shah" --expires 14In your message, say who you are and how to reach you, and that the room records what they do there and shows it to you. Roomi’s terms ask every publisher to say so. To change who can open it later, revoke one link or make another: nothing needs unpublishing. Sharing a private link covers every option.
Questions people ask
Do visitors need a Replit account?
Not for a public app or a password-protected one. For Workspace only or Invite only, yes: anyone without access is asked to sign in through Replit. A room on Roomi needs no account at all.
Can I change who can open it without republishing?
Not on Replit. To change who can open a live Replit app, you unpublish it, choose a different option and publish it again. In a room, each person has their own link, so you can switch one off without touching anyone else’s.
Does Replit show me who visited?
Replit’s publishing includes web analytics that track visitor data and other metrics for a published app. Its pages do not say that the data names a person. Behind a shared password, everyone who has it looks the same.
What does Replit charge to control access?
A published Replit app runs on Replit’s cloud, where everyone can use it. Controlling who can see it is available only to Pro and Enterprise members. Replit’s Pro plan is $90 a month, billed yearly. It allows up to 15 collaborators, and up to 50 invited viewers.
Can my Python app go on Roomi?
Not as a live app. A container demo runs on Node 24 only, so a Flask, Django or Streamlit server cannot run in the room. You can rebuild its screens as a static demo with Claude, on sample data, and send that.
Sources
Replit: docs.replit.com/cloud-services/deployments/private-deployments, checked 12 October 2026
Replit: docs.replit.com/learn/projects-and-artifacts/replit-deployments, checked 12 October 2026
Replit: docs.replit.com/learn/projects-and-artifacts/version-control, checked 12 October 2026
Replit: replit.com/pricing, checked 12 October 2026
About the author
Kaz Kato, Co-founder & CTO, Roomi. Kaz co-founded Roomi with Tesh, whom he has built with since 2017: two startups that failed, one venture studio that didn’t, and an exit.