ESP32-S3 Bench Guide
ESP32‑S3 N16R8 벤치 가이드: 실시간 핀아웃, 강의, 시뮬레이터 및 벤치 로그
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Interview Coach Project
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Real-time AI commentary on interview answers. Listens to your mic, detects
the interviewer's questions, streams per-question commentary from DeepSeek,
and lets you replay the whole session afterwards with timestamped notes.
Current version uses the browser's built-in Web Speech API for transcription
(free, no extra API key needed). For a production deployment with longer
sessions and better multi-language accuracy, swap lib/audioSession.ts for
a Deepgram streaming implementation.README 전문 보기 ↗Real-time AI commentary on interview answers. Listens to your mic, detects the interviewer's questions, streams per-question commentary from GPT-6 Luna, and lets you replay the whole session afterwards with timestamped notes.
Current version uses the browser's built-in Web Speech API for transcription
(free, no extra API key needed). For a production deployment with longer
sessions and better multi-language accuracy, swap lib/audioSession.ts for
a Deepgram streaming implementation.
📘 Setting this up for the first time? See DEPLOY.md for step-by-step instructions on running locally, pushing to GitHub, and deploying to Vercel.
Browser mic
│
├─► MediaRecorder ─────────► Blob (saved for playback)
│
└─► Web Speech API ────► transcript stream
│
▼
┌─────────────────────────────┐
│ Orchestrator │
│ │
│ every final utterance → │
│ POST /api/detect-question │──► gpt-6-luna (is this a Q?)
│ │
│ every ~220 chars of answer →│
│ POST /api/commentary (SSE) │──► gpt-6-luna (streamed comment)
└─────────────────────────────┘
│
▼
Zustand store
│
▼
React UI
npm install
https://platform.openai.com/api-keys → Create new API key
cp .env.local.example .env.local
# Edit .env.local and paste your key
npm run dev
Open http://localhost:3000 in Chrome or Edge (Safari's Web Speech API is unreliable). Click Start, paste a JD, and start talking. First time, the browser will ask for microphone permission.
/api/detect-question.
GPT-6 Luna decides if it's a new question. If yes → a new Question
block appears at the top. If no → the utterance is added to the current
Question's running answer buffer./api/commentary. This
streams a one-sentence observation back via SSE; the frontend appends
deltas as they arrive.Click any past session in the sidebar. You get:
None. Sessions live in Zustand + memory only. Refresh the page and it's gone. This was a deliberate choice to ship faster — add IndexedDB or a backend DB later.
In lib/orchestrator.ts:
COMMENT_TRIGGER_CHARS (default 220) — how much new answer text
triggers a comment. Lower = more frequent, chattier.COMMENT_MIN_GAP_MS (default 8000) — minimum time between comments on
the same question, to prevent over-commenting during a long answer.Replace lib/audioSession.ts with a streaming version (it needs to:
open a wss://api.deepgram.com/v1/listen socket, pipe MediaRecorder
chunks into it, and call the same four callbacks). Add a
/api/deepgram-token route that mints short-lived project keys so the
browser never sees your main Deepgram key. Everything else stays the same.