페차쿠차

Pecha Kucha

슬라이드 20장을 각 20초씩, 자동으로 넘기며 정확히 6분 40초에 끝내는 발표 형식입니다.

다른 이름: 20x20PechaKucha Night
···
html
<div class="slide">
  <div class="mini" id="mini"></div>
  <div class="ringwrap">
    <svg viewBox="0 0 44 44" class="ring">
      <circle cx="22" cy="22" r="18" class="track"></circle>
      <circle cx="22" cy="22" r="18" class="prog" id="prog"></circle>
    </svg>
    <span class="cnt" id="cnt">20</span>
  </div>
  <p class="lbl" id="lbl"></p>
</div>
css
.slide{position:absolute;inset:6%;border-radius:clamp(6px,1.6vmin,14px);background:var(--surface);border:1px solid var(--line);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5%}
.mini{width:60%;height:32%;border-radius:8px;transition:background .3s ease}
.ringwrap{position:relative;width:22%;aspect-ratio:1}
.ring{width:100%;height:100%;transform:rotate(-90deg)}
.track{fill:none;stroke:var(--line);stroke-width:4}
.prog{fill:none;stroke:var(--accent-3);stroke-width:4;stroke-linecap:round;stroke-dasharray:113;stroke-dashoffset:0}
.cnt{position:absolute;inset:0;display:grid;place-items:center;font:800 clamp(10px,2.6vmin,14px)/1 monospace;color:var(--fg)}
.lbl{margin:0;font:700 clamp(9px,2.2vmin,12px)/1.2 -apple-system,sans-serif;color:var(--muted)}
js
const prog = document.getElementById('prog');
const cnt = document.getElementById('cnt');
const mini = document.getElementById('mini');
const lbl = document.getElementById('lbl');
const colors = ['var(--accent)', 'var(--accent-2)', 'var(--accent-3)'];
const L = { ko: (i) => '슬라이드 ' + i + ' / 20 · 20초', en: (i) => 'Slide ' + i + ' / 20 · 20s' };
const DUR = 2200;
let slideN = 1, lang = 'ko', tickTimer = null;
function startSlide() {
  mini.style.background = colors[(slideN - 1) % colors.length];
  lbl.textContent = L[lang](slideN);
  prog.style.transition = 'none';
  prog.style.strokeDashoffset = '0';
  void prog.getBoundingClientRect();
  prog.style.transition = 'stroke-dashoffset ' + DUR + 'ms linear';
  prog.style.strokeDashoffset = '113';
  let secLeft = 20;
  cnt.textContent = String(secLeft);
  clearInterval(tickTimer);
  tickTimer = setInterval(() => {
    secLeft -= 1;
    if (secLeft < 0) return;
    cnt.textContent = String(secLeft);
  }, DUR / 20);
}
function nextSlide() {
  slideN = (slideN % 20) + 1;
  if (slideN === 1) lang = lang === 'ko' ? 'en' : 'ko';
  startSlide();
}
startSlide();
setInterval(nextSlide, DUR);

페차쿠차는 2003년 도쿄에서 건축사무소 클라인 다이섬 아키텍처(Klein Dytham architecture)의 아스트리드 클라인과 마크 다이섬이 만든 발표 형식이다. 슬라이드가 20초마다 자동으로 넘어가기 때문에 발표자는 한 슬라이드에서 머뭇거릴 수 없고, 청중도 지루할 틈이 없다.

데모는 슬라이드가 자동으로 넘어가는 리듬을 압축해서 보여준다 — 원형 타이머가 줄어들다가 0에 닿으면 다음 슬라이드로 바로 넘어간다. 발표자가 아니라 슬라이드가 시간을 통제한다는 게 핵심이다.

체크리스트: 슬라이드 20장, 슬라이드당 20초를 지켰는가(총 6분 40초), 전환을 발표자가 아니라 자동 타이머에 맡겼는가, 20초 안에 말할 분량으로 대본을 미리 맞춰봤는가.

언제 쓰나

짧고 빠른 라이트닝 토크, 디자인 스튜디오 밤 행사, 데모 나이트처럼 시간 엄수가 핵심인 자리에 씁니다.