1. First Time Setup
When you open Meeting Tools for the first time you will see the Welcome screen with three options:
- Join Existing Club — your club is already using Meeting Tools. Ask your officer for the 8-character sync code and enter it here. Your roster, filler words, and AI key download automatically.
- Create New Club — setting up Meeting Tools fresh for your club. You can enable cloud sync later.
- Just Exploring — opens the app using the built-in TEST CLUB with sample speakers. Nothing you do here affects real club data.
2. Word of the Day
The W.O.D. feature uses ChatGPT (GPT-4o-mini) to provide intelligent, public-speaking flavored definitions.
- Random: Tap Random to pick from a library of over 1,000 sophisticated words.
- Search: Type any word and tap 🔍 to fetch a custom AI definition and usage sentence.
- Select: Tap Select to activate the word. It pins to the top of the Ah-Counter tally grid with a gold WORD OF DAY badge and is highlighted in gold during transcription. The word is also written to Firestore so it appears automatically at the top of the Cloud Meeting Report for any device that opens it today.
3. Timer
Full-screen color cues for standard Toastmasters roles.
Presets
| Role | Green | Yellow | Red |
|---|---|---|---|
| Table Topics | 1:00 | 1:30 | 2:00 |
| Evaluation | 2:00 | 2:30 | 3:00 |
| Ice Breaker | 4:00 | 5:00 | 6:00 |
| Speech | 5:00 | 6:00 | 7:00 |
| Custom | Set your own Green / Yellow / Red in minutes | ||
- Reset — stops and restarts the clock from zero for the same speaker.
- Pause / Resume — freezes and resumes without losing elapsed time. Button label toggles between PAUSE and RESUME.
- Commit & Exit — saves to the meeting report and returns to menu.
4. Verbal & Filler Words
Track filler words for any speaker in any role.
Default Filler Words
Every club starts with: AH, UH, UM, ER, SO, LIKE, YOU KNOW, plus a Word of the Day placeholder.
Tracking
- Tap any card to increment the count.
- Tap − (bottom right) to decrement.
- Tap red ✕ (bottom left) to remove a filler from this session.
- If you save the same speaker twice in one meeting, counts are merged automatically.
Adding a Word On The Fly
During a live tracking session, tap the + ADD WORD card at the end of the tally grid to add a filler word you just heard. The word is immediately counted as 1. A toggle lets you save it permanently to the club list (on by default).
Full Name Tip
Use full names (First Last) when adding speakers — this ensures accurate tracking when multiple members share a first name.
Filler Scoring (Manual Sessions)
When you tap SAVE RESULTS, the app automatically estimates a filler score based on how long the session ran:
- 15 seconds or longer — a score card appears showing filler percentage, rate per minute, and an EXCELLENT / GOOD / NEEDS WORK rating. Word count is estimated at 130 words per minute and the result is labeled estimated.
- Under 15 seconds — raw counts are saved with no score. This protects against accidental early saves where an estimate would be meaningless.
Scored manual sessions appear in the Progress tracker with the same color-coded percentage as transcribed sessions. The score also writes to Firestore and appears in the Cloud Meeting Report.
5. Meeting Report
Access via Timing → Meeting Report or Verbal → Counter Report.
This Device Tab
Shows all sessions recorded on this device during the current meeting — same Name | Role | Result format as before.
☁ Cloud Tab
Queries Firestore for every session recorded across all club devices today. Results are split into two sections:
- ⏱ Timing Report — Name | Role | Time | By
- ✍ Counter Report — Name | Role | Total Fillers | Breakdown | By
The Word of the Day appears at the top if it was selected today. A ↺ Refresh button re-queries Firestore while the meeting is still in progress. Copy and Share work on whichever tab is active — useful for the VP-PR assembling the newsletter after the meeting.
6. Speech Recording & Transcription
Record a speaker, transcribe with OpenAI Whisper, and automatically detect filler words.
- On the Setup screen in Verbal mode, toggle Record Speech on.
- Enter the speaker name, select their role, tap START.
- The app checks your connection automatically. A yellow banner means slow connection — transcription may take longer or fail. A red banner means no connection — use manual filler counting instead.
- Tap Start Recording when the speaker begins.
- Tap End Speech when they finish — processing begins automatically with an elapsed timer showing progress.
- Tap Cancel at any time during processing to abort. After 2 minutes the button turns gold as a reminder it's still working.
- Processing times out automatically after 5 minutes if no response is received.
- Tap Merge to Counter to send detected counts to the tally.
Filler Score
- Under 5% — Excellent
- 5–10% — Good
- Over 10% — Needs Work
Filler words appear in red. The Word of the Day appears in gold.
7. Transcripts
Every transcribed speech is saved for the current meeting so you can share it with the speaker.
- Access: Verbal menu → Transcripts.
- View: Tap any speaker to open their highlighted transcript with filler summary and score.
- Share: Tap Share to send via email, Messages, Slack, or any app.
- Cleared with meeting data: Transcripts reset when you tap Clear Meeting Data in Settings.
8. Progress Tracking
The Progress screen shows how speakers are improving their filler usage over time across multiple meetings.
- Each speaker shows their latest filler rate, trend (↑ ↓ →), and session count.
- Tap any speaker for full history — Latest, Average, Best, and session-by-session log.
- Only current roster members appear. Deleted members' history is preserved in the cloud but hidden from the list.
- Each session shows who recorded it and when. Tap ✕ to delete a session that was entered in error.
9. PACE — Participating and Achieving Competence and Excellence
PACE tracks each member's participation across the Toastmasters year (July 1 – June 30). Every role filled at a meeting earns points toward the 100-point annual goal.
Viewing the Leaderboard
Tap Club in the bottom tab bar, then tap PACE. The leaderboard shows all members ranked by total points for the current TM year, with color-coded progress bars — green for 100+ points, gold for 50–99, blue for under 50. Tap the ‹ and › arrows to view prior years.
Tapping a Member
Tap any member row to see their full history for the selected year — total points, meeting count, progress toward goal, and a chronological list of every entry. Tap any entry to edit or remove it.
Entering Meeting Roles
- Tap + New Entry on the leaderboard.
- Select the meeting date using the date picker.
- Tap a member's name to open their role selection screen.
- Tap the roles they filled — the point tally updates live.
- Tap Save. The entry syncs to the cloud immediately.
Default Point Values
| Role | Points |
|---|---|
| Speaker | 15 |
| Toastmaster | 10 |
| Evaluator | 10 |
| General Evaluator | 7 |
| Joke Master | 5 |
| Table Topics Master | 3 |
| Timer | 2 |
| Ah Counter | 2 |
Role Manager
Officers can customize role names and point values via Roles ⚙ on the leaderboard. Changes sync to all club members. Past entries are not affected by point value changes.
Embedding on Your Club Website
Tap Embed ↗ on the leaderboard to get ready-to-paste HTML snippets for a ranked leaderboard or bar chart widget. Paste either snippet anywhere on your club website — no setup required, data updates automatically.
10. Settings
- Your Name — the name recorded on session reports and PACE entries. Set once on first use; tap to edit at any time.
- Markdown Export — reports and transcripts use markdown formatting for Slack and email.
- ChatGPT API Key — pre-filled automatically if your officer set one up via cloud sync.
- Backup Data — downloads a JSON file as an emergency restore.
- Restore Data — imports a previously exported backup.
- Clear Meeting Data — resets logs, transcripts, and WOD. Does not delete roster or filler words.
- Stale Data Warning — if you open the app and meeting data from 3 or more hours ago is still present, a yellow banner appears on the menu screen reminding you to clear before starting a new meeting.
1. Setting Up Your Club
When you first open the app, tap Create New Club on the welcome screen and enter your club name. Leave Practice Only off — you'll want cloud sync for a real club.
If you just want to explore before committing, tap Just Exploring to use the built-in TEST CLUB with sample data. You can create your real club later via Settings → Clubs.
2. Enabling Cloud Sync
Cloud sync keeps your roster and filler words current across all members' devices automatically — no manual sharing needed.
- Go to Settings → Clubs.
- Tap Enable Cloud Sync on your club.
- An 8-character sync code is generated (e.g.
ABCD-EF3G). - Share this code with your members — they use it on the welcome screen or via Settings → Clubs → Join by Code.
What Syncs Automatically
- Speaker roster — any add or delete pushes instantly
- Filler word list — any change pushes instantly
- ChatGPT API key — shared once, available to all members
- Session history — every committed session writes to Firestore for Progress tracking
Manual Push / Pull
The Push ↑ and Pull ↓ buttons in Club Manager force a full sync if needed. Under normal use you should never need them — auto-sync handles everything.
Practice Clubs
Clubs marked Practice Only never write to Firestore. The built-in TEST CLUB is always practice-only. You can create additional practice clubs for demos or training via Settings → Clubs → New Club with the Practice Only toggle on.
3. Setting Up the AI Key
One officer sets up the key once. It syncs to all members automatically via cloud sync.
sk-....Cost
GPT-4o-mini (W.O.D.) and Whisper (transcription) are extremely inexpensive. A full meeting's worth of usage will typically cost less than $0.05. OpenAI provides free credit to new accounts.
Revoking the Key
If needed you can delete the key at platform.openai.com at any time and generate a new one. Update the new key in Settings and it will sync to all members.
4. Onboarding New Members
The process is simple — members need only two things:
- The URL: kevinpshan.github.io/TMTools
- The sync code from you
They open the app, tap Join Existing Club, enter the code, and everything downloads automatically — roster, fillers, and AI key. They are ready to use the app immediately.
5. Managing Filler Words
The filler word list is shared across all club members via cloud sync. Changes you make propagate automatically.
- Go to Settings → Filler Words to add, rename, or delete words.
- Any change pushes to Firestore immediately.
- All members' apps update the next time they open the app or switch clubs.
The default list is: AH, UH, UM, ER, SO, LIKE, YOU KNOW. Customize it to match what your Toastmaster chapter tracks.
6. Data Management
What Lives Where
| Data | Local | Cloud |
|---|---|---|
| Speaker roster | ✓ | ✓ (synced) |
| Filler word list | ✓ | ✓ (synced) |
| API key | ✓ | ✓ (synced) |
| Session history | — | ✓ (Progress screen) |
| Word of Day (today) | ✓ | ✓ (Cloud Report) |
| Meeting logs | ✓ | — |
| Transcripts | ✓ (meeting only) | — |
| Practice club data | ✓ | Never |
Backup & Restore
Settings → Backup Data exports a JSON file with the active club's roster, fillers, and API key. Use this as an emergency restore — not as a primary sync mechanism (cloud sync handles that).
Clear Meeting Data
Resets all logs, transcripts, and the selected W.O.D. for the next meeting. Does not delete the roster, filler words, or cloud session history.
7. Developer Resources
Full technical documentation, test cases, and release history are available below. These are intended for the developer maintaining the codebase.