Loading the guide
Log in with your studio address.
This address is not a studio admin.
Signed in as . Back to the client view.
Studio guide · updated October 9, 2026
How the studio runs, from the first message to a paid project.
Everything a studio admin needs to work a client through byrdie.ai: where people come in, what the site does on its own, what needs you, and where to look when something goes wrong.
01
The whole system
One client moves left to right. Each step lives on the client’s profile, so the profile is where you work.
- 01They reach out
Book a call on /book, send the contact form, or email the studio.
- 02They get a profile
Bookings make one automatically. Anyone who only wrote in gets one from Build their profile. Research runs the first time it opens.
- 03They book a time
Every reply carries a Pick a time button. Offer times sends them up to three times you chose.
- 04You have the call
Google Meet, on the studio calendar, with Gemini taking notes.
- 05Notes, spec and ideas
Write up the call turns the Gemini notes into call notes and a V1 spec. What to propose tracks what you could sell them.
- 06Proposal, agreement, invoice
Draft with AI, send, they accept and sign, Square invoices them, the webhook marks it paid.
| Piece | Where | What it does |
|---|---|---|
| Public site | byrdie.ai | Services, plans, Lab, contact form, booking page. |
| Studio | /portal/admin | Today, Pipeline, Clients, Calendar (with Change availability), Shared plans, Messages, Mailing list, Proposals, Services. |
| Client profile | /portal/client | One client: call, research, notes and specs, ideas, emails, conversation, files, history. |
| Client page | /portal | What the client sees: their call, prep form, messages, proposals, files. |
| Pick a time | /pick | A personal booking link for someone you already know. |
| Data | Supabase | Bookings (one row per profile or call), inquiries, proposals, research, messages, email tracking. |
| Calendar and email | Calls go on the owner’s Google Calendar with Meet links; email goes out through the same Google account’s Gmail. | |
| AI | Gemini | Research briefs, call notes and specs, proposal drafts. |
| Payments | Square | Invoices for accepted proposals; a webhook records payment. |
| BizPlan | bizplan.byrdie.ai | Free Business Profile (code SIGNUPS); shared profiles land under Shared plans and on the client’s profile. |
02
Your day
Start at Today. It lists only what needs you.
Today
- Next call with its Meet link and the client’s prep.
- Tasks: call requests to confirm, postponed calls to re-date, new messages to answer.
- Where clients are and This week’s calls.
Pipeline
Five columns: Messages, Calls, Proposals out, Won, Money. Every card opens its item; calls open the client profile. Show closed brings back finished work.
Keys
/ search · n new proposal · t p c m l switch views · Esc close a panel.
Anything that reaches a client asks first
Confirm, decline, send a proposal, void, invoice, cancel a call. Saving a draft never sends anything.
03
New leads
Three doors in. All three end on a profile.
They booked a call on /book
A five-step form, then a time from the open hours. They get a "request received" email and a login; you get a "New call request" email and a meeting request on the calendar. The call waits for you to confirm (see Booking).
They sent the contact form
The message lands in Messages (the count in the menu) and in your inbox; they get "Got your note" with a link to book. Open the message and click Build their profile: it makes a profile from their form answers and guesses their website from a work email address (not Gmail and the like).
They only emailed
Open Clients → Add a client and enter their email. If they already wrote in, the name is filled from their contact form or the name on their emails; otherwise add it. Or go straight to /portal/client?email=their@address.
Met in person
Add a client by hand the same way, then use Offer times to get a call on the calendar.
04
Before the call
The profile does the homework. You check it and decide what to pitch.
The profile, top to bottom
- Call bar: the time (and theirs, if their time zone is set), Join Meet, Move, Cancel, Offer times, Write to them, New proposal.
- What they want, in their words, with approve or decline for a waiting request.
- Tabs: Key details · Call notes and specs · What to propose · Email activity · Before the call · Conversation · Files and history.
Research
Runs the first time a profile opens. It reads their website and searches the web, then writes a snapshot, facts, where Byrdie fits (real service pages only), talking points, questions and watch-outs, with sources. If the business name is missing it fills it in. Refresh research rebuilds it and replaces anything added to the brief by hand.
What to propose
A running list of what you could sell them. Each idea has where it came from (their message, email, website, research, the call), a status (Idea, Discuss on the call, Put in the proposal, Not now), an estimate and notes. Add from research pulls in the brief’s suggestions. Ideas marked Put in the proposal go to the proposal writer first.
Their time zone
Set it under Key details. Offer times then shows each time in your clock and theirs, and emails list times in theirs.
Before the call tab
Their call prep (they fill it in on their client page), the top talking points and questions from the research.
05
Booking
Two ways to get on the calendar. Both use the owner’s Google Calendar.
Open hours
Weekdays 10 AM to 2 PM Central (8 AM to noon Pacific). Weekends and federal holidays are closed. 30-minute calls, at least 18 hours ahead, two weeks out. Busy time on the calendar is never offered. Change it with Change availability on the Calendar.
A request from /book
Lands as Waiting on you. Confirm it from Today, the pipeline card or the profile: the client gets the calendar invite, the Meet link, a confirmation email and their BizPlan code. Accepting the meeting request in Google Calendar also confirms it, but the site only checks that once a day, so confirm in the studio when it matters. Confirm at another time moves it first.
Pick a time (for people you know)
Every reply you send from the studio adds a Pick a time button unless they already have a call ahead (untick it in the composer to leave it out). The link opens a page of open times in their own time zone. They pick, confirm, and the call is booked straight away with the invite and Meet link; you get a "Call booked" email.
Offer times
On a profile with no call ahead: pick up to three open times, or add your own (checked against the calendar first), then Write the email. The times go in the reply above a Pick one of these times button, and only those times can be booked from it. Read it over, then send.
Moving and cancelling
Move, Cancel or postpone from the call bar or by dragging on the Calendar. After the time has passed, Didn’t happen records why. Reminders go out the day before.
06
After the call
Turn the conversation into notes, a spec and a proposal the same day.
Turn on Gemini notes in Meet
Use Take notes with Gemini (and record, if you want video) on every call. Meet saves the notes and transcript in Google Drive and emails them to the organizer. Recordings and notes also attach to the calendar event and show on the profile under From the call.
Call notes and specs
Write up the call finds the Gemini notes email for this client in the studio inbox and writes: a summary, how they work today, what they need, decisions, next steps with who and when, what to find out, and what was said about money. It also writes a V1 spec: goal, users, features each with a done-when test, the data kept and never kept, screens, integrations, reports, what is out of scope, phase 2. If the email is not there, use Paste a transcript with the text from the Google Doc.
Edit the spec in place; each save is a new version. Only the studio sees this tab.
Then
- Update What to propose from what was decided.
- Write the proposal (next section).
- For a build, make a clickable mockup in the client’s branding at /mockups/<client>, like NvN Fitness ↗, and list it in data/mockups.json so their proposal picks it up.
07
Proposals and money
Draft → sent → viewed → accepted → agreement signed → invoiced → paid.
Write it
New proposal from the profile or the call card starts it with the client filled in. Pick a plan or service as a starting template, then let AI draft it: it reads the booking, call prep, research, the ideas marked for the proposal, your meeting notes and the client’s BizPlan profile. Every section can be improved or rewritten on its own, and Check flags anything that contradicts the call. Prices come from Services; check every line before sending.
Builds and retainers
Every build runs three months: month 1 is planning and the initial buildout, month 2 the build continues, month 3 is launch and handover. A retainer added to a build starts in month 2; its line shows Starts in, which follows that rule until you pick a month yourself. The proposal, email and PDF show a payment schedule (month 1 for the build, the retainer from month 2) and what is due to start. The invoice amount and the agreement’s milestones and end date come from the same schedule.
The mockup goes with it
Step 02 has Mockup. A proposal takes the mockup listed for that client in data/mockups.json automatically, or pick one or paste a link. It goes out in the email, on their proposal page, in the PDF and as a deliverable in the agreement. Sending a build without one asks you first. You can add or change the mockup after sending with Save mockup, since it keeps growing while they review.
Send it
Once sent, the content is frozen. The client gets the proposal by email with a PDF and opens it on their client page. You see when they open it.
They answer
- Ask for changes: you get their note; revise and send a new version (earlier versions are kept on the profile).
- Accept: they sign the proposal; then you send the agreement and they sign that too. Signatures keep the name, time, address and a fingerprint of the document.
- Void withdraws a proposal at any time.
Staying accountable
Every confirmed call is owed a proposal, due two working days after it (change it with Due date, or Not needed when there is nothing to proposal). Proposals to write is at the top of Messages, overdue first; Today points to it.
Time to block on the Calendar lists everything that needs your time, sized to the job: writing a proposal (1½ hours), revising a proposal with changes asked (1 hour), sending an invoice, and following up on a proposal out 4+ days, an invoice unpaid 7+ days or an agreement unsigned 3+ days (15 minutes each). Each has a suggested open slot: Book it, pick Other times, or Book all suggested. Booked time shows in yellow on the week and in Google Calendar with the links you need. Each morning anything without time is booked for you, time that passed with the task still open is booked again (follow-ups wait three days between nudges), and time for finished tasks comes off. You also get one email listing it all; Email me today’s list now under Proposals to write sends it on demand.
Payment terms and the next step
A build is month 1, planning and the initial buildout (up to 20 hours), paid half when the work starts and half two weeks later. A retainer buys development hours at $100 an hour ($1,200 a month is 12 hours, about 3 a week) with a weekly progress meeting; after launch the hours keep the app updated. Review and send shows the exact email and PDF first; Email me a test copy sends it to you only.
Payment terms are written from the lines and stay in step with them until you edit them; Update from the lines brings them back. The proposal email and the client’s proposal page carry a link to book a call to talk the proposal through: it books a Meet call with a calendar invite.
Keep the board current
Close out on any card, client row or profile closes that client: open proposals are cancelled without emailing them, drafts deleted, messages handled, call requests declined and writing time removed. Signed work and payments stay. They leave Today, the Pipeline and Clients (see them under Closed, and Reopen), and come back by themselves if they write again. On a proposal card, Archive cancels a sent proposal quietly and Delete removes a draft or a cancelled proposal that was never signed or invoiced.
NDA before the mockup
For a build, the order is: call, then NDA, then mockup, then proposal, then agreement. Send NDA on the client’s profile opens the NDA to review and sign first: Byrdie AI’s address, your name and title (remembered in your browser), the date, and the full text to edit. Tick the box to sign and send. The client fills in their own legal name and address as they sign second. Mockups are private: they open only for you, or for a logged-in client who has signed the NDA and has the proposal with that mockup. It emails a mutual NDA (La Create Space LLC, doing business as Byrdie AI) to read and sign on their client page, and you get an email when they sign. A proposal with a mockup will not send until the NDA is signed.
Two-option builds for smaller operations
Pick the plan Custom build: retainer or build and handover. Option A is $1,500 for the month 1 custom build, then $1,500 a month (15 hours, weekly meeting) for a 4-month minimum. Option B is $6,000 in two payments, half at signing and half two weeks later, with handover at acceptance. Either can add team training and client handoff (professional services and go-live support) for $2,500, an optional line the client chooses when signing. Any line can be marked Optional add-on: it shows on the proposal but stays out of the total until chosen. The proposal lists both options, and the client picks one as they sign the agreement; you see their choice in the notification and on the agreement.
Get paid
Send invoice on an accepted proposal creates a Square invoice due in 14 days; Square emails it. When they pay, the Square webhook marks it paid and the card moves to Money.
08
What clients see
byrdie.ai/portal, logged in with their email.
- Log in with an emailed code, Google, or a password they set.
- Their call with a six-step tracker, the Meet link, and a call prep form that goes straight to you.
- Add guests to the call; reschedule or cancel.
- Messages you sent from the studio.
- Proposals and agreements to accept, sign or question; invoices to pay.
- A shared files folder for each project.
They never see research, call notes, specs, ideas or studio notes.
09
All mail goes through the owner’s Google account, sent as studio addresses.
| Sent as | |
|---|---|
| Call request received, confirmation, reminder, call changes, new-request alert | book@lacreatespace.com |
| Replies, proposals, agreements, logins, contact form, newsletter, everything else | hello@byrdie.ai |
| Fallback when either address is not a verified Gmail alias, or Gmail refuses it | terell@byrdie.ai |
| Studio alerts and replies from clients | hello@byrdie.ai |
Client emails are tracked: opens and clicks show under Email activity on the profile and next to each message in the Conversation. Replies you type in the studio thread into the client’s Gmail conversation.
To send as hello@ and book@, both must be listed under Gmail → Settings → Accounts → Send mail as on the owner’s account. Until they are, mail goes out as the fallback.
10
Settings
What you can change without code.
Availability
On the Calendar, under Change availability: weekly hours, one-off days, holidays, which calendars block your time, call length, notice and how many weeks show.
Services
The catalogue that prices proposals. Items sync with Square (category Byrdie AI).
Mailing list
Newsletter subscribers; copy the active emails in one click.
Shared plans
Business Profiles clients shared from BizPlan, linked to their profile. When a plan is shared, the client is emailed a link to book a call about it straight away (or told it is covered on the call they already have), their profile is researched again with the plan, the ways to help land on What to propose, and you get an email with all of it. Invite to a call sends the invite again.
Studio admins
Who can open the studio is the portal_admins list in Supabase. Add an address there to give someone access.
11
When something breaks
Most problems are a connection, not the site.
| You see | Do this |
|---|---|
| Emails show the wrong From | Add the address under Gmail → Send mail as on the owner’s account. |
| "Gmail reconnect" or client replies missing in Conversation | Run node scripts/google-auth.mjs and update GOOGLE_REFRESH_TOKEN on Vercel. |
| Research says "Basic brief" | GEMINI_API_KEY is missing or Gemini failed; try Refresh research. |
| Write up the call finds nothing | The Gemini notes email has not arrived or names someone else; use Paste a transcript. |
| No open times in Offer times or /book | Check Availability, and that the calendar is not fully busy for the next two weeks. |
| A confirmed call has no Meet link | Google Calendar did not answer; confirm again or move the call. |
| The page looks out of date after a change | Refresh. The site updates within a minute of a push to main. |
| Square invoice does not send | Check SQUARE_ACCESS_TOKEN, SQUARE_LOCATION_ID and SQUARE_ENV on Vercel. |
For whoever maintains the code
Plain HTML, CSS and JavaScript, no build step, hosted on Vercel; a push to main on GitHub deploys. Technical detail lives in docs/client-portal.md and docs/booking-workflow.md in the repository.