Dana Okafor
dana@acme.com
Private hosting for internal tools built with AI
You built something useful with Claude Code or Cursor. Type one command and it is online at a private link. Your coworkers sign in with the work Google or Microsoft account they already have. Nobody else gets in.
Dana Okafor
dana@acme.com
npx teamonly deploy Live at https://expenses.acme.teamonly.appOnly @acme.com accounts can sign in
01The usual way
It works on your laptop. Getting it to the five people who need it usually means a list like this.
Dana built an expense tool that only runs on her laptop. She types one command, npx teamonly deploy, and gets a link: expenses.acme.teamonly.app. Three coworkers, Marco, Priya and Lee, open the link, sign in with their work account, and the same tool opens for each of them.

TeamOnly crosses that list off for you.
No servers to rent, no login code to write, no ticket to IT. It is for internal apps only, by design, so the only people who ever see your tool are the people you work with.
02Deploy
When your tool works, you type npx teamonly deploy. A minute later it has its own address that you can paste into Slack, Teams or an email.
A terminal. Someone types npx teamonly deploy. The app is bundled, a database is created and login is set up for acme.com. Then: Live at https://expenses.acme.teamonly.app. Only @acme.com accounts can sign in.
npx teamonly init adds instructions your AI reads, so it builds the kind of app that deploys first time.
In plain English. "Build an expense approval tool" is a fine start.
Change something later? Deploy again. Same link.
expensesYour tool.acmeYour company.teamonly.appThe locked door
A door marked Staff only stands in front of the expenses app. Sam, signed in as sam@acme.com, is checked at the door and walks in. Next, randomperson@gmail.com and a bot are checked at the same door and turned away. They never reach the app, because the check happens at the door, before the app.
Sam Reyes
sam@acme.com
Unknown
someone@gmail.com
03Who gets in
Coworkers sign in with the work Google or Microsoft account they already have. No new account, no password to share, no extra seats.
Anyone else is turned away at the door, even if they have the link. The check happens before your app runs, so a mistake in your app cannot let a stranger in. A forwarded link is just a very nice sign-in screen.
04Included
Your tool needs to remember things. On the first deploy it gets its own database and a place for files, with nothing to sign up for.
API keys and passwords go in with npx teamonly secrets set, never in your code. Each app's data stays in that app.
On the first deploy, four parts snap into place around the app like pieces of a kit: a database, file storage, secret keys and company login. There are no setup steps.
Deploy receipt
expenses.acme.teamonly.app
No. 1
Live05Your AI tool
AI tools are good at writing apps and bad at guessing where they will live. TeamOnly gives yours a short set of instructions, so it writes an app that fits: a simple front end, a small API, and our login, database and files already plugged in.
In an AI coding tool, someone types: Build me an expense approval tool for my team. The app's screen takes shape: a list of expenses, each with an Approve button. Then one command, npx teamonly deploy, and the tool is live at expenses.acme.teamonly.app.
06For IT
People are already building these tools. Here they land in one place your IT team can see.
An app register for acme.com fills in row by row. expenses, owned by dana@acme.com, open to everyone at acme.com, last deployed today at 9:41. inventory, owned by marco@acme.com, open to 6 people, deployed yesterday. lookup, owned by priya@acme.com, open to priya, marco and 3 others, deployed October 21. requests, owned by lee@acme.com, open to everyone at acme.com, deployed October 18. Then marco@acme.com is offboarded and every line that gave him access is struck through.
07Ideas
Small tools that one team needed and nobody had time to buy. Each one starts as a sentence like these.
For finance and every manager
People upload a receipt, their manager approves or rejects it, and finance sees everything approved this month.
For the warehouse and the front office
Track stock by bin. Anyone on the floor can log a count from their phone, and I get a list of what is running low.
For office managers and ops
A form for equipment requests. It saves who asked, I can mark each one ordered or done, and people can check their status.
Builder $19 a month. Team $249 a month. People who just use your apps: free.
No. They sign in with the work Google or Microsoft account they already use for email. No new password, no invite to another tool, and people who only use your apps are not seats you pay for. How company login works.
No. The link opens a sign-in screen, and only accounts on your company email domain get past it. A forwarded link or a personal Gmail account is turned away before your app loads.
Not really. You describe the tool to Claude Code or Cursor, and the instructions TeamOnly adds to your project tell it how to build an app that deploys. You will type two commands, and we show you which ones.
Early access
We are new and not open yet. Leave your work email and you will be one of the first teams to deploy.
Want to tell us what you are building? Use the longer waitlist form. Questions go to hello@teamonly.dev, and a person answers.