Founder view
How Preppit is doing
The site
home page → the tour's five scenes → a place on the list. Visits, not people: one person on two days counts twice.
- Reading…
Where places were asked for
Where visits came from
After sign-up
accounts made in the window, and how far they got
- Reading…
Waiting for a place
- Reading…
Site settings
These take effect within 30 seconds, without a redeploy. A setting never saved here uses the server's environment, shown under it. Leaving a box blank keeps what is already saved.
Sign-ups
per day, last 30 days
Serves
prompts finalised per day, last 30 days
Where it is used
MCP handshakes by AI host
What is stored
rows in the database, not bytes
Bytes live in the storage bucket and are not counted here; the Supabase dashboard has that number. Voice is summed from each note's recorded duration.
Accounts
| Who | Joined | Last AI call | AIs | Serves | Preppits | Pictures | Voice | Links |
|---|
Suspend sets the account aside: every connector link is revoked, sign-in is blocked, and nothing is removed — it can be restored here. Delete for good goes through the same path the person's own account page uses — pictures, voice notes, Preppits, links and the sign-in, all at once — and cannot be undone, so it asks you to type their address.
Add someone
a person needs an account before they need anything else
Accounts are made by the person, at /account. To let somebody in, put their address on the and send them the link; the allowlist shows when they have joined.
Connector links
every link ever minted, newest first
| Account | Label | Prefix | Made | Last used | Last AI call | State |
|---|
AIs that have said hello
one row per host per account
| Account | Host | Version | Through | Handshakes | First | Last |
|---|
Organisations
a firm, its members and its shelf
| Owner | Preppit | Code | Grant | Made | Visitors | Opens | Last opened | Emailed to | State |
|---|
Consent is recorded, never inferred. Customer is somebody with an account — you can send them product and service news under the existing relationship. None is an address a user typed into a share sheet: a third party gave it to us to receive one Preppit, and mailing it for anything else needs their own yes. Opted in is that yes. Unsubscribed stays on the list so it is never added back. The marketable export is customers and opt-ins only.
| How we got it | Consent | First seen | Last seen | Note |
|---|
Asking for a place
| What they'd use it for | From | Asked | State |
|---|
Who may join the beta
Everyone here may make an account. Letting someone in from the list above adds them here and emails them; members' own invitations land here too, with who invited them in the note. Send invite emails the way in to anyone on this list.
| Note | Added | Invited | Joined |
|---|
Metered API usage
what the server asked for, at the cost stored on each call
| Provider | Model | What | Last 30 days | All time | Cost, 30 days | Cost, all time |
|---|
Clean readers
one real call, to prove the key and the route
Costs a fraction of a cent, and it is metered like any other read.
API calls
per day, last 30 days
Metering started with this build. Nothing before it was counted; the historic figure below is worked back from stored voice-note durations.
Subscriptions and rates
kept by hand — none of these has a billing API
| Name | Provider | Category | Amount | Period | Renews | Unit price | Note |
|---|
The monthly run-rate counts a yearly row as a twelfth and ignores one-offs. A provider row with a unit price is what the meter is costed against — the provider key has to match what the server records (groq for transcription, groq-chat for suggestions; openai / openai-chat if the keys ever move).