ESP32-S3 Bench Guide
ESP32‑S3 N16R8 벤치 가이드: 실시간 핀아웃, 강의, 시뮬레이터 및 벤치 로그
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
An AI-powered coding interview coach that guides your thinking — never gives you the answer.
CodeWhisper is a native desktop overlay application for developers who want to get genuinely better at coding interviews — not just memorize solutions. It sits on top of your screen while you tackle LeetCode, HackerRank, or any interview problem, reads the problem via OCR, and coaches you using the Socratic method: asking targeted questions that push you toward the solution yourself rather than handing it to you.README 전문 보기 ↗An AI-powered coding interview coach that guides your thinking — never gives you the answer.
CodeWhisper is a native desktop overlay application for developers who want to get genuinely better at coding interviews — not just memorize solutions. It sits on top of your screen while you tackle LeetCode, HackerRank, or any interview problem, reads the problem via OCR, and coaches you using the Socratic method: asking targeted questions that push you toward the solution yourself rather than handing it to you.
Instead of copy-pasting hints from a blog post or watching someone walk through the solution, CodeWhisper acts as a mentor sitting next to you — probing your thinking, surfacing what you already know, and escalating guidance only when you're truly stuck. The result is real understanding, not pattern-matching.
Built with Tauri 2.0, CodeWhisper runs locally and privately. Your code sessions and conversation history stay on your machine. Only your API calls to Claude leave the device.
| Layer | Technology |
|---|---|
| Desktop framework | Tauri 2.0 |
| Backend | Rust |
| Frontend | React 18 + TypeScript |
| Build tool | Vite 5 |
| Styling | Tailwind CSS 3 |
| State management | Zustand 5 |
| AI coaching | Claude API (Anthropic) |
| OCR | Tesseract via rusty-tesseract |
| Local database | SQLite via SQLx |
| Auth | Supabase |
| Payments | Stripe (via Supabase Edge Functions) |
devDependencies, installed via npm installbrew install tesseract
# Clone the repo
git clone https://github.com/your-username/codewhisper.git
cd CodeWhisper
# Install JS dependencies
npm install
# Copy and fill in environment variables
cp .env.example .env
# Edit .env with your Supabase credentials
# Run in development mode (opens the desktop overlay)
npm run tauri:dev
# Build for production
npm run tauri:build
VITE_SUPABASE_URL=your_supabase_project_url
VITE_SUPABASE_ANON_KEY=your_supabase_anon_key
Your Anthropic API key is entered directly in the app's Settings panel and stored locally — it is never sent to any backend other than the Claude API itself.
The hint system is designed to give you the minimum help you actually need.
| Level | Name | What it gives you |
|---|---|---|
| 1 | Nudge | A Socratic question about constraints or edge cases |
| 2 | Pattern Hint | Hints at the algorithm category without naming it |
| 3 | Approach Hint | Names the pattern and asks how you'd apply it |
| 4 | Pseudocode | Gives structural scaffolding — never actual code |
┌─────────────────────────────────────────────────────────────┐
│ Your Screen │
│ ┌──────────────────────┐ ┌──────────────────────────┐ │
│ │ LeetCode / Browser │ │ CodeWhisper Overlay │ │
│ │ │ │ ┌────────────────────┐ │ │
│ │ Two Sum │───▶│ │ Problem (OCR'd) │ │ │
│ │ Given an array... │ │ │ Coach / Hints │ │ │
│ │ │ │ │ Pattern Library │ │ │
│ └──────────────────────┘ │ └────────────────────┘ │ │
│ └──────────────────────────┘ │
└─────────────────────────────────────────────────────────────┘
Screenshot ──▶ Tesseract OCR ──▶ Claude API
CodeWhisper/
├── src/ # React + TypeScript frontend
│ ├── components/
│ │ ├── Overlay/ # Window shell (TitleBar, TabBar, CollapsedBubble)
│ │ ├── ChatPanel/ # AI coach conversation UI
│ │ ├── ProblemPanel/ # Problem input + OCR trigger + AI analysis
│ │ ├── HintPanel/ # 4-level hint ladder
│ │ ├── PatternLibrary/ # 10 built-in algorithm patterns
│ │ ├── Session/ # Session history viewer
│ │ ├── Auth/ # Settings modal (API key, license key)
│ │ └── Subscription/ # Upgrade prompt / paywall UI
│ └── stores/ # Zustand state (appStore, sessionStore)
├── src-tauri/ # Rust backend (Tauri 2.0)
│ └── src/commands/
│ ├── screen.rs # Screenshot capture + OCR via Tesseract
│ ├── claude.rs # Claude API streaming integration
│ └── database.rs # SQLite session/message CRUD via SQLx
└── supabase/
└── functions/ # Supabase Edge Functions
├── create-checkout/ # Stripe checkout session creation
├── stripe-webhook/ # Stripe webhook handler + license activation
└── get-license/ # License key validation
| Plan | Price | Sessions |
|---|---|---|
| Free | $0 | 3 sessions |
| Pro | $9 / month | Unlimited |
| Lifetime | $79 one-time | Unlimited, forever |
After purchase, enter your license key in Settings → License to unlock unlimited sessions.
cpal)whisper-rsPull requests are welcome. For major changes, open an issue first to discuss what you'd like to change.
# Run frontend only (no Rust build needed)
npm run dev
# Run full app with Rust backend
npm run tauri:dev
# Type-check frontend
npx tsc --noEmit
MIT — see LICENSE for details.