Full-Time MBA Program · David Eccles School of Business
A self-guided, browser-based coaching tool for mastering the "Tell Me About Yourself" (TMAY) question that opens most corporate, consulting, tech, and leadership development interviews. Students learn the 4-Part Blueprint, practice aloud with live speech analytics, get a 0–100 score from an AI coach against a weighted rubric, and track their progress over time on a saved-history chart.
Single HTML file. No build step, no server, no accounts. One external dependency: Chart.js via pinned CDN (progress chart only — the tool degrades gracefully without it).
▶ Live tool: Intv Playbook – TMAY (vC)
- TMAY Guide — learn the 4-Part Blueprint the AI coach scores against, delivery pro-tips, and three model answers (Career Switcher, Fast Tracker/LDP, Tech PM Explorer). References, not scripts to recite.
- Record & Prompt — optionally draft in the Script Builder, pick your Interview Track (colors your chart), then press ▶ Start Audio Practice and deliver your answer aloud. Natural pauses are fine — the recorder runs through silence until you stop it. Then Assemble AI Evaluation Prompt → Copy Coaching Prompt.
- Paste Feedback — paste the prompt into one AI tool (Claude, ChatGPT, or Gemini — pick one and stick with it; different tools score differently and consistency is what makes your chart meaningful). Copy the AI's full response and paste it back. The score auto-fills from the
SCORE: NN/100line; edit if needed; Save Feedback. The "Saving against" chip shows exactly which run (date · track · words) your feedback attaches to. - Saved History — the progress chart appears after two scored runs, with points and segments colored by track. Below it, every entry: score badge, transcript, full feedback, delivery metrics.
| Blueprint part | Points |
|---|---|
| 1. Opening Gratitude & Target Hook | 10 |
| 2. The Strong Headline (Through-line) | 30 |
| 3. The Highlight Reel | 30 |
| 4. Future-Focused Alignment | 30 |
Delivery mechanics (duration, WPM, fillers) are coached but not scored — they come back as unscored "Delivery Notes," so scores stay comparable whether you recorded aloud or typed. The rubric instructs the AI to grade strictly: most first attempts land 55–75, and 90+ is reserved for near-flawless answers. A 65 is a normal starting point, not a failure. The trend line matters more than any single number.
Duration 60–90 seconds · Pace 130–150 WPM (red >160, gold <110) · Fillers 0 (um, uh, like, so, you know, basically — flags every occurrence including legitimate uses; a review signal, not an absolute score).
| Action | Effect |
|---|---|
| Delete this entry | Removes one transcript + feedback. Chart point stays. |
| Clear Progress Chart | Removes chart points. Saved feedback stays. |
| Clear All History | Removes everything. |
| Export / Import (JSON) | Backup and merge with automatic duplicate-skipping. |
History lives only in this browser on this device (~5 MB; a storage meter warns as it fills). No cloud backup by design — export regularly.
The transcript area becomes editable — type or paste your script. Duration/WPM are marked "not recorded" so the AI evaluates content only. (Firefox always; Safari sometimes.)
The page transmits nothing — no server, no analytics. Speech-to-text uses the browser's built-in recognition service, which in some browsers (notably Chrome) processes audio on the vendor's servers; use typed input for anything confidential. Content pasted into an external AI assistant is governed by that assistant's terms.
| Problem | Fix |
|---|---|
| "Speech API Unavailable" | Use Chrome/Edge, or type your script directly. |
| Mic permission denied | Allow via address-bar site settings, reload. |
| Chart not showing | Needs 2+ scored runs and an internet connection for the chart library. Scores still listed below. |
| Score dropped despite a better run | Cross-AI variance + strict rubric. Same AI every time; read the feedback, not just the number. |
| "Could not save — storage is full" | Export a backup, delete old entries, retry. |
| History gone on a new computer | Per-browser storage. Use Export/Import. |
| Copy button fails | Clipboard is often blocked on file:// pages. Copy manually or use the hosted URL. |
The tool is one file. Publish via GitHub Pages: commit as index.html on the default branch of tmay-playbook_vc, enable Settings → Pages → Deploy from a branch (root), and share https://<org>.github.io/tmay-playbook_vc/. Edits via GitHub's web editor go live on the next Pages build. Distribute the hosted URL, not the raw file — clipboard and microphone permissions behave more reliably over HTTPS.
Chart.js is loaded from a pinned cdnjs URL (Chart.js/4.4.1/chart.umd.min.js). If the CDN is unreachable, renderChart detects typeof Chart === 'undefined' and shows a plain-text notice; all other functionality is unaffected. To upgrade, change the version in the <script src> tag and re-test the chart.
Two independent localStorage stores (namespaced to avoid collisions with other suite tools):
tmayHistory— full records, newest first:{ dateISO, date, track, transcript, feedback, score, duration, wpm, fillers, measured, rubricVersion }tmayScoreLog— lightweight chart points, oldest first:{ dateISO, date, score, track, rubricVersion }
Separate stores are what make "delete an entry but keep its chart point" and "clear the chart but keep feedback" possible. Every record is stamped with RUBRIC_VERSION (TMAY-rubric-v1.0) so scores remain interpretable if the rubric changes later. Export bundles are { tool: "eccles-tmay-playbook", version: 1, exportedAt, history, scoreLog }; import accepts bundles (or, defensively, a plain entry array), merges with dedup keys built from dateISO + transcript prefix + score, and re-sorts both stores.
| To change… | Find… |
|---|---|
| Rubric weights, anchors, output format | const macroPrompt inside generateAiPrompt — also bump RUBRIC_VERSION |
| Score auto-extraction pattern | autoExtractScore (regex expects SCORE: NN/100) |
| Interview tracks & chart colors | const trackColors and the #track-select options (keep them in sync) |
| Model answers / add an archetype | id="tpl-*" cards; new button onclick="switchArchetype('<name>', this)" |
| Filler word list | const fillerWordsList (also the regex in pushToSandbox) |
| WPM / duration thresholds | updateTimerAndMetrics, evaluatePacingAndMetrics (160/110, 90/45) |
| Storage warning thresholds | updateStorageMeter (60% / 85%) and STORAGE_BUDGET_BYTES |
| Branding / titles | <title>, .logo-text, prompt persona line in macroPrompt, .site-footer |
| Theme colors | CSS custom properties in :root (--red: #CC0000, etc.) |
- Stale-snapshot prevention:
pendingRunfreezes date/track/transcript/metrics at prompt-assembly time;saveFeedbacksaves that snapshot, not the live sandbox state. (Lesson imported from the Networking Pitch Coach build, where save-time snapshots were a bug.) - Silence handling: browsers auto-stop speech recognition after a few seconds of silence;
onendauto-restarts unlessuserStoppedis true. The session timer initializes intoggleRecording, deliberately not inonstart, so restarts don't reset the clock. - Metric honesty:
metricsAreEstimated(builder push) andtypedMode(no speech API) annotate the prompt; the rubric explicitly tells the AI to skip delivery analysis rather than invent it. - XSS: all user-originated content rendered into history is passed through
escapeHTML. - Quota: all writes go through
trySetItem, which catches quota errors and directs the student to export + prune.
Weights (10/30/30/30) were set by program staff in July 2026. Delivery & Mechanics is deliberately excluded from the score so results are comparable across recorded, estimated, and typed input modes. The scoring anchors and the "most first attempts land 55–75" instruction exist to counter AI grade inflation; they are uncalibrated against a real cohort — expect to tune after pilot use. Cross-model score variance is real: coaches should tell students to use one AI tool consistently and treat the trend, not the level, as the signal.
- Filler detection false-positives on "so" and "like" (every occurrence counts).
- Speech recognition is
en-USonly; Safari support is inconsistent (falls back to typed input). - Word Count includes interim recognition results, so it can flicker during recording.
- Chart requires network access once per session (pinned CDN).
- Score comparability across different AI tools is not guaranteed (see Rubric governance).
v2.0 — July 2026
- Restructured into the four-tab workflow (Guide / Record & Prompt / Paste Feedback / Saved History), matching the Networking Pitch Coach experience; sidebar and mobile drawer replaced by the top tab bar.
- Added 0–100 scoring: weighted rubric (Hook 10 / Headline 30 / Highlight Reel 30 / Future Focus 30,
TMAY-rubric-v1.0) with per-dimension anchors and anti-inflation instruction;SCORE: NN/100output contract with auto-extraction on paste-back. - Added saved history: dual localStorage stores (
tmayHistory/tmayScoreLog), per-entry delete that preserves chart points, separate chart-only and full clears, JSON export/import with dedup, storage meter with tiered warnings, quota-safe writes, XSS-escaped rendering, rubric version stamping. - Added Chart.js progress chart (pinned CDN, graceful degradation), track selector (General / Career Switcher / Fast Tracker LDP / Tech PM) coloring points and segments, custom legend, tooltips with score · track · date.
- Added
pendingRunsnapshotting so saved records match exactly what the AI evaluated; track changes regenerate the prompt without re-recording. - Delivery & Mechanics moved from scored dimension to unscored "Delivery Notes."
v1.1 — July 2026
- Fixed: Tech PM tab button missing its parameter; invalid
gap: 1frCSS; recording silently ending on natural pauses; fabricated Push-to-Sandbox metrics (now labeled estimates); false "100% local" privacy claim; "asset assets" typo. - Added: mobile nav drawer (superseded in v2.0), standard footer, unified program branding, typed-input polish, clipboard-failure fallback.
v1.0 — July 2026
- Initial build: framework sections, model answer bank, script builder, speech analytics sandbox, AI prompt generator.
Developed by Cory Burk, Senior Manager, Program Management · Full-Time MBA Program · David Eccles School of Business. © 2026 University of Utah, David Eccles School of Business. All rights reserved.