1. First Time Setup

When you open Meeting Tools for the first time you will see the Welcome screen with three options:

Already a member? Choose Join Existing Club and enter your club's sync code. Roster, filler words, and the shared AI key will be ready in seconds.

2. Word of the Day

The W.O.D. feature uses ChatGPT (GPT-4o-mini) to provide intelligent, public-speaking flavored definitions.

AI Key Required. If your club officer has set up cloud sync, the key is shared automatically — you don't need to do anything.

3. Timer

Full-screen color cues for standard Toastmasters roles.

Presets

RoleGreenYellowRed
Table Topics1:001:302:00
Evaluation2:002:303:00
Ice Breaker4:005:006:00
Speech5:006:007:00
CustomSet your own Green / Yellow / Red in minutes

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

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:

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:

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.

Cloud sync required. Practice-only clubs will see a message instead of data. If the cloud query fails on first use, Firebase may need a one-time composite index — it will provide a direct link in the browser console.

6. Speech Recording & Transcription

Record a speaker, transcribe with OpenAI Whisper, and automatically detect filler words.

  1. On the Setup screen in Verbal mode, toggle Record Speech on.
  2. Enter the speaker name, select their role, tap START.
  3. 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.
  4. Tap Start Recording when the speaker begins.
  5. Tap End Speech when they finish — processing begins automatically with an elapsed timer showing progress.
  6. Tap Cancel at any time during processing to abort. After 2 minutes the button turns gold as a reminder it's still working.
  7. Processing times out automatically after 5 minutes if no response is received.
  8. Tap Merge to Counter to send detected counts to the tally.

Filler Score

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.

8. Progress Tracking

The Progress screen shows how speakers are improving their filler usage over time across multiple meetings.

Cloud sync required. Progress reads from Firestore session history. The screen will prompt you to enable sync if it isn't active.

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

  1. Tap + New Entry on the leaderboard.
  2. Select the meeting date using the date picker.
  3. Tap a member's name to open their role selection screen.
  4. Tap the roles they filled — the point tally updates live.
  5. Tap Save. The entry syncs to the cloud immediately.
Multiple roles: Members can hold multiple roles in one meeting. Points from all selected roles are added together and frozen at save time — changing role point values later does not affect past entries.

Default Point Values

RolePoints
Speaker15
Toastmaster10
Evaluator10
General Evaluator7
Joke Master5
Table Topics Master3
Timer2
Ah Counter2

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

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.

  1. Go to Settings → Clubs.
  2. Tap Enable Cloud Sync on your club.
  3. An 8-character sync code is generated (e.g. ABCD-EF3G).
  4. Share this code with your members — they use it on the welcome screen or via Settings → Clubs → Join by Code.
Keep the code safe. Anyone with the code can join your club and read your roster. Share it only with your club members. The sync code is masked by default in Club Manager — tap the 👁 icon to reveal it when needed.

What Syncs Automatically

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.

Step 1: Go to platform.openai.com and sign up or log in.
Step 2: Navigate to API Keys in the left sidebar.
Step 3: Click + Create new secret key, name it "Toastmasters App", copy the key — it starts with sk-....
Step 4: In Meeting Tools go to Settings → ChatGPT API Key, paste the key, and tap away from the field. It saves and syncs to the club immediately.

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:

  1. The URL: kevinpshan.github.io/TMTools
  2. 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.

Tip: On iOS, members can add the app to their home screen via Safari → Share → Add to Home Screen. This installs it as a PWA with a full-screen experience and no browser chrome.

5. Managing Filler Words

The filler word list is shared across all club members via cloud sync. Changes you make propagate automatically.

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

DataLocalCloud
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 dataNever

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.