For freelance developers
AI meeting notes for freelance developers with multiple clients
TrackHeros is an AI notetaker for freelance developers who work with several clients at once. It joins your client meetings on Google Meet and Microsoft Teams, writes the summary, decisions, action items and minutes, and keeps every client sealed in its own workspace, so six accounts become one dashboard and nothing crosses over.
Updated 2 September 2026 · 8 min read
TrackHeros is an AI notetaker for freelancers who work with more than one client at a time. It joins your client meetings on Google Meet and Microsoft Teams as a visible participant, records and transcribes them, and writes the summary, the decisions, the action items and the formal minutes. Everything is filed under the client the meeting belongs to, in a workspace no other client's data can enter. This page is about what that looks like in freelance developer client meetings: six clients, six Google accounts, one dashboard.
Why are meeting notes for multiple clients so hard to keep straight?
Six clients means six Google accounts, six calendars and six sets of promises. Each client gave you an address on their domain, and each address has a calendar full of invitations that the other five cannot see. To find out what your Thursday looks like, you switch accounts five times. To find out what you said about the payments API three weeks ago, you open a transcript, if you kept one, and read it from the top.
Then there are the notes. A meeting tool that assumes one company and one workspace puts everything in one list. Client A's sprint review sits next to Client B's incident call, and it is on you to make sure neither one leaks into the other when you paste a summary into an email. You do that by hand, carefully, every time. One day you will do it wrong, and it will be the day it matters.
None of this is a discipline problem. It is a data model that does not match your week. Meeting notes for multiple clients have to start from the assumption that one person owns several unrelated calendars, and that those calendars must never be blended.
How does an AI notetaker for freelancers work with six accounts?
The four steps are the same as on the homepage. Here is what each one means when the accounts are on six different domains.
1. Connect your Google accounts
Connect every Google account you use for client work, as many as you have, and assign each one to a client. That assignment is enforced in the database: an account belongs to exactly one client, so a meeting from it can never end up under two. Calendar sync uses push notifications with a watch channel the app renews itself, so a new invite shows up without you refreshing anything. Reconnecting an expired account is bound to the account you clicked, so Google's account chooser cannot attach the wrong address to the wrong client. Connecting a Microsoft account is not yet available; a Teams meeting is joined from its link when that link is in one of your Google calendar invites. The multi-account page has the detail.
2. The bot joins
About two minutes before the start, a participant called TrackHeros Notetaker joins the Meet or Teams call. You can give it a different name per client, and it can post a short greeting in the meeting chat when it arrives. It finds the link wherever the invitation hid it: the conference field, the location, or the free text of a forwarded Teams invite. Auto-join is decided at three levels, per meeting, per recurring series, then the account default, and the most specific one wins. The app shows you which level made the decision, so "why did it join my daily standup" has a one-line answer.
3. Notes land in the right client
When the recording is ready, the transcript is made in two passes. Platform captions come first, because they carry the real speaker names. Then an audio pass over the recording produces the authoritative text. The summary, decisions, milestones, action items and minutes are written from that transcript and stored in the client's workspace. A meeting that arrives without a client goes to a workspace called Unassigned, which follows exactly the same rules as every other one. It is a real workspace, not a loophole.
4. Ask later
Open a client and ask a question in plain language. The answer is drawn only from that client's meetings and comes with citations to who said it and when, each one linking to the moment in the recording. See ask your meetings.
What do you get after the call?
| Artefact | What is in it |
|---|---|
| Summary | A short account of the meeting. If the audio was unusable or in the wrong language, it says so instead of inventing one |
| Decisions | Each decision as a sentence, attributed to the people who made it |
| Discussion by topic | The conversation grouped by subject rather than by minute |
| Agenda | Taken from the invitation, or reconstructed from the conversation and marked as reconstructed |
| Milestones | Dated milestones as they were stated, so the release plan is readable at a glance |
| Action items | Owner as heard in the meeting, and a due date kept verbatim ("end of next week") and resolved to a date. An owner who was not in the meeting is flagged for you to verify |
| Transcript | Real speaker names from the captions. A line that cannot be attributed is marked Unknown, not guessed |
| Minutes | A formatted document in the client's template, exported as PDF or copied for email |
| Recording | Playable inside the app through short-lived, meeting-bound links. No public URLs |
Kept separate by design
Each client is a workspace, and a workspace is a wall rather than a folder. Every query the app runs is scoped to one client before it runs; a query without that scope is an error, not a request for everything. Postgres row-level security sits behind that as a second layer. The assistant that answers your questions only ever sees the client you are asking about. Read how it is built on the client isolation page, and what we do with your data in the privacy section of the homepage.
The one deliberate exception is a global, read-only view: a dashboard, a combined meeting list and calendar, action items across clients, and search. Every row is labelled with its client, and nothing can be changed from there. It exists so you can see your week without opening six accounts, not so that clients can see each other.
What did we agree on the API deadline?
That is the question you actually have on a Wednesday afternoon. In TrackHeros you open the client, type it, and get an answer along the lines of "the API freeze was agreed for the 14th; their backend lead asked for a two-day buffer for the auth changes", with each fact cited to the speaker and the timestamp. Click the citation and the recording plays from that moment. There are no credits to count and no monthly cap on questions.
Answers can be exported as Markdown, PDF or email-ready HTML, which is useful when the client asks the same question and you would rather send the cited version than your recollection.
Teaching it your project's vocabulary
Developers talk in identifiers, and a transcription model does not know yours. Each client workspace has correction rules of two kinds. A vocabulary rule maps a mishearing to the right term: "UBVA" to "UBA", or the model's spelling of a product name to the real one. An instruction rule tells the summariser something structural: ticket ids for this client always look like PROJ-123, or the staging environment is called "blue". Rules apply to every future meeting for that client, and a past meeting is fixed by re-summarising it. You can create one from a chat message or from "Propose a correction" on a meeting page. Because rules live inside one client's workspace, Client A's ticket prefix is never applied to Client B's transcript.
What do I send the client?
The minutes are a document rather than a paste of AI text: attendees, agenda, discussion by topic, decisions, milestones, and an action item table with owners and due dates. Each client has its own minutes template with a heading, one of five colour themes, and a switch for every section, so a client who only wants decisions and action items gets exactly that. Empty sections are dropped. Export as PDF to attach to an email, or use "Copy for email", which puts both HTML and plain text on the clipboard so it pastes cleanly into whatever mail client you use. Sending is up to you; nothing goes out on its own. More on the minutes page.
What happens when the bot misses a meeting?
A missed meeting is the failure that matters, so it is handled plainly. The bot tries to join about two minutes early. If the join fails, the meeting shows a retry button, and one click sends it again. The app refuses to send a second bot into a meeting that already has one, so a retry cannot put two notetakers in the call. Meetings that started more than ten minutes ago are not chased, because a bot arriving for the last five minutes is worse than none. If the bot was not admitted automatically it waits in the lobby like anyone else; the guide on joining meetings you do not host covers what to tell the organiser.
What happens when a contract ends?
Delete the client. The workspace is removed after a typed confirmation, and the cascade covers the database rows, the stored recordings and transcripts, and the copy held by the meeting-bot service. Object storage is non-versioned, so a delete is a delete. Backups expire on their normal rotation and are never restored into a live account. The same cascade applies to your whole account if you decide to leave. The guide to keeping client notes separate has a short routine for the start and end of each engagement.
Which languages does it handle?
English and Arabic, including conversations that switch between the two mid-sentence, which is how a lot of real meetings sound. The expected languages and the language the notes are written in are set per client, and a recurring English-only call learns to skip the extra audio work once it has been seen clean several times. Details on the Arabic and English page.
What does it not do yet?
The items below are the ones freelancers ask about most, and none of them exists today.
Not yet available
- Microsoft account and calendar syncNot yet available
- Push action items straight to Jira, ClickUp, and LinearNot yet available
Questions
Frequently asked
Do I have to connect every Google account at once?
No. Connect them one at a time and assign each to a client as you go. An account belongs to exactly one client, and you can add the next one whenever the next contract starts.
Does the bot need to be the meeting host?
No. It joins as a participant under its own name and, if it is not admitted automatically, waits to be let in like anyone else. If the client hosts the call, tell them to expect a participant called TrackHeros Notetaker, or whatever name you gave it for that client.
Does it join Microsoft Teams meetings?
Yes. A Teams meeting is joined from its link, and the link is found wherever the invitation put it, including a forwarded Teams invite that landed in one of your Google calendars. Connecting a Microsoft account for calendar sync is not yet available.
Can I ask a question across all my clients at once?
There is a read-only global chat mode that answers from your own meetings across clients. Every fact in the answer is labelled with the client it came from, and facts from different clients are never merged into one narrative. Nothing can be changed from global mode.
What if the transcript keeps getting a product name wrong?
Add a vocabulary rule in that client's workspace, mapping the mishearing to the right term. It applies to every future meeting for that client, and re-summarising fixes a past one. Rules can be created from a chat message or from the Propose a correction button on a meeting.
What happens to a client's data when the contract ends?
Delete the client workspace. After a typed confirmation the cascade removes the database rows, the stored recordings and transcripts, and the copy held by the meeting-bot service. Backups expire on their normal rotation and are never restored into a live account.
Privacy
Your meetings stay yours.
We never use your data to train AI models.
We never sell your data to anyone.
Your data is stored so we can build your workspace — for your eyes only.
Delete your account and everything goes with it. For good.
The full policy is on the privacy page.
Related
Keep reading
- FeaturesConnect multiple Google accounts to one meeting notetakerConnect every Google account you use to one meeting notetaker. Each account belongs to one client workspace, so meeting notes never mix.
- FeaturesClient workspaces that never mixEvery client's meetings, notes and transcripts live in a sealed workspace. Client data isolation is built into every query, not switched on.
- FeaturesSearch and ask across a client's meetingsAsk questions about past meetings in plain language and get cited answers, or search transcripts, summaries and action items across every client.
- GuidesHow to keep client meeting notes separate when you work with several clientsHow to keep client meeting notes separate when you work with several clients: one container per client, naming rules, what to do when a contract ends.
Early access
Get in early.
We’re onboarding a small group at a time so we can get it right. Join the list and we’ll reach out.