How it works

From your laptop to your team in one command

TeamOnly hosts internal tools built with AI, behind your company’s Google or Microsoft login. Here is the whole trip, start to finish. It takes about as long as reading it.

Terminal~/expenses
npx teamonly initAdded the TeamOnly skill and SDK npx teamonly deployLive at https://expenses.acme.teamonly.appOnly @acme.com accounts can sign in
  1. Add TeamOnly to your project

    Open a terminal in your project folder and run npx teamonly init.

    It adds a short set of instructions that teach your AI the right app shape, so it doesn’t reach for tools we don’t support, like a separate database service or a login library. It also adds a small library your app uses to find out who is signed in and to save data.

    Terminal~/expenses
    npx teamonly initAdded .claude/skills/teamonly (for Claude Code)Added .cursor/rules/teamonly.mdc (for Cursor)Added the TeamOnly SDKNothing else in your project changed.
  2. Ask Claude Code or Cursor for the tool you want

    Describe it the way you would to a coworker.

    Build an expense approval tool. People upload a receipt with an amount and a reason. Their manager approves or rejects it. Finance can see everything approved this month and download it as a spreadsheet.

    Try it on your laptop, ask for changes, and keep going until it does what you need.

    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.

    A plain-English request becomes an app on your laptop.
  3. Deploy

    Run npx teamonly deploy. The first time, it asks you to sign in to TeamOnly.

    Your app is packed up and put online. On the first deploy it also gets its own database and a place for files. If your app needs an API key or a password, add it with npx teamonly secrets set, never in the code.

    Terminal~/expenses
    npx teamonly secrets set QUICKBOOKS_KEYSaved. Your app reads it as a secret, not from code.npx teamonly deployPacking your app...Setting up database and file storage...Live at https://expenses.acme.teamonly.app
  4. Send the link

    Paste it wherever your team talks: Slack, Teams, email, a sticky note.

    The link works for anyone with your company email and no one else. If it gets forwarded outside the company, the person at the other end sees a sign-in screen they cannot get past.

    expenses.acme.teamonly.app

  5. Your coworker signs in with their work account

    They click “Sign in with Google” or “Sign in with Microsoft” and use the account they already have.

    No new password, no invite to another tool. Your app is told who they are, by name and email, so it can show “approved by Sam” without you writing any login code.

  6. Change it and deploy again

    Someone asks for a new column. Ask your AI, run deploy, done.

    The address stays the same and the data stays where it was. If something breaks, npx teamonly logs shows you what happened.

    Terminal~/expenses
    Add a cost center column to the expense listnpx teamonly deployUpdated https://expenses.acme.teamonly.appSame link, same data.

What happens behind the door

You don’t need to know any of this to use TeamOnly. It is here because “is this safe?” is a fair question.

  • Login is checked before your app runs

    Every visit goes through our sign-in first. Your app’s code only runs for people who already passed, so a bug in your app cannot let a stranger in.

  • Each app gets its own database

    Your expense tool and your inventory tool do not share data, files or secrets. One app cannot read another’s.

  • Nothing is public

    Apps are never listed or indexed by search engines. There is no public option to switch on by mistake.

The technical version, for whoever asks: how apps are kept private and separate.

FAQ

Questions people ask

All questions and answers

What does init add to my project?

Two things. A short instruction file your AI tool reads (a skill for Claude Code, rules for Cursor) that explains the kind of app TeamOnly runs, and a small library your app uses to get the signed-in person, the database, files and secrets. Nothing else in your project changes.

What kind of app can I deploy?

A web app with a React front end and a small API behind it, all in JavaScript or TypeScript. That is what the instructions teach your AI to write, and it covers forms, lists, dashboards, approvals and uploads. Python, PHP and other stacks are not supported yet.

Can I update the app after it is live?

Yes. Ask your AI for the change and run npx teamonly deploy again. The link stays the same and the data stays put.

Where are my logs?

Run npx teamonly logs to see what your app is doing right now, including errors. Recent logs will also show in the dashboard.

Early access

Get on the list.

We are new and not open yet. Leave your work email and you will be one of the first teams to deploy.

Use your work email. We will write when your spot opens.

Want to tell us what you are building? Use the longer waitlist form. Questions go to hello@teamonly.dev, and a person answers.