Compare a vague team-level answer with a specific personal action and prepare a follow-up
HTML for this example
Select the code and use your copy shortcut. Changes in this preview are temporary.
<!doctype html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>Rehearse the part you can explain</title><style>*{box-sizing:border-box}body{margin:0;background:#eaf0f8;color:#172f4d;font:16px/1.65 system-ui,sans-serif}main{max-width:900px;margin:auto;padding:24px}h1{font-size:clamp(1.8rem,5vw,2.7rem);line-height:1.15}h2{font-size:1.35rem}.eyebrow{font-weight:750;text-transform:uppercase;letter-spacing:.1em;color:#4a668c}.panel{background:#fff;border:1px solid #c2d2e5;border-radius:12px;margin:18px 0;padding:22px}.actions{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}button,input,textarea{font:inherit}button{min-height:44px;padding:10px 14px;cursor:pointer;border:1px solid #4a6c98;border-radius:7px;color:#214572;background:white}button[aria-pressed=true],button.primary{background:#214d85;color:white}button:focus-visible,textarea:focus-visible{outline:3px solid #b25913;outline-offset:3px}blockquote{margin:14px 0;padding:16px;border-left:4px solid #4b76ab;background:#eef4fc}label{display:block;font-weight:650;margin-top:16px}textarea{display:block;width:100%;min-width:0;min-height:88px;padding:10px;border:1px solid #839aba;border-radius:6px;margin-top:5px}.notice{padding:13px;background:#e8f1ff;border-left:4px solid #376caf}pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit}.parts{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.parts button{font-weight:700}.muted{color:#4c6580}[hidden]{display:none!important}@media(max-width:550px){main{padding:16px}.panel{padding:16px}.parts{grid-template-columns:repeat(2,1fr)}}</style></head><body><main><p class="eyebrow">An interview practice notebook</p><h1>Rehearse the part you can explain</h1><p>Question: Tell me about a time you handled conflicting information while working with others.</p><section class="panel"><h2>One fictional volunteer-event example</h2><p>Two arrivals lists disagreed before doors opened. The applicant prepared check-in with a coordinator. No attendance percentage or time-saving measurement is supplied.</p><div class="parts"><button type="button" id="s" aria-pressed="true">S · Situation</button><button type="button" id="t" aria-pressed="false">T · Task</button><button type="button" id="a" aria-pressed="false">A · Action</button><button type="button" id="r" aria-pressed="false">R · Result</button></div><div id="part" class="notice" role="status">Situation: Two arrivals lists disagreed before the volunteer event. Give the listener enough context to understand the problem.</div><div class="actions"><button type="button" id="vague">Read vague answer</button><button type="button" id="clarified">Read clarified answer</button><button type="button" id="follow">Prepare the follow-up</button></div><blockquote id="answer">Before a volunteer event, I found that two arrivals lists did not agree. I was responsible for preparing a usable check-in list before the doors opened. I compared the lists with the coordinator and flagged names we could not yet resolve instead of deleting them. The coordinator confirmed the working list and an unresolved-name desk, so the remaining questions stayed visible for check-in.</blockquote><p id="followText" hidden></p></section>
<section class="panel"><h2>Your own practice answer</h2><p class="muted">Use a real experience when preparing for an interview. This public practice page keeps entries only in the current session.</p><label for="sInput">Situation · required</label><textarea id="sInput"></textarea><label for="tInput">My task · required</label><textarea id="tInput"></textarea><label for="aInput">My actions and others' roles · required</label><textarea id="aInput"></textarea><label for="rInput">Supported result · required</label><textarea id="rInput"></textarea><label for="notes">Follow-up notes and limits</label><textarea id="notes"></textarea><div class="actions"><button type="button" class="primary" id="build">Build rehearsal text</button><button type="button" id="reset">Reset practice</button></div><p class="notice" id="notice" role="status">The builder checks sections, not truth or interview quality.</p><pre id="output" hidden></pre><div id="resetPanel" hidden><p>Clear this practice answer?</p><button type="button" id="cancel">Keep answer</button> <button type="button" id="confirm">Clear answer</button></div></section><footer><p>No automatic score, hiring prediction, application submission, or invented metric. Keep team credit and limits in your account.</p></footer></main><script>
'use strict';const $=s=>document.querySelector(s);const parts={s:'Situation: Two arrivals lists disagreed before the volunteer event. Give the listener enough context to understand the problem.',t:'Task: Prepare a usable check-in list before doors opened. Name the responsibility assigned to the applicant.',a:'Action: The applicant compared both lists with the coordinator and flagged unresolved names rather than deleting them. This is the applicant\'s personal contribution, with team involvement retained.',r:'Result: The coordinator confirmed the working list and an unresolved-name desk. This supports the arrangement, not a measured time saving or whole-event success.'};for(const id of Object.keys(parts))$('#'+id).addEventListener('click',()=>{$('#part').textContent=parts[id];for(const key of Object.keys(parts))$('#'+key).setAttribute('aria-pressed',String(key===id))});const complete=$('#answer').textContent;$('#vague').addEventListener('click',()=>{$('#answer').textContent='We had some issues with lists, but we communicated well and made the event a success. — This omits the personal action and overstates the supplied outcome.'});$('#clarified').addEventListener('click',()=>{$('#answer').textContent=complete});$('#follow').addEventListener('click',()=>{$('#followText').hidden=false;$('#followText').textContent='Follow-up: What did you personally do, and what did the coordinator decide? Applicant compared and flagged; coordinator confirmed the arrangement. Time saved is not supplied. No invented lesson or metric is needed.'});const ids=['sInput','tInput','aInput','rInput','notes'];let built=false;for(const id of ids)$('#'+id).addEventListener('input',()=>{$('#output').hidden=true;$('#notice').textContent=built?'Answer changed. Rehearsal text is stale; build again.':'Practice answer changed.';$('#resetPanel').hidden=true});$('#build').addEventListener('click',()=>{const names=['Situation','My task','My actions','Supported result'];const missing=ids.slice(0,4).filter(id=>!$('#'+id).value.trim()).map(id=>names[ids.indexOf(id)]);if(missing.length){$('#notice').textContent='Complete: '+missing.join(', ')+'.';$('#output').hidden=true;return}$('#output').textContent=ids.slice(0,4).map(id=>$('#'+id).value).join('\n\n')+'\n\nFollow-up notes: '+($('#notes').value||'Not supplied');$('#output').hidden=false;$('#notice').textContent='Rehearsal text built. Read it aloud and check each claim against your actual experience; no quality score assigned.';built=true});$('#reset').addEventListener('click',()=>{$('#resetPanel').hidden=false;$('#notice').textContent='Reset requested. Choose whether to keep the answer.'});$('#cancel').addEventListener('click',()=>{$('#resetPanel').hidden=true;$('#notice').textContent='Reset canceled. Answer retained.'});$('#confirm').addEventListener('click',()=>{for(const id of ids)$('#'+id).value='';$('#output').textContent='';$('#output').hidden=true;$('#resetPanel').hidden=true;built=false;$('#notice').textContent='Practice answer cleared. The fictional example is unchanged.'});
</script></body></html>